Freigeben über


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.

Medienquellen