Windows Dev Center

WM ASF Reader Filter

The WM ASF Reader is a wrapper filter for the reader object provided with the Windows Media Format SDK and is the recommended source filter for file playback of Windows Media-based content and content created with any of the Microsoft MPEG-4 Encoder DMOs.

Filter interfaces IBaseFilter, IFileSourceFilter, IAMExtendedSeeking, IServiceProvider

In addition, the filter exposes the following Windows Media Format SDK interfaces: IWMHeaderInfo, IWMReaderAdvanced, IWMReaderAdvanced2, IWMDRMReader (through IServiceProvider)

Input pin media typesNot applicable.
Input pin interfacesNot applicable.
Output pin media typesMEDIATYPE_Video, MEDIATYPE_Audio, MEDIATYPE_ScriptCommand, MEDIATYPE_FileTransfer
Output pin interfaces IMediaSeeking, IAMWMBufferPass, IServiceProvider

In addition, the pins expose the following Windows Media Format SDK interfaces: IWMStreamConfig2 (through IServiceProvider)

Property Page CLSIDNo property page.
Filter Category CLSID_LegacyAmFilterCategory



When given the name of an ASF file or a URL, the WM ASF Reader reads the compressed content, parses the compressed streams, and exposes an output pin for each one. This filter connects downstream to audio and/or video codecs filters, which do the decompression. Seeking is supported if the ASF file is seekable. The ASF Reader time stamps the samples before sending them downstream, but it does not modify the time stamps in any way.

Playback at speeds other than 1.0 (as specified in IMediaSeeking::SetRate) is not supported.

When the Windows Media Format SDK runtime sends WMT_STATUS messages to the WM ASF Writer filter, the filter forwards any messages related to DRM license acquisition as EC_WMT_EVENT events. For more information, see Reading DRM-Protected ASF Files in DirectShow.

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 methods are implemented:

Related topics

DirectShow Filters
Reading ASF Files in DirectShow



Community Additions

© 2015 Microsoft