![]() ![]() You need to find other third-party parsers of type 2 for the other format you plan on supporting. I suppose you found Geraint's ASF parser for ASF (a.k.a. Some third-party parsers and the stock WindowsMedia parsers are implemented as type 1 for several reasons and in those cases there is no way to reuse them to read from a data source other than what they support internally, unless they also support some custom interface for this purpose. Most stock parsers are of type 2 and can work with your async reader. a parser filter that pulls data from a reader upstream, parses it and pushes it downstream a push source filter that reads and parses the data and pushes it downstreamĢ. You can use only chunked encoding (for sending) when sending IStream input types. There are 2 standard ways to feed data to a graph:ġ. The acceptable VARIANT input types are BSTR, SAFEARRAY of UI1 (unsigned bytes), IDispatch to an XML Document Object Model (DOM) object, and IStream. However there are some formats I cannot get to play, that play fine in windows media player and media player classic (which I assume means the codecs are installed for them). OK, It's now working - I found the parser for asf files that solved the problem of how to play these, and I found that by setting the media subtype on some file formats (avi, au, ogg and ogm) I could get them to play as well. Now the question is how do I proceed - AFAICT, there is no simple mechanism built into DirectShow to read from an IStream instead of from a file? Can any one give me an overview of what I need to do to be able to play any format supported by installed codecs on the users machine? Or if DirectShow is not the solution, point me at an alternative? I do receive the filename of the data on the remote machine and I can seek to any position in the file and read a block of data. The second gotcha is that I do not know what format the data is in ahead of time. I can provide an IStream interface to the data. ![]() The first gotcha is that the media does not exist as files on the users machine - they are downloaded from remote machines and need to be played as they are downloaded. However there are several gotchas in the requirements, that are making it difficult for me to know where to begin - I think Direct~Show is the answer, but am not sure how to proceed. 280 setting of a status flag see the sentry documentation for more. This has several effects, concluding with the. I need to come up with a solution to play audio and video in our application. 278 std::basicistream::sentry with the second argument (noskipws) 279 set to true. Warning - I'm a complete beginner at DirectShow. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |