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.
- 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.
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 |