Microsoft DirectX 8.1 (C++)

DV Muxer Filter

This filter combines a digital video (DV)–encoded video stream with one or two audio streams to produce an interleaved DV stream. To write the stream to an AVI file, connect this filter to the AVI Mux filter and connect the AVI Mux to the File Writer filter. For more information, see Digital Video in DirectShow.

Filter Interfaces IBaseFilter, IMediaSeeking
Input Pin Media Types Video: MEDIATYPE_Video, MEDIASUBTYPE_dvsd, FORMAT_VideoInfo
Audio: MEDIATYPE_Audio, MEDIASUBTYPE_PCM, FORMAT_WaveFormatEx
Input Pin Interfaces IMemInputPin, IPin, IQualityControl
Output Pin Media Types MEDIATYPE_Interleaved, MEDIASUBTYPE_dvsd, FORMAT_DvInfo
Output Pin Interfaces IPin, IQualityControl
Filter CLSID CLSID_DVMux
Property Page CLSID No property page
Executable qdv.dll
Merit MERIT_UNLIKELY
Filter Category CLSID_LegacyAmFilterCategory

Remarks

The DV Muxer can create two audio input pins. It supports the audio formats shown in the following table.

Audio Pin 1Audio Pin 2Output Format
Sample Rate (kHz)Bits/SampleChannelsSample RateBits/SampleChannels
32 16 Mono Unconnected SD 2 Channel
32 16 Stereo Unconnected SD 4 Channel
44.1 or 48 16 Stereo or Mono Unconnected SD 2 Channel
Unconnected 32 16 Stereo or Mono Disallowed
Unconnected 44.1 or 48 16 Mono Disallowed
Unconnected 44.1 or 48 16 Stereo SD 2 Channel
32 16 Mono 32 16 Mono SD 2 Channel
32 16 Stereo or Mono* 32 16 Stereo or Mono* SD 4 Channel
44.1 16 Mono 44.1 16 Mono SD 2 Channel
48 16 Mono 48 16 Mono SD 2 Channel
* If at least one input pin is stereo.

For the purpose of this table, audio pin 1 is defined as the first input pin connected to an audio source, and audio pin 2 is defined as the second input pin connected to an audio source. Once an audio pin is connected, this numbering scheme remains in effect unless both audio pins are disconnected. For example, if you connect both audio pins and then disconnect audio pin 1, the remaining pin is still considered pin 2.

Audio supplied to pin 1 is recorded to the first audio block of the DV frames (CH1), and audio supplied to pin 2 is recorded to the second audio block (CH2). Exception: if the filter has a single stereo input at 44.1 kHz or 48 kHz, the left audio channel is recorded to the first audio block, and the right audio channel is recorded to the second audio block.

For SD 4-channel output: If the input is stereo, the left track is recorded to CHa or CHc, and the right track is recorded to CHb or CHd. If the input is mono, the audio is recorded to CHa or CHc, and CHb and CHd are silent.

By connecting and disconnecting audio pin 1, it is possible to reach a disallowed format. In that case, the filter's IMediaFilter::Pause method returns VFW_E_NOT_CONNECTED. This limitation prevents a situation in which the first audio block has no audio, but the second audio block does have audio. The second block should have audio only if the first block also has audio.

The DV Muxer does not permit audio inputs with different sampling rates. However, graph-building methods such as IGraphBuilder::Connect will typically add the ACM Wrapper filter, which will convert the second audio stream to match the first stream's sampling rate.

If the audio input is 48 kHz or 32 kHz, the audio output is locked. (It is not possible to lock 44.1-kHz audio.)

If no audio pins are connected, the output contains the audio data from the incoming DV frames. This might be silence, or valid audio data.