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.
Related topics