AVI Splitter Filter

The AVI Splitter Filter is used for playback of AVI files. It accepts data in AVI format and splits it into its constituent streams for further processing and/or rendering.

Filter Interfaces IAMMediaContent, IBaseFilter, IPersistMediaPropertyBag
Input Pin Media TypesMEDIATYPE_Stream, MEDIASUBTYPE_Avi
Input Pin Interfaces IPin, IQualityControl
Output Pin Media TypesTypically MEDIATYPE_Video or MEDIATYPE_Audio. The exact type depends on the content of the file, whether the file is compressed, and what codec was used.
Output Pin Interfaces IMediaPosition, IMediaSeeking, IPin, IPropertyBag, IQualityControl
Filter CLSIDCLSID_AviSplitter
Property Page CLSIDNo property page.
Executablequartz.dll
Merit MERIT_NORMAL
Filter Category CLSID_LegacyAmFilterCategory

 

Remarks

This filter is typically connected to the Async File Source filter on its input pin. It can connect to any filter whose output pin supports IAsyncReader and offers the correct media type to the AVI Splitter filter's input pin.

The output pins on the AVI Splitter support the IPropertyBag::Read method for reading properties from individual streams. Currently, the following property is defined.

Property Description
nameReturns the name of the stream, taken from the 'strn' chunk in the AVI file. If this chunk is absent, the Read method returns E_INVALIDARG.

 

The IPropertyBag::Write method returns E_FAIL. The AVI Mux filter supports IPropertyBag::Write for saving stream properties into an AVI file.

The AVI Splitter does not allow downstream filters to use their own allocator.

The interleaving duration in the file determines how much memory the AVI Splitter will allocate to process it. A file that is interleaved in one second chunks will require much more memory to process than a file whose interleave duration is set to one or two frames. On modern computers, this is generally not an issue unless you are running multiple instances of the AVI Splitter simultaneously.

Seeking

If the file contains a video stream, the AVI Splitter supports seeking by frame number. To enable frame-based seeking, call IMediaSeeking::SetTimeFormat on the Filter Graph Manager with the value TIME_FORMAT_FRAME.

If the file contains an audio stream, the AVI Splitter supports seeking by sample number. To enable sample-based seeking, call SetTimeFormat on the Filter Graph Manager with the value TIME_FORMAT_SAMPLE.

In both cases, the output pin for that stream must be connected to a renderer filter.

Related topics

DirectShow Filters

 

 

Show: