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. |
The IAsyncReaderinterface allows multiple overlapped reads from different positions in the media stream. This interface is supported by source filters.
Note that during connection an output pin supporting the IAsyncReadershould check whether its QueryInterfacemethod is called asking for the IAsyncReaderinterface. If it is not, then the output pin should fail the connect unless it establishes some other transport to use during the connection.
When to Implement
Implement this interface on a pin if your filter reads data of media type MEDIATYPE_Stream from some source.
When to Use
A parser, such as an Apple QuickTime parser filter, can use this interface to read from a filter that reads from a file, the network, or memory.
Methods in Vtable Order
IUnknown methods | Description |
---|---|
QueryInterface | Retrieves pointers to supported interfaces. |
AddRef | Increments the reference count. |
Release | Decrements the reference count. |
IAsyncReader methods | Description |
RequestAllocator | Retrieves the actual allocator to be used. |
Request | Queues a request for data. |
WaitForNext | Blocks until the next sample is completed or the time-out occurs. |
SyncReadAligned | Performs an aligned synchronized read. |
SyncRead | Performs a synchronized read. |
Length | Retrieves the total length of the stream, and the currently available length. |
BeginFlush | Causes all outstanding reads to return. |
EndFlush | Ends the flushing operation. |