Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This section describes how source filters generate media samples.
In the push model, the source filter initiates the process, as follows:
At this point, the downstream filter might hold a reference count on the sample, so the source filter cannot simply re-use the sample. To deliver the next sample, it must call IMemAlloctor::GetBufferagain, as described in step 1.
Note To deliver multiple samples, in step 3 the source filter could call IMemInputPin::ReceiveMultipleinstead.
In the pull model, the parser filter requests data from the source filter. The parser filter uses the IAsyncReaderinterface on the source filter's output pin, as follows:
Steps 2–3 perform an asynchronous read operation. The parser can request a synchronous read operation instead, using the IAsyncReader::SyncReador IAsyncReader::SyncReadAlignedmethod.
Last updated on Tuesday, May 18, 2004