Medienquelle-Objektmodell
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 jedes Datenstroms. Weitere Informationen zu Präsentationsdeskriptoren finden Sie unter Präsentationsdeskriptoren.
- Ein oder mehrere Medienströme, die die Quelldaten generieren.
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 Wiedergaberaten, die unterstützt werden. |
IMFQualityAdvise | Ermöglicht dem Qualitätsmanager die Anpassung der Audio- oder Videoqualität. |
IMFMetadataProvider | Stellt Metadaten bereit. |
Wenn die Medienquelle mit anderen Geschwindigkeiten als normaler Geschwindigkeit (1,0) wiedergegeben werden kann, sollte der Rate Control Service (IMFRateControl und IMFRateSupport) verfügbar gemacht werden. Andernfalls wird davon ausgegangen, dass die Quelle nur die Wiedergabe mit normaler Geschwindigkeit unterstützt. Weitere Informationen finden Sie unter Implementieren des Rate-Steuerelements.
Weitere Informationen zu Dienstschnittstellen und IMFGetService finden Sie unter Dienstschnittstellen.
Mediendatenstromschnittstellen
Medienströme müssen die folgenden Schnittstellen implementieren.
Schnittstelle | BESCHREIBUNG |
---|---|
IMFMediaStream | Erforderlich für alle Medienströme. |
IMFMediaEventGenerator | Erforderlich für alle Medienströme. Die IMFMediaStream-Schnittstelle erbt diese Schnittstelle. |
Derzeit werden keine Dienstschnittstellen für Medienströme definiert.
Zugehörige Themen