MPEG1Source-Beispiel

Zeigt, wie eine benutzerdefinierte Medienquelle in Microsoft Media Foundation geschrieben wird. Das Beispiel implementiert eine Medienquelle, die MPEG-1-Datenströme auf Systemebene analysiert und Beispiele generiert, die MPEG-1-Nutzlasten enthalten.

Gezeigte APIs

In diesem Beispiel werden die folgenden Media Foundation-Schnittstellen veranschaulicht:

Bevor Sie dieses Beispiel untersuchen, sollten Sie das WavSource-Beispiel lesen, das eine einfachere Implementierung einer Medienquelle bietet. Das MPEG1Source-Beispiel fügt einige Features hinzu, die in den meisten realen Implementierungen einer Medienquelle zu finden sind:

  • Mehrere Datenströme
  • Asynchrone Methoden
  • Asynchrone E/A

Im Windows SDK für Windows Server 2008 enthält dieses Beispiel auch einen MPEG-1-Videodecoder, der den Zeitcode für jeden Videoframe anzeigt. (Der MPEG-1-Bitstream wird nicht tatsächlich decodiert.)

Ab dem Windows SDK für Windows 7 wurde der Decoder in ein separates Beispiel verschoben. Weitere Informationen finden Sie unter Decoderbeispiel.

Verbrauch

Im MPEG1Source-Beispiel wird eine DLL erstellt, bei der es sich um einen COM-Server für die Medienquelle, den Bytestreamhandler der Medienquelle und den Decoder-MFT handelt. Bevor Sie die Medienquelle verwenden, müssen Sie die DLL registrieren.

Um die Medienquelle zu verwenden, können Sie das BasicPlayback-Beispiel ausführen. Der Quelllöser lädt die Medienquelle automatisch, wenn Sie eine MPEG-1-Datei für die Wiedergabe auswählen. (Wenn ein Fehler auftritt, stellen Sie sicher, dass Sie die MPEG1Source-DLL erfolgreich registriert haben.)

Sie können auch das TopoEdit-Tool verwenden, um eine Wiedergabetopologie zu erstellen, die die Medienquelle enthält. Weitere Informationen zu TopoEdit finden Sie unter TopoEdit.

Anforderungen

Produkt Version
Windows SDK Windows 7

 

Herunterladen des Beispiels

Dieses Beispiel ist im GitHub-Repository für klassische Windows-Beispiele verfügbar.

Media Foundation-SDK-Beispiele

Medienquellen

Schemahandler und Byte-Stream Handler

Tutorial: Schreiben einer benutzerdefinierten Medienquelle

WavSource-Beispiel