DVR Output Components (Windows CE 5.0)

Send Feedback

The following illustration shows the output side of the DVR DirectShow graph.

Aa456296.stb_dvr_engine_playback(en-us,MSDN.10).gif

In addition to the DVR Source module, which is described in DVR Input Components, the output components include the following:

MPEG-2 Program Stream De-Multiplexer Filter

This module de-multiplexes the Program Stream into Video and Audio. See the reference documentation for the MPEG-2 Program Stream  Demultiplex Filter.

MPEG-2 Audio & Video Decoder

These decoders are provided by you. The MEPG-2 decoder that you use is required to support the Rate Change Property Set.

VBI Renderer

The vertical blanking interval (VBI) of a television video signal has been historically used to transmit alternative forms of information such as text and closed captioning. For digital streams, the VBI data comes encoded together with the content stream, and has to reach the last component of the pipeline, the TV encoder chip, which adds it back in the NTSC/PAL signal. Support for VBI is provided by the VBI Renderer Filter.

Video Renderer

The existing DirectShow Video Renderer Filter has been updated in this release to render Interlaced Video Formats.

If you plan to implement your own customized Video Renderer, the renderer is required to support the IKsPropertySet Interface. Override the IKsProperty::Get method to support the following properties:

If (SetguidPropSet == AM_KSPROPSETID_DVR_DecoderLocation && dwPropID == AM_RATE_DecoderPosition)

Return the time-stamp for the sample that is currently displayed.

If  (guidPropSet == DVRENG_PROPSETID_DVR_SupplementalInfo && dwPropID == DVRENG_PROPID_DVR_FirstSamplePosition)

Return the time-stamp for the first sample after a flush has happened.

Audio Lip Sync Filter

The Audio Lip Sync Filter is responsible for synchronizing the rate of audio playback to the rate of the incoming AV stream. It does this by adjusting the time drift between the sink graph clock and the source graph clock.

The DVR application needs to put the audio sync filter in manually.

Audio Renderer

This is the existing Audio Renderer (WaveOut) Filter shipped in Windows CE 5.0 with related QFE updates.

Playback and Buffers

Recorded content can be permanent or temporary. Temporary recordings are distinguished from permanent ones by the limited buffer size (max size is 30 seconds) and the limited life time (ended when the status of the filter graph changes to STOP).

Source filters can be used to seek and stream at arbitrary positions within the buffered samples, regardless of recording type.

The source filter will be forced to remain within the buffer bounds: seeking to positions prior to buffer's beginning or past the buffers end will lead to buffer start and end seeks, respectively.

The rate of replay of the source will be adjusted to match the rate of buffer growth at the end or buffer shrinkage at the beginning (in the case of temporary recordings) when these are encountered.

Recording buffers are always continuous, that is, every position between the minimum seek position and the maximum seek position is valid and can be sought to.

See Also

Digital Video Recorder Architecture

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.