Medienquellenobjektmodell
In diesem Thema wird das Objektmodell für Medienquellen in Microsoft Media Foundation beschrieben. Eine Medienquelle muss zwei Objekte implementieren:
- Ein Präsentationsdeskriptor, der den Inhalt der Quelle beschreibt, einschließlich der Anzahl der Datenströme und des Formats der einzelnen Datenströme. Weitere Informationen zu Präsentationsdeskriptoren finden Sie unter Präsentationsdeskriptoren.
- Mindestens ein Mediendatenstrom, der die Quelldaten generiert.
Die Quelle erstellt die Datenströme erst, wenn die Wiedergabe gestartet wird.
Medienquellenschnittstellen
Eine Medienquelle muss die folgenden Schnittstellen über QueryInterface-verfügbar machen.
Schnittstelle | Beschreibung |
---|---|
IMFMediaSource- | Erforderlich für alle Medienquellen. |
IMFMediaEventGenerator | Erforderlich für alle Medienquellen. Die IMFMediaSource Schnittstelle erbt diese Schnittstelle. |
Optional kann eine Medienquelle die IMFGetService Schnittstelle implementieren und eine der folgenden Schnittstellen als Dienste implementieren:
Dienstschnittstelle | Beschreibung |
---|---|
IMFRateControl- | Steuert die Wiedergaberate. |
IMFRateSupport- | Meldet den Bereich der unterstützten Wiedergaberaten. |
IMFQualityAdvise | Ermöglicht dem Qualitätsmanager, die Audio- oder Videoqualität anzupassen. |
IMFMetadataProvider- | Stellt Metadaten bereit. |
Wenn die Medienquelle mit anderen Geschwindigkeiten als normaler Geschwindigkeit (1,0) wiedergegeben werden kann, sollte sie den Rate control Service (IMFRateControl und IMFRateSupport) verfügbar machen). Andernfalls wird davon ausgegangen, dass die Quelle nur die Wiedergabe mit normaler Geschwindigkeit unterstützt. Weitere Informationen finden Sie unter Implementieren von Rate Control.
Weitere Informationen zu Dienstschnittstellen und IMFGetService-finden Sie unter Service Interfaces.
Medienstreamschnittstellen
Mediendatenströme müssen die folgenden Schnittstellen implementieren.
Schnittstelle | Beschreibung |
---|---|
IMFMediaStream- | Erforderlich für alle Mediendatenströme. |
IMFMediaEventGenerator | Erforderlich für alle Mediendatenströme. Die IMFMediaStream Schnittstelle erbt diese Schnittstelle. |
Derzeit sind keine Dienstschnittstellen für Mediendatenströme definiert.
Verwandte Themen