Schreiben eines benutzerdefinierten MFT
In diesem Abschnitt wird das Schreiben einer benutzerdefinierten Media Foundation-Transformation (MFT) beschrieben.
MFT-Checkliste
Wenn Sie einen benutzerdefinierten MFT implementieren, verwenden Sie die folgende Prüfliste, um die Anforderungen zu ermitteln:
MFT | Anforderungen |
---|---|
Alle MFTs | Alle MFTs müssen IMFTransform implementieren. Die folgenden Themen enthalten weitere Informationen zur Implementierung dieser Schnittstelle: |
Encoder und Decoder | Anforderungen: Siehe Implementieren eines Codecs MFT. Empfohlen: Implementieren Sie IMFQualityAdvise oder IMFQualityAdvise2, um QoS-Benachrichtigungen (Quality-of-Service) zu unterstützen. |
Videodecoder und Videoprozessoren | Optional: Unterstützung der DirectX-Videobeschleunigung. |
Hardwarecodecs | Weitere Informationen finden Sie unter Hardware-MFTs. |
Damit Ihr MFT von Anwendungen auffindbar ist... | Weitere Informationen finden Sie unter Registrieren und Auflisten von MFTs. |
Asynchrone Datenverarbeitung | Das MFT-Standardmodell verwendet synchrone (blockierende) Aufrufe zum Verarbeiten von Daten. Bei einigen MFTs kann die asynchrone Verarbeitung effizienter sein. Es ist jedoch auch komplexer zu implementieren. Weitere Informationen finden Sie unter Asynchrone MFTs. |
Ratensteuerung, Trickmodus oder umgekehrte Wiedergabe | Weitere Informationen finden Sie unter Implementieren der Ratensteuerung. |
Wenn Ihr MFT Threads erstellt... | Implementieren Sie die IMFRealTimeClient-Schnittstelle . |
Wenn Ihr MFT Lizenzeinschränkungen aufweist... | Erwägen Sie, den Field-of-Use-Mechanismus zu verwenden. Weitere Informationen finden Sie unter Feldeinschränkungen. |
Wenn Sie ein vorhandenes DirectX Media Object (DMO) portieren... | Siehe Vergleich von MFTs und DMOs. |
Dieser Abschnitt enthält die folgenden Themen:
- Zeitstempel und Dauer
- Behandeln von Streamänderungen
- Implementieren eines Codec-MFT
- Direct3D-fähige MFTs
- Hardware-MFTs
- Codec-Verdienst