XNA Creators Club Online
Page 1 of 1 (6 items)
Sort Posts: Previous Next

Problem. DX11 can not mix one secondary buffer to more than 1 loudspeaker ?

Last post 8/11/2009 5:00 PM by Oleksiy Frolov. 5 replies.
  • 7/21/2009 5:55 PM

    Problem. DX11 can not mix one secondary buffer to more than 1 loudspeaker ?

    Hello

      I am playing a secondary buffer using the "WAVEFORMATEXTENSIBLE"  to some particular loudspeakers in the 5.1 system

     When migrated from Windows XP (DX9) to Windows 7 (DX11), the same code stopped working as follows:

    CreateSoundBuffer fails if I specify that playback should be to more than 1 loudspeaker, using the WAVEFORMATEXTENSIBLE format. For example:

    .dwChannelMask =  SPEAKER_FRONT_LEFT;   // WILL WORK
    .dwChannelMask =  SPEAKER_FRONT_RIGHT;   // WILL WORK
    .dwChannelMask = SPEAKER_FRONT_CENTER;   // WILL WORK
    .dwChannelMask =  SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT;   // WILL NOT WORK!!. E_INVALIDARG is returned.

    Anyone have any idea what's a problem with it?

    Thank you

    regards,
    Oleksiy
  • 8/7/2009 3:07 AM In reply to

    Re: Problem. DX11 can not mix one secondary buffer to more than 1 loudspeaker ?

    Anyone from Microsoft can comment about it ?

     If this become an issue in the official Windows 7 release, it will be a disaster

    regards,
    Oleksiy
  • 8/7/2009 3:45 AM In reply to

    Re: Problem. DX11 can not mix one secondary buffer to more than 1 loudspeaker ?

    Did it work on Vista? If you are using DirectSound, then some DirectSound features were gimped in Vista, when they introduced the new Vista audio API. Also, for games, you're supposed to use XAudio2, not DirectSound. What API are you using?

    Jon Watte, Direct3D MVP
    Tweets, occasionally
    kW X-port 3ds Max .X exporter
    kW Animation source code
  • 8/9/2009 2:54 AM In reply to

    Re: Problem. DX11 can not mix one secondary buffer to more than 1 loudspeaker ?

    Hello

     Thank you for your reply

     I do not know if it worked on Vista cause I jumped from XP directly to W7.  However, I can ask a friend to test, if it helps.

    Direct Sound is used, cause XAudio does not seem to allow the sound capture, only playback, and XACT can not route one captured source to multiple destinations. And we did not know if Xaudio will work with Direct Capture, but we know direct Sound does.

     Our application is a sound mixer (intercom), mixing signals from 3 microphones captured from 2 sound cards, to the numerous output channels of these sound cards.

    Nevertheless, the mentioned bug is  a BUG, and must be fixed, as direct sound is still a supported API, so it must work properly.


    With best regards,
    Oleksiy
  • 8/9/2009 4:59 AM In reply to

    Re: Problem. DX11 can not mix one secondary buffer to more than 1 loudspeaker ?

    The specific capabilities of DirectSound vary by hardware device. The driver support for DirectSound may vary between Windows versions. While it may be inconvenient to you that a specific behavior supported on version A does not work on version B, that's life.

    I suggest you use DirectSound for capturing the data, and XAudio to play it back. Or, if you can require Vista and up, you can use the Vista audio API.

    Jon Watte, Direct3D MVP
    Tweets, occasionally
    kW X-port 3ds Max .X exporter
    kW Animation source code
  • 8/11/2009 5:00 PM In reply to

    Re: Problem. DX11 can not mix one secondary buffer to more than 1 loudspeaker ?

    Thank you, Watte

     I will switch to XAudio.

      Hope it is able to play the buffer via more then one speaker at a time.

    regards,
    Oleksiy
Page 1 of 1 (6 items) Previous Next