Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Audio Subtypes

Audio Subtypes

The following tables list media subtype GUIDs for audio. Where applicable, each table lists the equivalent format tag, declared in Mmreg.h.

Uncompressed Audio Types

GUID Description HeaderEquivalent Format Tag
MEDIASUBTYPE_IEEE_FLOATIEEE floating-point audio.uuids.hWAVE_FORMAT_IEEE_FLOAT (0x0003)
MEDIASUBTYPE_PCMPCM audio.uuids.hWAVE_FORMAT_PCM (0x0001)

 

MPEG-4 and AAC Audio Types

GUID Description HeaderEquivalent Format Tag
MEDIASUBTYPE_MPEG_ADTS_AAC

Advanced Audio Coding (AAC) audio in Audio Data Transport Stream (ADTS) format.

The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_ADTS_AAC.

The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, prior to applying spectral band replication (SBR) or parametric stereo (PS) tools, if present.

No additional data is required after the WAVEFORMATEX structure.

wmcodecdsp.hWAVE_FORMAT_MPEG_ADTS_AAC (0x1600)
MEDIASUBTYPE_MPEG_HEAAC

High-Efficiency Advanced Audio Coding (HE-AAC) stream.

The format block is an HEAACWAVEFORMAT structure.

wmcodecdsp.hWAVE_FORMAT_MPEG_HEAAC (0x1610)
MEDIASUBTYPE_MPEG_LOAS

MPEG-4 audio transport stream with a synchronization layer (LOAS) and a multiplex layer (LATM).

The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_LOAS.

The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, prior to applying spectral SBR or PS tools, if present.

No additional data is required after the WAVEFORMATEX structure.

wmcodecdsp.hWAVE_FORMAT_MPEG_LOAS (0x1602)
MEDIASUBTYPE_RAW_AAC1

Raw AAC.

The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_RAW_AAC1.

The WAVEFORMATEX structure specifies the sample rate and number of channels in the decoded audio after applying SBR and PS tools, if present.

The WAVEFORMATEX structure is followed by additional bytes that contain the AudioSpecificConfig() data, as defined by ISO/IEC 14496-3 (MPEG-4 Audio).

The length of the AudioSpecificConfig() data is 2 bytes for AAC-LC or HE-AAC with implicit signaling of SBR/PS. It is more than 2 bytes for HE-AAC with explicit signaling of SBR/PS.

wmcodecdps.hWAVE_FORMAT_RAW_AAC1 (0x00FF)

 

Dolby Audio Types

GUID Description HeaderEquivalent Format Tag
MEDIASUBTYPE_DOLBY_DDPLUSDolby Digital Plus audio.wmcodecdsp.hn/a
MEDIASUBTYPE_DOLBY_AC3Dolby Digital (AC-3) audio.ksuuids.hn/a
MEDIASUBTYPE_DOLBY_AC3_SPDIFDolby AC-3 over S/PDIF.uuids.hWAVE_FORMAT_DOLBY_AC3_SPDIF (0x0092)
MEDIASUBTYPE_DVM

DVM AC-3 codec. Used when playing an AVI files with Dolby Digital audio.

The format block is a WAVEFORMATEX structure with the format tag equal to WAVE_FORMAT_DVM.

wmcodecdsp.hWAVE_FORMAT_DVM (0x2000)
MEDIASUBTYPE_RAW_SPORTAC-3 over S/PDIF; see Remarks.uuids.hWAVE_FORMAT_RAW_SPORT (0x0240)
MEDIASUBTYPE_SPDIF_TAG_241hAC-3 over S/PDIF; see Remarks.uuids.hWAVE_FORMAT_ESST_AC3 (0x0241)

 

To specify padded AC-3, use the subtype MEDIASUBTYPE_DOLBY_AC3_SPDIF, which corresponds to a format tag of 0x0092 (WAVE_FORMAT_DOLBY_AC3_SPDIF). The values 0x240 and 0x241 have also been used to indicate padded AC-3, but Microsoft encourages the use of 0x0092.

Miscellaneous Audio Types

GUID Description HeaderEquivalent Format Tag
MEDIASUBTYPE_DRM_AudioAudio with digital rights management (DRM) protection.uuids.hWAVE_FORMAT_DRM (0x0009)
MEDIASUBTYPE_DTS

Digital Theater Systems (DTS) audio.

The format block is a WAVEFORMATEX structure with the format tag equal to WAVE_FORMAT_UNKNOWN.

ksuuids.hn/a
MEDIASUBTYPE_DTS2

Digital Theater Systems (DTS) audio.

The format block is a WAVEFORMATEX structure with the format tag equal to WAVE_FORMAT_DTS2.

This subtype is equivalent to MEDIASUBTYPE_DTS but uses a different format tag.

wmcodecdsp.hWAVE_FORMAT_DTS2 (0x2001)
MEDIASUBTYPE_DVD_LPCM_AUDIODVD audio data.ksuuids.hn/a
MEDIASUBTYPE_MPEG1AudioPayloadMPEG-1 audio payload.uuids.hWAVE_FORMAT_MPEG (0x0050)
MEDIASUBTYPE_MPEG1PacketMPEG1 audio packet.uuids.hn/a
MEDIASUBTYPE_MPEG1PayloadMPEG1 audio Payload.uuids.hn/a
MEDIASUBTYPE_MPEG2_AUDIOMPEG-2 audio data.ksuuids.hn/a

 

Audio Format Tags

The wFormatTag field in the WAVEFORMATEX structure specifies the audio format type. 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:

  • The Data1 subfield of the subtype GUID is the same as the wFormatTag value.
  • The Data 2 field is 0.
  • The Data 3 field is 0x0010.
  • The Data 4 field is 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71.

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

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

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

Obsolete Audio Types

The following audio subtypes are obsolete and should not be used:

  • MEDIASUBTYPE_MPEG_RAW_AAC
  • MEDIASUBTYPE_PCMAudioObsolete

See also

AM_MEDIA_TYPE
Media Types

 

 

Community Additions

ADD
Show:
© 2015 Microsoft