[wdmaudiodev] Re: USB Audio/WASAPI channel limits?

  • From: "Jerry Evans" <jerry@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 5 Feb 2014 19:21:12 -0000

Matthew, thanks. I am investigating from the API side right now. I will post
once I have some data. 

 

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eerde
Sent: 05 February 2014 19:11
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits?

 

Well, let's see.

 

You can use KS Studio to validate directly that instantiating a pin with a
(say) 40-channel WAVEFORMATEX works.

 

If your data ranges advertise only a (say) 40-channel format, then I would
expect shared-mode capture not to work at all, since Windows has no idea how
to downmix 40 channels without a channel mask to, e.g., mono. Whether
exclusive-mode capture should work in this situation is less clear.

 

If you advertise both a (say) 2-channel format and a 40-channel format, then
I would expect shared-mode capture to work (in 2-channel mode) and I would
also expect exclusive-mode capture to work in both 2-channel mode and
40-channel mode (with a zero channel mask.) If that is not the case I would
open a support ticket on http://support.microsoft.com/ since there's likely
a bug in the capture stack.

 

It would be helpful to know what function was failing (e.g.,
IAudioClient::IsFormatSupported(AUDCLNT_SHAREMODE_EXCLUSIVE, .)) as well as
the specific HRESULT that was being returned.

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jerry Evans
Sent: Wednesday, February 5, 2014 10:55 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits?

 

Yes. It is odd. The descriptors all appear valid. 

 

Can I infer there are no explicit limitations in the stack? This is possibly
not a show stopper as 32+ channels is a large number in most practical
contexts. However, and annoyingly, the audio system for another well-known
proprietary OS seems happy to allow us to stream 80 channels .

 

Thanks and any other suggestions welcomed.

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eerde
Sent: 05 February 2014 18:36
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: USB Audio/WASAPI channel limits?

 

The "channel mask" section of a WAVEFORMATEXTENSIBLE is a 32-bit number.
Perhaps you're tripping some wave format validation that assumes a valid
WAVEFORMATEX only ever has fewer than 32 channels. (This sounds like a bug
to me, since a channel mask of zero is always valid.)

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jerry Evans
Sent: Wednesday, February 5, 2014 10:27 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] USB Audio/WASAPI channel limits?

 

Greetings.

 

I'm developing a USB2 input only audio device that exposes a large (N >= 24)
number of channels. 

 

The device is recognized and streams correctly on W7x64 at up to 32
channels, 48K sample rate and both 16 and 24 bit sample sizes. Data is
recorded accurately using various commercial WASAPI hosts (Sonar/Tracktion)

 

Windows, however, appears to baulk at any larger channel count. The various
USB tracers (both stack and wire) show Windows sending a QUERY_CAPABILITIES
every second or so when device is configured with 32 channels. Anything
above that and zero action.

 

Is there some hard limit or have I missed something?

 

Cheers.

 

Jerry

Other related posts: