Устройства кодировщика
Кодировщики — это устройства, которые получают в качестве входных данных несжатый поток данных (видео или аудио), кодируют поток в определенном формате, например MPEG2, а затем выводят закодированный поток. Устройства кодировщика могут быть частью другого устройства, например комбинированного ТВ-тюнера или адаптера захвата, или могут быть отдельными. Например, интегрированный кодировщик получает поток данных от устройства захвата, такого как аналоговый ТВ-тюнер или декодер, а затем создает закодированный поток. Автономный кодировщик может получать входные данные из несжатого файла, обрабатывать их, а затем выводить закодированные данные.
Корпорация Майкрософт предоставляет поддержку аппаратных аудио- и видеокодировщиков в DirectX 9.0 и более поздних версий.
Для поддержки устройств кодировщика звука и видео необходимо реализовать поддержку свойств кодировщика, определенных корпорацией Майкрософт, в мини-хранилище фильтра потоковой передачи ядра. Поддержка может быть добавлена в существующий класс потока или мини-driver AVStream путем реализации свойств кодировщика. Кроме того, если вы пишете новый мини-накопитель (для автономного или интегрированного кодировщика), корпорация Майкрософт рекомендует использовать архитектуру AVStream, так как класс stream устарел и больше не поддерживается. В качестве отправной точки можно использовать пример драйвера имитированного оборудования AVStream (Avshws). Драйвер Avshws — это пример AVStream, ориентированный на закрепление, который реализует поддержку передачИ DMA.
Примечание
Если вы создаете программный кодировщик, не следует записывать его в качестве фильтра потоковой передачи ядра. Вместо этого такие фильтры следует записывать как фильтры Microsoft DirectShow или объекты мультимедиа DirectX. Дополнительные сведения о программных кодировщиках см. в разделе Пакета SDK DirectShow "API кодировщика".
Клиенты получают доступ к функциям кодировщика через COM-интерфейс ICodecAPI . Вы указываете, какой интерфейс KsProxy предоставляет в INF-файле драйвера в зависимости от свойств, которые реализует мини-драйвер. Сведения о свойствах и событиях потоковой передачи ядра, определяемых корпорацией Майкрософт, см. в разделе Реализация и поддержка кодировщика . Примеры их реализации см. в разделе Примеры кода кодировщика . Сведения об установке фильтра кодировщика, в том числе о том, как указать, какой com-интерфейс KsProxy должен предоставлять, см. в разделе Установка и регистрация кодировщика .
Устройства кодировщика должны соответствовать требованиям потоковой передачи мультимедиа и широковещательной передачи, как описано в программе сертификации Windows, в дополнение к универсальным требованиям к логотипу, которые охватывают все устройства.