Microsoft DirectX 9.0

Audio Subtypes

The following table describes the audio media subtypes.

GUID Description
MEDIASUBTYPE_PCM PCM audio.
MEDIASUBTYPE_PCMAudioObsolete Obsolete. Do not use.
MEDIASUBTYPE_MPEG1Packet MPEG1 Audio packet.
MEDIASUBTYPE_MPEG1Payload MPEG1 Audio Payload.
MEDIASUBTYPE_MPEG2_AUDIO MPEG-2 audio data
MEDIASUBTYPE_DVD_LPCM_AUDIO DVD audio data
MEDIASUBTYPE_MPEG2_AUDIO MPEG-2 audio data
MEDIASUBTYPE_DRM_Audio Corresponds to WAVE_FORMAT_DRM.
MEDIASUBTYPE_IEEE_FLOAT Corresponds to WAVE_FORMAT_IEEE_FLOAT
MEDIASUBTYPE_DOLBY_AC3 Dolby data
MEDIASUBTYPE_DOLBY_AC3_SPDIF Dolby AC3 over SPDIF.
MEDIASUBTYPE_RAW_SPORT Equivalent to MEDIASUBTYPE_DOLBY_AC3_SPDIF.
MEDIASUBTYPE_SPDIF_TAG_241h Equivalent to MEDIASUBTYPE_DOLBY_AC3_SPDIF.

The wFormatTag field in the WAVEFORMATEX structure specifies the audio format type. The format type is generally FORMAT_WaveFormatEx. Media samples are generally whole number of samples as specified in the wBitsPerSample field in the WAVEFORMATEX structure. This is not necessarily true for MPEG audio samples that can come from packetized streams and are therefore not necessarily packaged on sample / frame boundaries. For MPEG audio the time stamp in a media sample is the time stamp for the first frame whose first byte is contained in the media sample.

Media subtypes are defined for each wFormatTag as follows:

Thus, for PCM audio the subtype GUID (defined in uuids.h as MEDIASUBTYPE_PCM) is:

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

To specify padded AC3 use 0x0092 for the wFormatTag and the corresponding subtype MEDIASUBTYPE_DOLBY_AC3_SPDIF. The values 0x240 and 0x241 have also been used to indicate padded AC3 but Microsoft encourages the use of 0x0092.

The CreateAudioMediaType function can be used to create an AM_MEDIA_TYPE structure from a WAVEFORMATEX structure.

See Also