Microsoft DirectX 9.0

MPEG-1 Stream Splitter Filter

This filter splits an MPEG-1 system stream into its component audio and video streams.

Filter Interfaces IAMMediaContent, IAMStreamSelect, IBaseFilter
Input Pin Media Types Major type: MEDIATYPE_Stream

Subtypes:

  • MEDIASUBTYPE_MPEG1System
  • MEDIASUBTYPE_MPEG1VideoCD
  • MEDIASUBTYPE_Audio
  • MEDIASUBTYPE_Video

See MPEG-1 Media Types

Input Pin Interfaces IMemInputPin, IPin, IQualityControl
Output Pin Media Types Major type: MEDIATYPE_Audio or MEDIATYPE_Video

Subtype: MEDIASUBTYPE_MPEG1Payload or MEDIASUBTYPE_MPEG1Packet

See MPEG-1 Media Types

Output Pin Interfaces IPin, IMediaSeeking
Filter CLSID CLSID_MPEG1Splitter
Property Page CLSID No property page.
Executable quartz.dll
Merit MERIT_NORMAL
Filter Category CLSID_LegacyAmFilterCategory

Remarks

This file supports pull mode via IAsyncReader only; it does not support push mode.

Because MPEG-1 content is not indexed, seeking can be very approximate. It is usually good for a fixed bitrate MPEG-1 system stream (which is usually hardware generated for video CD).

The filter supports the IAMMediaContent interface for retrieving ID3 metadata.

Not all MPEG samples have time stamps. The lack of a time stamp on an MPEG sample is not an error. For filter developers, this means that you should not return an error code from your input pin's Receive method if IMediaSample::GetTime fails. If Receive returns any value other than S_OK, it will cause the splitter to stop sending samples.