About the WM ASF Reader Filter
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
Playback of ASF files is handled by the WM ASF Reader filter. When the WM ASF Reader reads a file, it automatically creates an output pin for each stream, including web streams, script command streams, and any other type of arbitrary stream. In the case of multiple bit rate files, pins are created only for the currently selected streams. To play an ASF file with the WM ASF Reader filter, call IGraphBuilder::RenderFile or IGraphBuilder::AddSourceFilter.
The WM ASF Reader supports the DirectShow IMediaSeeking interface, which enables applications to perform temporal seeking within the file. However, playback at speeds other than 1.0 (as specified in IMediaSeeking::SetRate) is not supported.
The WM ASF Reader filter also exposes several Windows Media Format SDK interfaces as described in the following table. These interfaces are documented in the Windows Media Format SDK documentation.
Interface | How exposed | Comments |
---|---|---|
IWMDRMReader | Through IServiceProvider on the filter. | Provided for applications that need to play content protected by Digital Rights Management (DRM).. |
IWMHeaderInfo | QueryInterface on the filter. | Provided so that applications can read file and content attributes, as well as marker and script information and metadata. |
IWMReaderAdvanced | QueryInterface on the filter. | Partially implemented on the filter so that applications can access the informational methods on the WM Reader object. |
IWMReaderAdvanced2 | QueryInterface on the filter. | Partially implemented on the filter so that applications can access the informational methods on the Format SDK Reader Object. |
Related topics