Полные и частичные типы мультимедиа
В этом разделе описывается разница между полными и частичными типами мультимедиа.
Полные типы мультимедиа
Полный тип мультимедиа — это тип, который полностью определяет формат потока мультимедиа. Учитывая полный тип носителя, компонент конвейера может анализировать потоковые данные, связанные с типом носителя, без неоднозначности.
Для несжатых форматов в следующих разделах определяются атрибуты, необходимые для полного типа мультимедиа:
- Аудио: несжатые типы аудиоданных
- Видео: несжатые типы видеофайла
Для сжатых (или закодированных) потоков определение полного типа мультимедиа определяется кодеком. Однако если для сжатого потока известны какие-либо несжатые атрибуты типа, эти значения должны быть включены в тип носителя для сжатого потока. Например, если размер кадра известен, задайте атрибут MF_MT_FRAME_SIZE для типа носителя, даже если технически сжатый поток не имеет размера кадра.
Частичные типы мультимедиа
Разделяемый тип мультимедиа не имеет одного или нескольких атрибутов, необходимых для полного типа мультимедиа. При перечислении возможных типов мультимедиа компонент Microsoft Media Foundation может оставить значение не заданным, чтобы указать, что он может обрабатывать любое значение. Например, видеопроцессор может оставить атрибут MF_MT_FRAME_RATE не задан, чтобы указать, что он может обрабатывать любую частоту кадров, и при необходимости выполнит преобразование частоты кадров.
При создании частичного типа мультимедиа следует по-прежнему включать столько сведений, сколько известно. Однако тип носителя не должен содержать неопределенные сведения. Это лучше, чтобы информация была отсутствует, чем неправильно.
Как минимум, частичный тип мультимедиа должен содержать только два атрибута: MF_MT_MAJOR_TYPE и MF_MT_SUBTYPE.
Иногда компоненты Media Foundation должны предоставлять полные типы мультимедиа:
- Источники мультимедиа должны предоставлять полные типы выходных данных.
- Декодеры должны предоставлять полные типы выходных данных после установки входного типа. Перед настройкой входного типа декодер может предоставить частичный выходной тип.
- После установки выходного типа кодировщики должны предоставлять полные типы входных данных. Перед настройкой типа вывода кодировщик может предоставить частичный тип входных данных.
Связанные темы