Uso de medios de hardware en códecs AVStream
Un minidriver AVStream que admite medios privados puede transferir datos en el hardware del dispositivo, sin una transferencia intermedia a la memoria del sistema.
En concreto, si dos filtros comparten la misma instancia media y media privada, Media Foundation transfiere medios exclusivamente en hardware del dispositivo. Esta transferencia se produce sin llevar las funciones a la memoria del sistema. Por ejemplo, un descodificador y un codificador del mismo dispositivo pueden compartir un medio privado, lo que mejora significativamente el rendimiento.
Para usar medios privados, el minidriver debe hacer lo siguiente en la función AVStrMiniPinProcess del pin:
Si se selecciona el medio personalizado de un controlador para la conexión de patilla (por ejemplo, el medio del pin no es KSMEDIUMSETID_Standard), el controlador debe enrutar los datos a través de su bus privado. AVStream no habilita el transporte de punteros de flujo para patillas conectadas mediante medios personalizados.
El controlador puede determinar el pin conectado llamando a KsPinGetConnectedPinFileObject.
Después, el controlador puede realizar operaciones en el búfer y enrutarla al objeto de pin/filtro conectado a través de su medio personalizado.