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


Фильтры звука

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

Схема, показывающая фильтр KS с двумя узлами, представляющая звуковое устройство с потоком потока данных.

На рисунке на фильтре создаются два контакта. Закрепление слева является приемником данных, а закрепление справа — источником данных. Данные передаются в фильтр через контакт приемника и из фильтра через исходный контакт.

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

В отличие от этого, терминология API микшера для линий смесителя SRC и DST (исходного и целевого) ориентирована на устройство:

  • Поток входит в устройство микшера через линию микшера SRC.

  • Поток выходит из устройства микшера через линию микшера DST.

Иными словами, линия микшера SRC сопоставляется с контактом приемника данных на фильтре KS, а линия микшера DST — с контактом источника данных. Дополнительные сведения см. в разделе Топология потоковой передачи ядра в преобразование API Микшера аудио.

Для простоты на рисунке не учитываются фабрики контактов фильтра, которые создают экземпляры контактов.

Помимо приемников данных и источников данных, контакты и фильтры также могут быть приемниками IRP и источниками IRP. Мало того, что контакты и фильтры могут получать IRP, но и отправлять irp. Три темные стрелки на рисунке представляют irp. Контакт в левой части фигуры является приемником IRP. Закрепление справа является источником IRP. На рисунке также показан IRP, отправляемый самому объекту фильтра.