ASF Splitter

The ASF splitter object is a WMContainer layer component that parses the ASF Data Object of an Advanced Systems Format (ASF) file. You can use the splitter to read the data packets in the Data Object and generate stream samples. For information about the structure of an ASF file, see ASF File Structure.

The splitter exposes the IMFASFSplitter interface. The splitter parses ASF data packets for the selected streams and repackages them into individual sample objects that expose the IMFSample interface. The splitter is one of the platform-level components of Media Foundation. The ASF media source uses the splitter internally to parse ASF files.

The following diagram illustrates sample generation for an ASF file through the splitter.

diagram showing sample generation of an asf file

This section contains the following topics:

Topic Description
Creating the ASF Splitter Object How to create and initialize the splitter.
Configuring the ASF Splitter Object Configuration settings for the splitter.
Generating Stream Samples from an Existing ASF Data Object How to parse the ASF Data Object and generate packetized steam samples.


The following table shows the relevant Data Object attributes.

Attribute Description
MF_PD_ASF_FILEPROPERTIES_PACKETS Number of data packets in the ASF Data Object.
MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE Minimum size of the data packets in the file, in bytes.
MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE Maximum size of the data packets in the file, in bytes
MF_PD_ASF_DATA_LENGTH Size of the ASF Data Object, in bytes.
MF_PD_ASF_DATA_START_OFFSET Offset, in bytes, to the first data packet in the ASF Data Object relative to the start of the file.


WMContainer ASF Components

Tutorial: Reading an ASF File

ASF Support in Media Foundation