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


Наборы свойств кодировщика

В этом разделе описываются наборы свойств кодировщика и API кодека, доступные для мини-драйверов кодировщиков, использующих службы потоковой передачи ядра WDM в Microsoft Windows 98/Me, Windows 2000 и Windows XP и более поздних версий.

Страница ссылок для каждого свойства содержит таблицу с заголовками столбцов, которые показаны ниже.

Получить Присвойте параметру Назначение Тип дескриптора свойства Тип значения свойства

Эти заголовки имеют следующие значения:

  • Get

    Поддерживает ли целевой объект KS запрос свойства KSPROPERTY_TYPE_GET?

  • Set

    Поддерживает ли целевой объект KS запрос свойства KSPROPERTY_TYPE_SET?

  • Целевой объект

    Это объект KS, в который отправляется запрос на свойство. Целевым объектом для свойства кодировщика видео является фильтр или закрепление. (Запрос свойства указывает целевой объект с помощью дескриптора ядра.)

  • Тип дескриптора свойства

    Дескриптор свойства указывает свойство и операцию, выполняемую с этим свойством. Дескриптор всегда начинается со структуры KSPROPERTY .

  • Тип значения свойства

    Свойство имеет значение, и тип этого значения зависит от свойства . Например, свойство, которое может находиться только в одном из двух состояний ( on или off), обычно имеет значение BOOL. Свойство, которое может принимать целочисленные значения от 0x0 до 0xFFFFFFFF, может иметь значение ULONG. Более сложные свойства могут иметь значения, которые являются массивами или структурами.

Дескриптор свойства и значение свойства выше являются версиями спецификации экземпляров и буферов данных операций, которые рассматриваются в разделе Свойства, события и методы KS.

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

  • KSPROPERTY_TYPE_BASICSUPPORT

  • KSPROPERTY_TYPE_GET

  • KSPROPERTY_TYPE_SET

Все объекты фильтра и закрепления поддерживают операцию базовой поддержки для своих свойств. Поддерживают ли они операции get и Set , зависит от свойства . Свойство, представляющее неотъемлемую возможность объекта фильтра или закрепления, скорее всего, потребует только операции получения . Для свойства, представляющего настраиваемый параметр, может потребоваться только операция Set , хотя операция get также может быть полезна для чтения текущего параметра. Дополнительные сведения об использовании операций get, set и базовой поддержки со свойствами кодировщика видео см. в разделе Свойства KS.

Таблица в описании каждого свойства указывает, требуются ли мини-накопители кодировщика видео для поддержки чтения или записи свойства. Мини-накопители видеокодировщика должны возвращать STATUS_NOT_SUPPORTED в ответ на запросы на получение или задание свойств, которые не поддерживаются мини-накопителем.

Следующие наборы свойств содержат одно свойство, которое должно быть реализовано мини-драйверами кодировщика видео. То есть, фактически каждое свойство получает свой собственный набор, поэтому при необходимости укажите 0 в элементе PropertyIdэлемента KSPROPERTY_ITEM в структуре KSPROPERTY_SET .

Следующие наборы свойств относятся к API кодека:

CODECAPI_VIDEO_ENCODER

CODECAPI_AUDIO_ENCODER

CODECAPI_SETALLDEFAULTS

CODECAPI_ALLSETTINGS

CODECAPI_SUPPORTSEVENTS

CODECAPI_CURRENTCHANGELIST

Следующие наборы свойств относятся к API кодировщика:

ENCAPIPARAM_BITRATE

ENCAPIPARAM_BITRATE_MODE

ENCAPIPARAM_PEAK_BITRATE