Поделиться через


Использование аппаратных носителей в кодеках AVStream

Мини-накопитель AVStream, поддерживающий частные носители, может передавать данные на оборудовании устройства без промежуточной передачи в системную память.

В частности, если два фильтра совместно используют один и тот же частный средний и средний экземпляры, Media Foundation передает мультимедиа исключительно в оборудование устройства. Эта передача выполняется без переноса функций в системную память. Например, декодер и кодировщик с одного устройства могут совместно использовать частный носитель, что приводит к значительному повышению производительности.

Чтобы использовать частные носители, мини-диск должен выполнить следующие действия в функции AVStrMiniPinProcess контакта:

  1. Если для подключения контакта выбран пользовательский носитель драйвера (например, среда контакта не KSMEDIUMSETID_Standard), драйвер должен направлять данные через свою частную шину. AVStream не включает передачу указателей потока для контактов, подключенных с помощью пользовательских носителей.

  2. Драйвер может определить подключенный контакт, вызвав KsPinGetConnectedPinFileObject.

  3. Затем драйвер может выполнять операции с буфером и направлять его в подключенный объект pin/filter через его настраиваемую среду.