Поделиться через


Общие сведения о звуковых драйверах WDM

Службы потоковой передачи ядра (KS) поддерживают обработку потоков данных в режиме ядра для аудио и других типов непрерывных носителей. По сути, поток проходит обработку по пути данных, содержая некоторое количество узлов обработки. Набор связанных узлов группируется для формирования фильтра KS, который представляет более или менее независимый блок функций потоковой обработки. Более сложные функции можно создавать модульным способом, каскадно объединяя несколько фильтров для формирования графа фильтров.

Типичный аудиоадаптер карта может содержать звуковые устройства для воспроизведения волны через набор динамиков, преобразования звукового сигнала с микрофона в поток волн и синтеза звука из потока MIDI. Драйвер адаптера может заключать каждое из этих звуковых устройств в фильтр KS, который он предоставляет операционной системе. Операционная система подключает фильтры к другим фильтрам для формирования графов фильтров, обрабатывающих звуковые потоки от имени программ приложений.

Фильтры KS соединяются друг с другом через их контакты. Закрепление на звуковом фильтре можно рассматривать как аудиоразъем. Клиент создает экземпляр входного или выходного контакта на фильтре, когда клиенту необходимо направить поток данных в фильтр или из него. В некоторых контекстах термины закрепить и поток можно использовать взаимозаменяемо.

Выходной контакт фильтра вышестоящий подключен к входному контакту подчиненного фильтра. Поток данных из выходного контакта должен иметь формат данных, который может принимать входной контакт. Буферизация данных обычно требуется для сглаживания моментарных несоответствий скорости, с которой выходной контакт создает данные, а входной контакт использует их.

Фильтр KS реализуется как объект драйвера в режиме ядра, который инкапсулирует некоторое количество связанных функций потоковой обработки. Функциональные возможности могут быть реализованы в программном или аппаратном обеспечении. В этой модели аудиоадаптер можно рассматривать как коллекцию аппаратных устройств, а драйвер адаптера предоставляет каждое из этих устройств аудиосистеме в виде отдельного фильтра.

Драйвер адаптера предоставляет аудиосистеме коллекцию фабрик фильтров . Каждая фабрика фильтров может создавать экземпляры фильтров определенного типа:

  • Если адаптер содержит одно или несколько устройств, похожих или идентичных по функциям, драйвер группирует фильтры для этих устройств в одну фабрику фильтров.

  • Если адаптер содержит несколько различных типов устройств, эти устройства представлены с помощью нескольких разных фабрик фильтров.

Фильтр KS предоставляет аудиосистеме коллекцию фабрик контактов . Каждая фабрика контактов может создавать экземпляры контактов определенного типа. Если фильтр может предоставить один или несколько контактов, похожих или идентичных в функции, фильтр группирует эти контакты вместе в одной фабрике контактов. Например, фильтр, выполняющий микширование звука, может иметь одну фабрику контактов, которая может создать экземпляр одного выходного контакта, и вторую фабрику контактов, которая может создать несколько входных контактов.

Службы KS основаны на модели драйвера Windows. Обратите внимание, что термин фильтр KS должен отличаться от термина filter driver, который является еще одним понятием WDM. Драйвер фильтра находится в стеке драйверов WDM и может перехватывать и изменять пакеты запросов ввода-вывода (IRP), которые распространяются через стек. Драйверы фильтров верхнего и нижнего уровней находятся над и под драйвером функции соответственно. В этом разделе термин фильтр относится к фильтру KS, а не к драйверу фильтра, если не указано иное. Дополнительные сведения о драйверах фильтров см. в разделе Типы драйверов WDM.

В этом разделе рассматриваются следующие вопросы.

Основные функции драйвера аудио WDM

Параметры звукового драйвера поставщика

Терминология звука WDM

Примеры аудиодрайверов

Служебная программа KsStudio

Обновления и сведения о новых функциях аудиоархитектуры WDM см. на веб-сайте аудиотехнологов .