Share via


MPEG-2 Program Stream Multiplexer Filter (Windows CE 5.0)

Send Feedback

Applies to: Devices based on Windows CE 5.0 with the Windows CE 5.0 Networked Media Device Feature Pack

The multiplexer filter transforms the incoming Audio and Video Elementary Streams into a single DVR engine-compliant program stream.

The main requirements for a DVR Engine-compliant MPEG-2 Program Stream are:

  • Fixed 2Kb Pack size
  • Each I-frame must fit into a single DirectShow media sample, to enable indexing for trick modes. The coded I-frame should be the only video data in the sample. Audio content is OK.

If you provide a MPEG-2 program stream that is already compliant with the DVR engine, then you do not need to use this filter. You will be responsible for providing a necessary solution to convert the signal into a MPEG-2 Program Stream and directly connect it to the DVR Engine Core.

The filter has two input pins, one for the video stream and one for the audio stream. Both pins expose IPin and IMemInputPin interfaces.

Filter Property Description
Filter Interfaces  
Input Pin Media Types MEDIATYPE_Video

MEDIASUBTYPE_MPEG2_VIDEO

MEDIATYPE Audio

MEDIASUBTYPE_DOLBY_AC3, MEDIASUBTYPE_MPEG2_AUDIO.

Input Pin Interfaces IMemInputPin, IPin. See remarks below.
Output Pin Media Types MEDIATYPE_STREAM

MEDIASUBTYPE_MPEG2_PROGRAM

Output Pin Interfaces None
Filter CLSID CLSID_DVRProgramStreamMux
Property Page CLSID None
Executable Dvrpsmux.dll
Merit MERIT_DO_NOT_USE
Filter Category  

Remarks

The input and output pins inherit from the CBasePin class and support no added interfaces. The Filter inherits from the CBaseFilter class and also exposes an IPropertyBag.

This filter supports a number of properties:

  • rate_bound
  • program_mux_rate
  • Video P-STD_buffer_scale
  • Video P-STD_buffer_size
  • Video P-STD_buffer_bound_scale
  • Video P-STD_buffer_size_bound
  • Audio P-STD_buffer_scale
  • Audio P-STD_buffer_size
  • Audio P-STD_buffer_bound_scale
  • Audio P-STD_buffer_size_bound

The IPropertyBag properties correspond precisely to fields of the same name in the resulting MPEG-2 Program Stream pack and PES headers. Users can look in the MPEG-2 Systems-level spec (ISO/IEC 13818-1) for descriptions of these properties. The DVR Engine does not use these properties, but they are needed to generate a valid MPEG-2 Program Stream.

Whether or not you actually need to set these fields depends on:

  • Do you need the filter to generate a strictly valid program stream
  • Does the playback decoder in your solution require these values.

See Also

Supported DirectShow Filters

DirectShow Registry Settings

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.