Quellleser

Der Quellleser ist eine Alternative zur Verwendung der Mediensitzung und der Microsoft Media Foundation Pipeline zum Verarbeiten von Mediendaten.

Gründe für die Verwendung des Quelllesers

Media Foundation stellt eine Pipeline bereit, die für die Wiedergabe optimiert ist. Die Pipeline ist end-to-end, d.h. sie verarbeitet den Datenfluss von der Quelle (z. B. einer Videodatei) bis zum Ziel (z. B. die Grafikanzeige). Wenn Sie die Daten jedoch während der Pipeline lesen oder ändern möchten, müssen Sie ein benutzerdefiniertes Plug-In schreiben. Dies erfordert eine ziemlich tiefe Kenntnis der Media Foundation Pipeline. Für bestimmte Aufgaben ist das Erstellen eines neuen Plug-Ins zu viel Aufwand. Der Quellleser ist für diese Art von Situation konzipiert, wenn Sie die Rohdaten ohne den Mehraufwand der gesamten Pipeline aus einer Quelle abrufen möchten.

Intern enthält der Quellleser einen Zeiger auf eine Medienquelle. Eine Medienquelle ist ein Media Foundation Objekt, das Mediendaten aus einer externen Quelle generiert, z. B. einer Mediendatei oder einem Videoaufnahmegerät. Der Quellleser verwaltet alle Methodenaufrufe an die Medienquelle. (Weitere Informationen zu Medienquellen finden Sie unter Medienquellen.)

Wenn die Medienquelle komprimierte Daten übermittelt, können Sie den Quellleser verwenden, um die Daten zu decodieren. In diesem Fall lädt der Quellleser den richtigen Decoder und verwaltet den Datenfluss zwischen der Medienquelle und dem Decoder. Der Quellleser kann auch eine eingeschränkte Videoverarbeitung durchführen: Farbkonvertierung von YUV in RGB-32 und Softwaredeinterlacing, obwohl diese Vorgänge für das Rendern von Echtzeitvideos nicht empfohlen werden. Die folgende Abbildung veranschaulicht diesen Prozess.

Diagramm des Quelllesers

Der Quellleser sendet die Daten nicht an ein Ziel. es liegt an der Anwendung, die Daten zu nutzen. Beispielsweise kann der Quellleser eine Videodatei lesen, das Video wird jedoch nicht auf dem Bildschirm gerendert. Außerdem verwaltet der Quellleser keine Präsentationsuhr, behandelt keine Zeitsteuerungsprobleme oder synchronisiert Videos nicht mit Audio.

Erwägen Sie die Verwendung des Quelllesers in den:

  • Sie möchten Daten aus einer Mediendatei abrufen, ohne sich Gedanken über die zugrunde liegende Dateistruktur machen zu müssen.
  • Sie möchten Daten von einem Audio- oder Videoaufnahmegerät abrufen.
  • Ihre Datenverarbeitungsaufgaben sind nicht zeitabhängig, oder Sie benötigen keine Präsentationsuhr.
  • Sie verfügen bereits über eine Medienpipeline, die nicht auf Media Foundation basiert, und Sie möchten die Media Foundation Medienquellen in Ihre eigene Pipeline integrieren.

Der Quellleser wird in den folgenden Situationen nicht empfohlen:

  • Für geschützten Inhalt. Der Quellleser unterstützt digital rights management (DRM) nicht.
  • Wenn Sie die Details der zugrunde liegenden Dateistruktur interessieren. Der Quellleser blendet diesen Detailtyp aus.

In diesem Abschnitt

Thema Beschreibung
Verwenden des Quelllesers zum Verarbeiten von Mediendaten
In diesem Thema wird beschrieben, wie Der Quellleser zum Verarbeiten von Mediendaten verwendet wird.
Verwenden des Quelllesers im asynchronen Modus
In diesem Thema wird beschrieben, wie der Quellleser im asynchronen Modus verwendet wird.
Tutorial: Decodieren von Audio
In diesem Tutorial wird gezeigt, wie Sie den Quellleser verwenden, um Audiodaten aus einer Mediendatei zu decodieren und die Audiodaten in eine WAVE-Datei zu schreiben.

Media Foundation-Architektur

Media Foundation Programmierhandbuch

SOURCEReader