Microsoft DirectX 8.0 |
The MPEG-2 Splitter filter currently supports pull-mode playback of MPEG-2 program streams that contain at least one of the following stream types.
Note The MPEG-2 Splitter does not handle transport streams. For transport streams delivered in push-mode only, use the MPEG-2 Demultiplexer.
For more information on MPEG audio specs, visit
http://www.mpeg.org/MPEG/DVD/Book_B/Audio.html.
The MPEG-2 Splitter filter supports playback of these types when there are Microsoft® DirectShow®-compatible decoders that can handle the particular streams found in the program stream installed. For a list of the supported MPEG-2 Splitter filter media types, see MPEG-2 Splitter Filter Media Types.
See the following topics for more information about using the MPEG-2 Splitter filter.
When playing back MPEG-2 program streams, the MPEG-2 Splitter filter treats the first system clock reference it encounters as the time origin of any stream. This differs from the MPEG-1 Stream Splitter filter, which uses presentation time stamps. The IAMParse::GetParseTime method returns the (possibly estimated) stream system clock time for the data it has processed.
If the MPEG-2 splitter filter encounters an input sample with the discontinuity property set (the discontinuity property can be set by using IMediaSample::SetDiscontinuity or IMediaSample2::SetProperties), it skips data until it finds the first pack in the data and adjusts its time stamps so that the system clock reference (SCR) for that pack is considered identical to the SCR time before the discontinuity. If the SCR clock appears either to jump backward or to jump forward by more than a second, then (in line with the MPEG-2 program stream specification), this is also treated as a clock discontinuity and the apparent clock discrepancy is subtracted from the time stamps passed to downstream filters.
When playing back the MPEG-2 program stream, the first video stream and first audio stream found traversing the program stream are chosen. Up to one audio and one video output pin are supported. Through the IAMStreamSelect interface, different streams of the same type can be selected up to the number specified by the audio limit in the system header. For MPEG-2 audio, it is currently assumed the streams form a contiguous range starting at stream 0xC0.
The MPEG-2 splitter filter supports the following interfaces.