Freigeben über


Verwenden von Hardwaremedien in AVStream-Codecs

Ein AVStream-Minitreiber, der private Medien unterstützt, kann Daten in der Gerätehardware übertragen, ohne dass eine Zwischenübertragung in den Systemspeicher erfolgt.

Wenn zwei Filter dasselbe private Medium und dasselbe Medium instance verwenden, überträgt Media Foundation Medien ausschließlich in Gerätehardware. Diese Übertragung erfolgt, ohne die Funktionen in den Systemspeicher zu übertragen. Beispielsweise können ein Decoder und ein Encoder desselben Geräts ein privates Medium gemeinsam nutzen, was zu einer deutlich verbesserten Leistung führt.

Um private Medien zu verwenden, sollte der Minidriver in der AVStrMiniPinProcess-Funktion des Pins die folgenden Schritte ausführen:

  1. Wenn das benutzerdefinierte Medium eines Treibers für die Pinverbindung ausgewählt wird (z. B. ist das Medium des Pins nicht KSMEDIUMSETID_Standard), sollte der Treiber die Daten über seinen privaten Bus weiterleiten. AVStream aktiviert keinen Streamzeigertransport für Pins, die über benutzerdefinierte Medien verbunden sind.

  2. Der Treiber kann den verbundenen Pin ermitteln, indem er KsPinGetConnectedPinFileObject aufruft.

  3. Der Treiber kann dann Vorgänge für den Puffer ausführen und ihn über sein benutzerdefiniertes Medium an das verbundene Pin-/Filterobjekt weiterleiten.