Konfigurieren von Codec DMOs

In diesem Thema wird der Prozess zum Konfigurieren des Codec-DMOs beschrieben. Jeder Codec verfügt über bestimmte Verfahren, aber die Informationen, die allen gemeinsam sind, werden hier beschrieben.

Konfigurieren von DMO Eingaben und Ausgaben

Jede DMO unterstützt bestimmte Eingabe- und Ausgabetypen. Sie können unterstützte Typen für Eingaben und Ausgaben abrufen, indem Sie IMediaObject::GetInputType für Eingaben und IMediaObject::GetOutputType für Ausgaben aufrufen. Sie können die unterstützten Formate aufzählen, indem Sie wiederholte Aufrufe an beiden Methoden ausführen, indem Sie den Typindex mit jedem Aufruf erhöhen. Wenn der Index den letzten unterstützten Typ überschreitet, gibt der Aufruf DMO_E_NO_MORE_ITEMS zurück.

Für die Videocodecs wird nur ein Ausgabetyp oder ein Eingabetyp für einen bestimmten Medienuntertyp aufgezählt. Für die Audiocodecs wird jeder einzelne unterstützte Typ aufgezählt. Weitere Informationen zu unterstützten Typen für einzelne Codecs finden Sie unter Arbeiten mit Audio und Arbeiten mit Video.

Nachdem Sie die Medientypen für die Eingabe- und Ausgabedatenströme konfiguriert haben, legen Sie sie durch Aufrufen von IMediaObject::SetInputType und IMediaObject::SetOutputType bzw. IMediaObject::SetOutputType fest. Beide Methoden geben DMO_E_TYPE_NOT_ACCEPTED zurück, wenn der angegebene Typ ungültig ist.

Konfigurieren des Codec-DMOs für die Codierung

Alle Windows Medienaudio- und Videocodecs unterstützen eine Vielzahl von Codierungsfeatures. Diese Features werden im Allgemeinen konfiguriert, indem Eigenschaften für die DMO mithilfe der Methoden der IPropertyBag-Schnittstelle festgelegt werden. Einige Eigenschaften werden mithilfe spezieller Codecschnittstellen konfiguriert. Diese Schnittstellen werden für jeden Codec im Abschnitt Codec-Objekte aufgeführt.

Die allgemeine Reihenfolge der Vorgänge zum Konfigurieren einer Codierung DMO lautet wie folgt:

  1. Konfigurieren Sie Codec-Features wie gewünscht mithilfe der Methoden von IPropertyBag.
  2. Verwenden Sie den Codec DMO Schnittstellen, um bei Bedarf zusätzliche Features zu konfigurieren.
  3. Konfigurieren Sie die Eingabe- und Ausgabetypen. Die Reihenfolge, in der die Typen konfiguriert werden sollen, variiert für einzelne Codecs. Weitere Informationen finden Sie unter Arbeiten mit Audio und Arbeiten mit Video.

Konfigurieren des Codec-DMOs für die Decodierung

Die Decodierung ist einfacher als die Codierung, da weniger Decoderfeatures unterstützt werden.

Die allgemeine Reihenfolge der Vorgänge zum Konfigurieren einer Decodierung DMO lautet wie folgt:

  1. Konfigurieren Sie Decoderfeatures wie gewünscht mithilfe der Methoden von IPropertyBag.
  2. Legen Sie den Eingabetyp auf den Typ fest, der für die Encoderausgabe verwendet wird.
  3. Konfigurieren Sie den Ausgabetyp. Die unterstützten Ausgabetypen unterscheiden sich für unterschiedliche Eingaben.

Hinweis

Es ist wichtig, denselben Medientyp für die Decodereingabe zu verwenden, wie für die Encoderausgabe verwendet wurde. Dies liegt daran, dass die Windows Media Audio- und Video-Codecs Medienformate mit zusätzlichen Daten verwenden. Diese Daten werden an die Struktur angefügt, auf die das pbFormat-Element der DMO_MEDIA_TYPE Struktur verweist (in der Regel VIDEOINFOHEADER oder WAVEFORMATEX). Für einige Typen sind die zusätzlichen Daten Teil des aufgezählten Encoderausgabetyps. Andere Typen erfordern, dass Sie diese Daten manuell anfügen. Ohne die erweiterten Formatdaten können Sie den komprimierten Inhalt nicht decodieren.

 

Arbeiten mit Codec DMOs