This topic describes how to work with ASF profiles in Microsoft Media Foundation.
An Advanced Systems Format (ASF) file contains one or more streams. For each stream, the ASF header contains a Stream Properties Header that describes the stream. At the WMContainer layer, the following objects are used to set or read the properties of the ASF streams:
- ASF profile object: Describes the streams and their relationships with each other. The ASF profile object exposes the IMFASFProfile interface.
- Stream configuration object: Describes one stream. The stream configuration object contains a media type that describes the format of the stream. For audio and video streams, the media type describes exactly how the stream is configured, and is used by codecs that encode or decode the stream. The stream configuration object exposes the IMFASFStreamConfig interface. A valid ASF profile contains at least one stream configuration object.
- Mutual exclusion object: Describes multiple streams that are not intended be read concurrently. A mutual exclusion object exposes the IMFASFMutualExclusion interface. An ASF profile contains zero or more mutual exclusion objects.
The following diagram shows the relationship between the ASF profile and the objects that are contained in the profile.
For playback, the ASF profile is used to enumerate the streams and find the stream formats. For encoding, the ASF profile is used to configure the streams in the destination file.
The ASF profile is also used to configure the ASF Media Sink. For each stream in the ASF profile, the ASF media sink creates a corresponding stream sink.
Describes how to create an ASF profile object.
Describes how to add streams to an ASF profile.
Describes how to add mutual exclusions to ASF streams.
- Media Types
- Tutorial: 1-Pass Windows Media Encoding
- Tutorial: Writing a WMA File by Using CBR Encoding
- WMContainer ASF Components