WM ASF Reader Filter (Windows Media Format 11 SDK)

[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

When given the name of an ASF file or a URL, the WM ASF Reader reads the compressed content, parses the streams, and exposes an output pin for each one. This filter connects downstream to the Windows Media Audio or Windows Media Video DMOs, which do the decompression. Seeking is supported if the ASF file is seekable. The WM ASF Reader applies time stamps to the media samples based on the time stamp in the ASF file, but it does not modify the time stamps in any way. Internally, the filter uses the Windows Media Format reader object to read the Windows Media–based content.

Note

In the DirectX SDK, this filter is not the default source filter for ASF files, so with that SDK you cannot use this filter with the RenderFile method; you must explicitly add it to the filter graph by using its class identifier (CLSID). This behavior is different with the Windows Media Format SDK. When you install the Windows Media Format SDK runtime libraries, the WM ASF Reader is registered as the default filter for ASF files.

 

The following table contains information about the WM ASF Reader filter, such as the interfaces and media types it supports.

Filter Information Types
Filter interfaces IBaseFilter, IFileSourceFilter, IServiceProvider, IWMHeaderInfo, IWMReaderAdvanced (partially implemented. See Remarks.), IWMReaderAdvanced2 (partially implemented), IWMDRMReader (through IServiceProvider)
Input pin media types Not applicable
Input pin interfaces Not applicable
Output pin media types MEDIATYPE_Video, MEDIATYPE_Audio, MEDIATYPE_ScriptCommand, MEDIATYPE_FileTransfer
Format type VIDEOINFOHEADER2 if content is interlaced, otherwise VIDEOINFOHEADER
Output pin interfaces IMediaSeeking, IAMWMBufferPass, IServiceProvider, IWMStreamConfig2 (through IServiceProvider)
Filter CLSID CLSID_WMAsfReader
Property Page CLSID No property page
Executable Qasf.dll
Merit MERIT_UNLIKELY
Filter Category CLSID_LegacyAmFilterCategory

 

Remarks

The WM ASF Reader partially implements the IWMReaderAdvanced and IWMReaderAdvanced2 interfaces in order to give applications access to the informational methods on the reader object. The filter's implementation simply passes the calls through to the interface on the reader object. The streaming methods are not implemented because the filter must have complete control over the streaming process. The following IWMReaderAdvanced and IWMReaderAdvanced2 methods are implemented:

DirectShow QASF Reference

Reading ASF Files in DirectShow