Приемники мультимедиа ASF
Приемник мультимедиа ASF является последним компонентом в конвейере кодирования, который позволяет приложению записывать ASF-файл.
Media Foundation предоставляет два типа приемников мультимедиа ASF:
- Приемник файлов ASF используется для архивации данных мультимедиа ASF в файл.
- Приемник потоковой передачи ASF используется для записи содержимого ASF в поток байтов, который может передаваться по сети.
Приемники мультимедиа ASF содержат один или несколько приемников потоков, которые представляют данные для записи для каждого потока в выходном ASF-файле. Для приложений кодирования, работающих в Windows Vista, необходимо вручную настроить топологию кодирования, создав и настроив приемник мультимедиа ASF, а затем добавив его в топологию. В Windows 7 при использовании объектов быстрого перекодирования для создания топологии не требуется напрямую создавать приемник мультимедиа и приложение не вызывает методы в приемнике мультимедиа или приемниках потоков. Объекты быстрого перекодирования создают экземпляры необходимых приемников мультимедиа и добавляют их в топологию, прежде чем возвращать ссылку на вызывающее приложение. Однако для объектов быстрого перекодирования существуют некоторые ограничения, которые применяются в зависимости от типа кодирования.
Объектная модель приемника мультимедиа ASF
Приемники мультимедиа ASF реализуют интерфейс IMFMediaSink и предоставляют следующие интерфейсы. Приложение может получить ссылку на эти интерфейсы, вызвав QueryInterface в приемнике мультимедиа ASF, который используется для создания выходных примеров.
Интерфейс | Описание |
---|---|
IMFMediaSink | Требуется для всех приемников мультимедиа. |
IMFFinalizableMediaSink | Реализуется приемником файлов ASF, который записывает созданное содержимое мультимедиа в файл. Методы в этом интерфейсе можно использовать для очистки данных и обновления объекта заголовка ASF конечного выходного файла. |
IMFClockStateSink | Получает уведомления об изменении состояния от часов презентации. |
IMFASFContentInfo | Объект ASF ContentInfo — это объект уровня WMContainer, в котором в основном хранятся сведения об объекте заголовка ASF. Используется для создания приемников мультимедиа ASF. |
IMFMetadata | Используется для описания метаданных файла ASF. |
IMFMetadataProvider | Извлекает коллекцию метаданных для всей презентации или для одного потока в презентации. |
Приемник файлов ASF
Приемник файлов ASF — это реализация IMFMediaSink , предоставляемая Media Foundation, которую приложение может использовать для архивации данных мультимедиа ASF в файл.
Необходимо создать, настроить и вызвать методы в приемнике файлов или любом из его приемников потоков, если вы используете объекты уровня конвейера для записи нового ASF-файла. После настройки приемника файлов его можно добавить в конвейер кодирования.
Ниже приведены общие шаги по использованию приемника файлов ASF.
- Создайте приемник файлов в процессе или вне процесса.
- Настройте приемник файлов со всеми потоками, свойствами кодирования и метаданными.
- Свяжите приемник файла с узлом выходной топологии путем перечисления приемников потоков или путем отслеживания номеров потоков в приемнике.
В следующих разделах содержатся подробные сведения о работе с приемником файлов ASF.
- Создание приемника файлов ASF
- Добавление сведений о потоке в приемник файлов ASF
- Задание свойств в приемнике файлов
- Добавление метаданных в приемник файлов
- Модель буфера утечки контейнеров
Связанные темы