IMFASFMutualExclusion interface (wmcontainer.h)

Configures an Advanced Systems Format (ASF) mutual exclusion object, which manages information about a group of streams in an ASF profile that are mutually exclusive. When streams or groups of streams are mutually exclusive, only one of them is read at a time, they are not read concurrently.

A common example of mutual exclusion is a set of streams that each include the same content encoded at a different bit rate. The stream that is used is determined by the available bandwidth to the reader.

An IMFASFMutualExclusion interface exists for every ASF mutual exclusion object. A pointer to this interface is obtained when you create the object using the IMFASFProfile::CreateMutualExclusion method.

Inheritance

The IMFASFMutualExclusion interface inherits from the IUnknown interface. IMFASFMutualExclusion also has these types of members:

Methods

The IMFASFMutualExclusion interface has these methods.

 
IMFASFMutualExclusion::AddRecord

Adds a record to the mutual exclusion object. A record specifies streams that are mutually exclusive with the streams in all other records.
IMFASFMutualExclusion::AddStreamForRecord

Adds a stream number to a record in the Advanced Systems Format mutual exclusion object.
IMFASFMutualExclusion::Clone

Creates a copy of the Advanced Systems Format mutual exclusion object.
IMFASFMutualExclusion::GetRecordCount

Retrieves the number of records in the Advanced Systems Format mutual exclusion object.
IMFASFMutualExclusion::GetStreamsForRecord

Retrieves the stream numbers contained in a record in the Advanced Systems Format mutual exclusion object.
IMFASFMutualExclusion::GetType

Retrieves the type of mutual exclusion represented by the Advanced Systems Format (ASF) mutual exclusion object.
IMFASFMutualExclusion::RemoveRecord

Removes a record from the Advanced Systems Format (ASF) mutual exclusion object.
IMFASFMutualExclusion::RemoveStreamFromRecord

Removes a stream number from a record in the Advanced Systems Format mutual exclusion object.
IMFASFMutualExclusion::SetType

Sets the type of mutual exclusion that is represented by the Advanced Systems Format (ASF) mutual exclusion object.

Remarks

An ASF profile object can support multiple mutual exclusions. Each must be configured using a separate ASF mutual exclusion object.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header wmcontainer.h

See also

Media Foundation Interfaces

Using Mutual Exclusion for ASF Streams