Freigeben über


MFCreateSampleCopierMFT-Funktion (mfidl.h)

Erstellt eine instance der Beispielkopiertransformation.

Syntax

HRESULT MFCreateSampleCopierMFT(
  [out] IMFTransform **ppCopierMFT
);

Parameter

[out] ppCopierMFT

Empfängt einen Zeiger auf die IMFTransform-Schnittstelle . Der Aufrufer muss die Schnittstelle freigeben.

Rückgabewert

Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Der Beispielkopierer ist eine Media Foundation-Transformation (MFT), die Daten aus Eingabebeispielen in Ausgabebeispiele kopiert, ohne die Daten zu ändern. Die folgenden Daten werden aus dem Beispiel kopiert:

  • Alle Beispielattribute.
  • Der Zeitstempel und die Dauer.
  • Beispielflags (siehe IMFSample::SetSampleFlags).
  • Die Daten in den Medienpuffern. Wenn das Eingabebeispiel mehrere Puffer enthält, werden die Daten in einen einzelnen Puffer des Ausgabebeispiels kopiert.
Dieses MFT ist in der folgenden Situation nützlich:
  • Ein Pipelineobjekt, z. B. eine Medienquelle, ordnet Medienbeispiele für die Ausgabe zu.
  • Ein anderes Pipelineobjekt, z. B. eine Mediensenke, ordnet seine eigenen Medienbeispiele für die Eingabe zu. Beispielsweise kann das Objekt Puffer erfordern, die aus einem speziellen Speicherpool zugeordnet sind, z. B. Videospeicher.
Das folgende Diagramm zeigt diese Situation mit einer Medienquelle und einer Mediensenke. Diagramm: Medienquelle verweist auf ein Beispiel; Mediensenke verweist auf ein zweites Beispiel; Beispielkopierer zeigt auf einen Pfeil vom ersten Zum zweiten Beispiel

Damit die Mediensenke Daten von der Medienquelle empfangen kann, müssen die Daten in die Medienbeispiele der Mediensenke kopiert werden. Zu diesem Zweck kann der Beispielkopierer verwendet werden.

Ein spezifisches Beispiel für eine solche Mediensenke ist der Enhanced Video Renderer (EVR). Der EVR ordnet Beispiele zu, die Direct3D-Oberflächenpuffer enthalten, sodass keine Videobeispiele direkt von einer Medienquelle empfangen werden können. Ab Windows 7 verarbeitet das Topologieladeprogramm diesen Fall automatisch, indem er den Beispielkopierer zwischen der Medienquelle und dem EVR einfügt.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mfidl.h
Bibliothek Mf.lib
DLL Mf.dll

Weitere Informationen

Media Foundation-Funktionen