Поделиться через


AVI Splitter Filter

 
Microsoft DirectShow 9.0

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 Types MEDIATYPE_Stream, MEDIASUBTYPE_Avi.
Input Pin Interfaces IPin, IQualityControl
Output Pin Media Types Typically 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 CLSID CLSID_AviSplitter
Property Page CLSID No property page.
Executable quartz.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
name Returns 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 personal computers, this is generally not an issue unless you are running multiple instances of the AVI Splitter simultaneously, for example in a DES filter graph.

See Also