DV Muxer Filter

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

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.

Label Value
Filter Interfaces IBaseFilter, IMediaSeeking
Input Pin Media Types Video: MEDIATYPE_Video, MEDIASUBTYPE_dvsd, FORMAT_VideoInfoAudio: 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 1

Audio Pin 2

Output Format

Sample Rate (kHz)

Bits/Sample

Channels

Sample Rate

Bits/Sample

Channels

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.

DirectShow Filters

Digital Video in DirectShow