Freigeben über


Warum akzeptiert ein Decoder das von mir festgelegte Eingabeformat nicht?

Es gibt viele Gründe, warum ein Decoder ein Format ablehnt. Am häufigsten fehlen oder falsche Daten im erweiterten Format. Bei den Daten im erweiterten Format handelt es sich um Codec-spezifische Informationen, die an die Struktur angefügt werden, die den Medientyp beschreibt.

Wenn Sie einen Ausgabetyp mithilfe eines Encoderobjekts auflisten, zeigt das pbFormat-Element der DMO_MEDIA_TYPE-Struktur auf eine WAVEFORMATEX-Struktur . Diese Struktur enthält erweiterte Formatdaten, und die Größe dieser Daten wird im WAVEFORMATEX.cbSize-Element gespeichert. Unabhängig vom Container, der zum Speichern der komprimierten Daten verwendet wird, müssen Sie die WAVEFORMATEX-Struktur beibehalten und im Eingabetyp für den Decoder verwenden. Ohne die Daten im erweiterten Format kann der Decoder den Inhalt nicht dekomprimieren.

Bei Videoformaten müssen Sie die Erweiterten Formatdaten manuell abrufen und an die VIDEOINFOHEADER-Struktur anfügen. Weitere Informationen finden Sie unter Verwenden privater Videocodecdaten.

Häufig gestellte Fragen