Audio Capture Filter
A version of this page is also available for
4/8/2010
The Audio Capture filter represents an audio capture device. It has one capture output pin and several input pins (one for each type of input on the card, such as Line In, Mic, CD, and MIDI).
Filter property | Description |
---|---|
Filter Interfaces |
IAMAudioInputMixer, IAMFilterMiscFlags Interface, IAMResourceControl, IBaseFilter Interface, IPersistPropertyBag, ISpecifyPropertyPages |
Input Pin Media Types |
MEDIATYPE_AnalogAudio, MEDIASUBTYPE_NULL |
Input Pin Interfaces |
IAMAudioInputMixer, IMemInputPin Interface, IPin Interface, IQualityControl |
Output Pin Media Types |
MEDIATYPE_Audio, MEDIASUBTYPE_NULL |
Output Pin Interfaces |
IAMBufferNegotiation Interface, IAMPushSource, IAMStreamConfig Interface, IAMStreamControl Interface, IKsPropertySet Interface, IReferenceClock Interface, IQualityControl Interface |
Filter CLSID |
Not applicable. |
Executable |
qcap.dll |
MERIT_DO_NOT_USE |
|
CLSID_AudioInputDeviceCategory |
Remarks
The input pins represent physical hardware connections and are never connected to other filters in DirectShow.
GSM610 uses the pcm subtype but it requires a specific wave format tag to select it. This is how to set the format to on the audio capture filter to enable GSM610 output:
AM_MEDIA_TYPE mt;
GSM610WAVEFORMAT wf;
#ifndef WAVE_FORMAT_GSM610
#define WAVE_FORMAT_GSM610 0x31
#endif
mt.majortype = MEDIATYPE_Audio;
mt.bFixedSizeSamples = true;
mt.bTemporalCompression=false;
mt.lSampleSize=4096;
mt.formattype=FORMAT_WaveFormatEx;
mt.pUnk=NULL;
wf.wfx.wFormatTag = WAVE_FORMAT_GSM610;
wf.wfx.nChannels = 0x0001;
wf.wfx.nSamplesPerSec = 0x1f40;
wf.wfx.nAvgBytesPerSec = 0x00000659;
wf.wfx.nBlockAlign = 0x0041;
wf.wfx.wBitsPerSample = 0x0000;
wf.wfx.cbSize = 0x0002;
wf.wSamplesPerBlock = 0x140;
mt.cbFormat = sizeof( GSM610WAVEFORMAT );
mt.pbFormat = (BYTE *) &wf;