Header File Changes

The Windows Driver Kit (WDK) contains two header files that define the speaker configurations that are supported by the Windows multimedia control panel:

  • Ksmedia.h defines the channel masks for the KSAUDIO_CHANNEL_CONFIG structure that is used by the KSPROPERTY_AUDIO_CHANNEL_CONFIG property request.

  • Dsound.h defines a list of speaker-configuration identifiers that can be submitted to the IDirectSound::SetSpeakerConfig method. For more information about this method, see the Windows SDK documentation.

In Windows Server 2003, Windows XP with SP1, Windows 2000, and Windows Me/98, Ksmedia.h defines the channel masks that are shown in the following table for 5.1- and 7.1-channel streams.

Parameter name Channel mask Speaker positions

KSAUDIO_SPEAKER_5POINT1

0x3F

FL, FR, FC, LFE, BL, BR

KSAUDIO_SPEAKER_7POINT1

0xFF

FL, FR, FC, LFE, BL, BR, FLC, FRC

The two channel masks in the preceding table represent the 5.1 speaker configuration and the 7.1 speaker configuration. To identify the same two speaker configurations, Dsound.h defines the following speaker-configuration IDs:

  #define DSSPEAKER_5POINT1      0x00000006
  #define DSSPEAKER_7POINT1      0x00000007

In Windows XP with SP2 and later versions of Windows, Ksmedia.h defines the channel masks shown in the following table for 5.1- and 7.1-channel streams.

Parameter name Channel mask Speaker positions

KSAUDIO_SPEAKER_5POINT1

0x3F

FL, FR, FC, LFE, BL, BR

KSAUDIO_SPEAKER_7POINT1_SURROUND

0x63F

FL, FR, FC, LFE, BL, BR, SL, SR

By comparing the two preceding tables, the following points are apparent:

  • The meaning of the channel mask 0x3F in the first table has not changed in the second table, even though in Windows SP2 and later versions of Windows, KSAUDIO_SPEAKER_5POINT1 is interpreted to use SL and SR speakers instead of BL and BR.

  • A new channel mask that has the value 0x63F is supported. This channel mask represents the 7.1 home theater speaker configuration.

  • Note   In Windows Vista and later versions of Windows, the KSAUDIO_SPEAKER_7POINT1 speaker configuration is no longer supported. As a result, it is not an available option in Control Panel.

To represent the same set of speaker configurations, Dsound.h defines the following speaker-configuration IDs:

  #define DSSPEAKER_5POINT1             0x00000006
  #define DSSPEAKER_7POINT1             0x00000007
  #define DSSPEAKER_7POINT1_SURROUND    0x00000008
  #define DSSPEAKER_7POINT1_WIDE        DSSPEAKER_7POINT1

DSSPEAKER_7POINT1_SURROUND represents the new 7.1 home theater speaker configuration in Control Panel. DSSPEAKER_7POINT1 and DSSPEAKER_7POINT1_WIDE are both names for the same 7.1 wide configuration speakers configuration.

For more information about speaker configuration for DirectSound, see DirectSound Speaker-Configuration Settings.