Приемники мультимедиа ASF
Приемник мультимедиа ASF является последним компонентом в конвейере кодирования, который позволяет приложению записывать ASF-файл.
Media Foundation предоставляет два типа приемников мультимедиа ASF:
- приемник файлов ASF используется для архивации данных мультимедиа ASF в файл.
- приемник потоковой передачи ASF используется для записи содержимого ASF в поток байтов, который можно передавать по сети.
Приемники мультимедиа ASF содержат один или несколько приемников потоков, которые представляют данные для записи каждого потока в выходном ASF-файле. Для кодирования приложений, работающих в Windows Vista, необходимо вручную настроить топологию кодирования, создав и настроив приемник мультимедиа ASF, а затем добавьте его в топологию. В Windows 7, если вы используете объекты быстрого транскодирования для создания топологии, вы не создали приемник мультимедиа напрямую, а приложение не вызывает никаких методов в приемнике мультимедиа или любом из приемников потоков. Объекты быстрого транскодирования создайте экземпляры необходимых приемников мультимедиа и добавьте его в топологию перед возвратом ссылки на вызывающее приложение. Однако для объектов быстрого транскода существуют некоторые ограничения, которые применяются в зависимости от типа кодировки.
Объектная модель приемника мультимедиа ASF
Приемники мультимедиа ASF реализуют интерфейс IMFMediaSink и предоставляют следующие интерфейсы. Приложение может получить ссылку на эти интерфейсы, вызвав QueryInterface в приемнике мультимедиа ASF, который он использует для создания выходных примеров.
Интерфейс | Описание |
---|---|
МВФMediaSink | Требуется для всех приемников мультимедиа. |
МВФFinalizableMediaSink | Реализован приемником ФАЙЛОВ ASF, который записывает созданное содержимое мультимедиа в файл. Методы этого интерфейса можно использовать для очистки данных и обновления объекта заголовка ASF окончательного выходного файла. |
МВФClockStateSink | Получает уведомления об изменении состояния из часов презентации. |
МВФASFContentInfo | Объект ASF ContentInfo — это объект уровня WMContainer, который в основном хранит сведения об объекте заголовка ASF. Используется для создания приемников мультимедиа ASF. |
МВФMetadata | Используется для описания метаданных файла ASF. |
МВФMetadataProvider | Извлекает коллекцию метаданных либо для всей презентации, либо для одного потока в презентации. |
Приемник файлов ASF
Приемник файлов ASF — это реализация МВФMediaSink, предоставленной Media Foundation, которую приложение может использовать для архивации данных мультимедиа ASF в файл.
Необходимо создать, настроить и вызвать методы в приемнике файлов или любой из его приемников потоков, если вы используете объекты слоя конвейера для записи нового ФАЙЛА ASF. После настройки приемника файлов его можно добавить в конвейер кодирования.
Ниже приведены общие действия по использованию приемника файлов ASF:
- Создайте приемник файлов в процессе или вне процесса.
- Настройте приемник файла со всеми потоками, свойствами кодирования и сведениями метаданных.
- Свяжите приемник файла с узлом выходной топологии, перечислив приемники потока или отслеживая номера потоков в приемнике.
В следующих разделах содержатся подробные сведения о работе с приемником файлов ASF:
- создание приемника файлов ASF
- добавление сведений о потоке в приемник ФАЙЛОВ ASF
- задание свойств в приемника файлов
- Добавление метаданных в приемник файлов
- модель буфера утечки контейнера
Связанные разделы
-
поддержка ASF в Media Foundation