Средство чтения исходного кода

Средство чтения источника — это альтернатива использованию сеанса мультимедиа и конвейера Microsoft Media Foundation для обработки данных мультимедиа.

Зачем использовать средство чтения источника?

Media Foundation предоставляет конвейер, оптимизированный для воспроизведения. Конвейер является комплексным, то есть он обрабатывает поток данных из источника (например, видеофайла) вплоть до места назначения (например, графического отображения). Однако если вы хотите считывать или изменять данные по мере прохождения конвейера, необходимо написать пользовательский подключаемый модуль. Для этого требуется достаточно глубокое знание конвейера Media Foundation. Для некоторых задач создание нового подключаемого модуля слишком много накладных расходов. Средство чтения исходного кода предназначено для такого типа ситуации, когда требуется получить необработанные данные из источника без дополнительных затрат на весь конвейер.

На внутреннем этапе средство чтения источника содержит указатель на источник мультимедиа. Источник мультимедиа — это объект Media Foundation, который создает данные мультимедиа из внешнего источника, например файл мультимедиа или устройство захвата видео. Средство чтения источника управляет всеми вызовами метода к источнику мультимедиа. (Дополнительные сведения об источниках мультимедиа см. в разделе "Источники мультимедиа".)

Если источник мультимедиа доставляет сжатые данные, для декодирования данных можно использовать средство чтения источника. В этом случае средство чтения источника загружает правильный декодер и управляет потоком данных между источником мультимедиа и декодером. Средство чтения исходного кода также может выполнять ограниченную обработку видео: преобразование цвета из YUV в RGB-32 и программное деинтерлакирование, хотя эти операции не рекомендуется для отрисовки видео в режиме реального времени. На следующем рисунке показан этот процесс.

diagram of the source reader

Средство чтения источника не отправляет данные в место назначения; приложение может использовать данные. Например, средство чтения исходного кода может считывать видеофайл, но не будет отображать видео на экране. Кроме того, средство чтения исходного кода не управляет часами презентации, не обрабатывает проблемы со временем или синхронизирует видео с звуком.

Рассмотрите возможность использования средства чтения источника при следующих случаях:

  • Вы хотите получить данные из файла мультимедиа, не беспокоясь о базовой структуре файлов.
  • Вы хотите получить данные с устройства аудио или видеозахвата.
  • Задачи обработки данных не чувствительны к времени или не требуют часов презентации.
  • У вас уже есть конвейер мультимедиа, который не основан на Media Foundation, и вы хотите включить источники мультимедиа Media Foundation в собственный конвейер.

Средство чтения источника не рекомендуется в следующих ситуациях:

  • Для защищенного содержимого. Средство чтения исходного кода не поддерживает управление цифровыми правами (DRM).
  • Если вам нужны подробные сведения о базовой структуре файлов. Средство чтения источника скрывает этот тип сведений.

В этом разделе

Раздел Описание
Использование средства чтения источника для обработки данных мультимедиа
В этом разделе описывается, как использовать средство чтения источника для обработки данных мультимедиа.
Использование средства чтения источника в асинхронном режиме
В этом разделе описывается использование средства чтения источника в асинхронном режиме.
Руководство по декодированию звука
В этом руководстве показано, как использовать средство чтения источника для декодирования звука из файла мультимедиа и записи звука в ФАЙЛ WAVE.

 

Архитектура Media Foundation

Руководство по программированию Media Foundation

МВФSourceReader