Как использовать WDM устройства
От: Robin20  
Дата: 24.04.11 07:18
Оценка:
С DirectShow начал разбираться недавно. В MSDN мало информации по поводу WDM устройств.

Никак не могу найти ответ на следующие вопросы.

По поводу звука.

Звуковая карта при перечислении в категории CLSID_AudioInputDeviceCategory
находится как как полноценный фильтр захвата звука с входными линиями и
пином "capture" с множеством типов MEDIA как "audio" а "submedia — PCM .
А также удаётся получить интерфейс IAMAudioInputMixer на входах
этого фильтра, которые имеют тип медia "analog audio".

Аналогичная ситуация и с звуковым устройством Веб-камеры. Тоже в этой категории нормально получается всё вышеперечисленное.

Однако как я понимаю, фильтр полученный в этой категории работает не как WDM а как более старая версия драйвера. Более того. Многих дополнительных входов звуковой карты нет.

Если же я пытаюсь получить звуковую карту при помощи вызова категории AM_KSCATEGORY_CAPTURE то оно благополучно её находит. Только как AЦП-ЦАП устройство при этом без выхода "capture" а также без микшерных входов аналоговых.
Также не удаётся ни запросить при помощи QueryInterface ни найти методом FindInterface — IAMAudioInputMixer интерфейс у этого фильтра

Звуковое устройство Веб-камеры получается со вsходом "capture", однако со всем остальным те же проблем (в отличие от полученного в категории AudioInputDeviceCategory не удаётся получить IAMAudioInputMixer)

Также эти устройства находятся и в категории AM_KSCATEGORY_AUDIO

при этом там кроме карты (то есть просто DAC-ADC) находится ещё и одноимённый микшер с кучей входов более продвинутых.
При этом тоже получить ни на пинах ни вообще интерфейс IAMAudioInputMixer невозможно кроме того невозможно понять каким образом подключить фильтр микшера к фильтру ADC-DAC. Как вообще понять что это части одно и того же устройство физически.
В MSDN по тому поводу что-то очень кратко и мутно написано. Что-то там по поводу
какого KSmedia идентификатора. Я пытался получить он вообще у всех устройств оказался один и тот же. Так что как это помогает иднтифицировать что куда подключать не понятно.
В любом случае даже если удастся каким-то образом подключить ти 2 устройства в одну цепь то как манипулировать микшером? Как получить в таком случае интерфейс IAMAudioInputMixer, если его не удаётся получить на самом устройстве микшере непосредственно. А тем более на устройстве ADC, которое ещё нужно как-то присоединить.

По поводу видео.

По поводу видео аналогичные проблемы. Тоже если использовать категорию AM_KSCATEGORY_VIDEO находит только вебкамеру. А карту видеозахвата тюнера находит только в AM_KSCATEGORY_CAPTURE. Каким образом подключить к этому сам тюнер а также переключатель тоже не совсем понятно чтобы это был именно WDM фильтр. То есть в категории VideoInputDeviceCategory его получать нежелательно как я понимаю.

Где можно прочитать как найти решение этих казалось бы элементарных проблем?
Просто найти и подключить имеющиеся устройства используя драйвера работающие как WDM. Или может быть какой-то совет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.