Utilisation de supports matériels dans les codecs AVStream
Un minidriver AVStream qui prend en charge les supports privés peut transférer des données dans le matériel de l’appareil, sans transfert intermédiaire vers la mémoire système.
Plus précisément, si deux filtres partagent le même support privé et le même moyen instance, Media Foundation transfère les médias exclusivement dans le matériel de l’appareil. Ce transfert se produit sans apporter les fonctions à la mémoire système. Par exemple, un décodeur et un encodeur du même appareil peuvent partager un support privé, ce qui améliore considérablement les performances.
Pour utiliser des supports privés, le minidriver doit effectuer les opérations suivantes dans la fonction AVStrMiniPinProcess de la broche :
Si le support personnalisé d’un pilote est sélectionné pour la connexion de broche (par exemple, le support de la broche n’est pas KSMEDIUMSETID_Standard), le pilote doit acheminer les données via son bus privé. AVStream n’active pas le transport de pointeur de flux pour les broches connectées à l’aide de supports personnalisés.
Le pilote peut déterminer la broche connectée en appelant KsPinGetConnectedPinFileObject.
Le pilote peut ensuite effectuer des opérations sur la mémoire tampon et l’acheminer vers l’objet broche/filtre connecté via son support personnalisé.