デコーダーが形式を拒否する理由は多数あります。 最も一般的なのは、拡張形式データが見つからないか、正しくない場合です。 拡張フォーマット・データは、メディア・タイプを記述する構造に付加されるコーデック固有の情報です。
エンコーダー オブジェクトを使用して出力の種類を列挙すると、DMO_MEDIA_TYPE 構造体の pbFormat メンバーは、WAVEFORMATEX 構造体を指します。 この構造体には拡張形式データが追加され、そのデータのサイズは WAVEFORMATEX.cbSize メンバーに格納されます。 圧縮されたデータの格納に使用されるコンテナーに関係なく、WAVEFORMATEX 構造体を保持し、デコーダーの入力の種類で使用する必要があります。 拡張形式データがないと、デコーダーはコンテンツを展開できません。
ビデオ形式の場合は、拡張フォーマット データを手動で取得し、VIDEOINFOHEADER 構造体に追加する必要があります。 詳細については、「ビデオ コーデックのプライベート データ の使用」を参照してください。
関連トピック