オーディオ サブタイプ

次の表は、オーディオ メディア サブタイプを示している。

GUID 説明
MEDIASUBTYPE_PCM PCM オーディオ。
MEDIASUBTYPE_PCMAudioObsolete 使われていない。使用しないこと。
MEDIASUBTYPE_MPEG1Packet MPEG1 オーディオ パケット。
MEDIASUBTYPE_MPEG1Payload MPEG1 オーディオ ペイロード。
MEDIASUBTYPE_MPEG2_AUDIO MPEG-2 オーディオ データ。
MEDIASUBTYPE_DVD_LPCM_AUDIO DVD オーディオ データ。
MEDIASUBTYPE_MPEG2_AUDIO MPEG-2 オーディオ データ。
MEDIASUBTYPE_DRM_Audio WAVE_FORMAT_DRM に対応する。
MEDIASUBTYPE_IEEE_FLOAT WAVE_FORMAT_IEEE_FLOAT に対応する。
MEDIASUBTYPE_DOLBY_AC3 Dolby データ。
MEDIASUBTYPE_DOLBY_AC3_SPDIF SPDIF の Dolby AC3
MEDIASUBTYPE_RAW_SPORT MEDIASUBTYPE_DOLBY_AC3_SPDIF と同等。
MEDIASUBTYPE_SPDIF_TAG_241h MEDIASUBTYPE_DOLBY_AC3_SPDIF と同等。

WAVEFORMATEX 構造体の wFormatTag フィールドは、オーディオ フォーマット タイプを指定する。一般的にフォーマット タイプは、FORMAT_WaveFormatEx である。メディア サンプルは、一般的に、WAVEFORMATEX 構造体の wBitsPerSample フィールドで指定されるサンプル全体である。この条件は、元がパケット化されたストリームである可能性があり、したがって、必ずしもサンプル/フレーム境界上にパッケージされていない MPEG オーディオ サンプルには当てはまらない。MPEG オーディオの場合、メディア サンプルのタイム スタンプは、フレームの最初のバイトがメディア サンプルに含まれている最初のフレームのタイム スタンプである。

それぞれの wFormatTag に対応するメディア サブタイプの定義を次に示す。

  • メディア サブタイプの Data1 サブフィールドは、wFormatTag 値と同じ。
  • Data 2 フィールドは 0。
  • Data 3 フィールドは 0x0010。
  • Data 4 フィールドは、0x80、0x00、0x00、0xAA、0x00、0x38、0x9B、0x71。

したがって、PCM オーディオのサブタイプ GUID (uuids.h 内で MEDIASUBTYPE_PCM として定義される) は、次のようになる。

{00000001-0000-0010-8000-00AA00389B71}

パディングされた AC3 を指定するには、wFormatTag および対応するサブタイプ MEDIASUBTYPE_DOLBY_AC3_SPDIF に 0x0092 を使う。値 0x240 および 0x241 もパディングされた AC3 の指定に使われてきたが、Microsoft は 0x0092 の使用を推奨している。

CreateAudioMediaType 関数を使って、WAVEFORMATEX 構造体から AM_MEDIA_TYPE 構造体を作成できる。

参照