[wdmaudiodev] Re: USB audio record problem
- From: "Daniel E. Germann" <deg@xxxxxxxx>
- To: <wdmaudiodev@xxxxxxxxxxxxx>
- Date: Wed, 26 Oct 2011 12:47:42 -0500
I changed our USB audio device so that the record side sends 24-bit
data in a 32-bit field to the PC. I can see what appears to be valid 24-in-32 audio data on our USB analyzer. But I'm still getting data
that looks like this in the capture buffer:
FFFFFF4F FFFFFFBA 00000016 FFFFFF76 000000AD FFFFFFD6
00000078 FFFFFFD2 00000021 FFFFFFC4 00000011 FFFFFF82
FFFFFF8E 00000092 00000040
FFFFFFFA FFFFFFA4 00000046
FFFFFFAA FFFFFFFB 00000018 FFFFFFB8 FFFFFFF7 0000001C
That's using WAVE_FORMAT_EXTENSIBLE with wBitsPerSample set to 32 and wValidBitsPerSample set to 24 -- which exactly matches the audio format
sent by the USB device.
There's clearly something wrong here. Either I'm missing something in our USB Audio Class device implementation
(although the device works fine in 24-bit mode on Windows 7), or there's something wrong in the wave format descriptors in our test program (which
also works fine on Windows 7), or there's some kind of problem in how Windows XP deals with record data from 24-bit USB audio devices.
Playback works fine. And if I open the record device in 16-bit mode (even though it's still sending 24-bit audio), that works,
too. This only happens when the device is opened in 24-bit mode.
Can anyone shed some light on this problem? Does anyone have a USB
Audio Class input (record) device with 24-bit audio working with the in-the-box drivers on Windows XP?
Thanks,
-Dan
On Fri, 14
Oct 2011 19:55:22 -0500
"Daniel E. Germann" <deg@xxxxxxxx> wrote:
> Hi, Matthew.
>
> Interesting. So you're
saying that KMixer won't do an
>automatic bit depth conversion in that case? It
>certainly seems to be doing bit depth conversion
for
>16-bit-in-16-bit-container mode. But it won't do it for
>24-bit-in-32-bit-container mode? So if I change the USB
>format descriptor to 24-bit-in-32-bit-container mode (and
>make the corresponding alignment changes to the data),
>then all will
be well? I hate to do that because it
>wastes a lot of USB bandwidth.
>
> And that still doesn't explain why when I open the
>device in 24-bit-in-24-bit-container mode, it doesn't
>work. That is the one format that ought to work -- it's
>exactly
what the device supports. But all I get in that
>mode are 000000's and FFFFFF's. The only format I can
>get to work is
16-bit-in-16-bit-container. Do you have
>any idea why this doesn't work?
>
> Can any other USB audio device developers shed
some
>light here? Are you all using 24-bit-in-32-bit-container
>mode for your audio? Is anyone successfully using
>24-bit-in-24-bit-container mode?
>
> Thank you,
> -Dan
>
> -----
>
>From: Matthew van
Eerde
> To: <wdmaudiodev@xxxxxxxxxxxxx>
> Date: Sat, 15 Oct 2011 00:26:42 +0000
>
> If the device supports only
24-bits-in-24-bit
>containers, I would expect the
> driver to fail any request for 24-bit-in-32-bit
>containers. If the
driver is
> falsely accepting requests for formats that the hardware
>doesn't support, that
> would explain why the audio data is
corrupted.
>
******************
WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/
Other related posts: