Настройка МД кодека
В этом разделе описывается процесс настройки МД кодека. Каждый кодек имеет определенные процедуры, но общие сведения описаны здесь.
Настройка входных и выходных данных DMO
Каждое DMO поддерживает определенные типы входных и выходных данных. Поддерживаемые типы входных и выходных данных можно получить, вызвав IMediaObject::GetInputType для входных данных и IMediaObject::GetOutputType для выходных данных. Вы можете перечислить поддерживаемые форматы, выполняя повторяющиеся вызовы любого из методов, при этом при каждом вызове увеличивается индекс типа. Если индекс превышает индекс конечного поддерживаемого типа, вызов возвращает DMO_E_NO_MORE_ITEMS.
Для видеокодеков для данного подтипа мультимедиа перечисляется только один тип выходных данных или тип входных данных. Для аудиокодеков перечисляется каждый отдельный поддерживаемый тип. Дополнительные сведения о поддерживаемых типах для отдельных кодеков см. в разделах Работа со звуком и Работа с видео.
После настройки типов мультимедиа для входных и выходных потоков задайте их, вызвав методы IMediaObject::SetInputType и IMediaObject::SetOutputType соответственно. Оба этих метода возвращают DMO_E_TYPE_NOT_ACCEPTED , если указанный тип является недопустимым.
Настройка административных объектов кодека для кодирования
Все кодеки Windows Media Audio и Video поддерживают различные функции кодирования. Эти функции обычно настраиваются путем задания свойств в DMO с помощью методов интерфейса IPropertyBag . Некоторые свойства настраиваются с помощью специализированных интерфейсов кодека. Эти интерфейсы перечислены для каждого кодека в разделе Объекты кодека.
Общий порядок операций для настройки DMO кодирования выглядит следующим образом:
- Настройте функции кодека по желанию с помощью методов IPropertyBag.
- При необходимости используйте интерфейсы DMO кодека для настройки дополнительных функций.
- Настройте типы входных и выходных данных. Порядок настройки типов зависит от отдельных кодеков. Дополнительные сведения см. в разделах Работа со звуком и Работа с видео.
Настройка МД кодека для декодирования
Декодирование проще, чем кодирование, так как поддерживается меньше возможностей декодера.
Общий порядок операций для настройки декодирования DMO выглядит следующим образом:
- Настройте функции декодера по желанию с помощью методов IPropertyBag.
- Задайте тип входных данных, используемый для выходных данных кодировщика.
- Настройте тип выходных данных. Поддерживаемые типы выходных данных различаются для разных входных данных.
Примечание
Для входных данных декодера важно использовать тот же тип носителя, что и для выходных данных кодировщика. Это связано с тем, что кодеки Windows Media Audio и Video используют форматы мультимедиа с дополнительными данными. Эти данные добавляются к структуре, на которую указывает элемент pbFormatструктуры DMO_MEDIA_TYPE (обычно VIDEOINFOHEADER или WAVEFORMATEX). Для некоторых типов дополнительные данные являются частью перечисленного выходного типа кодировщика. Для других типов требуется добавить эти данные вручную. Без данных расширенного формата невозможно декодировать сжатое содержимое.
Связанные темы