[wdmaudiodev] Re: Understanding USB Feature Unit Descriptors

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 14 Jan 2011 12:04:02 -0800

RYAN ALLAN wrote:
>
> I am developing a USB-to-analog audio device, and am seeing strange
> volume scaling behavior from Windows 7/Vista machines. The problem is
> not apparent with XP machines.
>
> I am using the following Feature Unit Descriptors.
> Get_Min: 0x01, 0x80
> Get_Max: 0xFF, 0x7F
> Get_Res: 0x00, 0x10
>
> This tells me that the volume will be in the range from Min:0x8001 to
> Max:0x7FFFF, and each step (each time the volume is incremented via
> volume+ button on a multimedia keyboard) will be of size Res:0x1000.
> Is this correct?
>

If the step size is 0x1000, shouldn't the range be 0x9000 to 0x7000?

The GET_RES response gives the minimum change your device can respond
to.  The operating system is not obligated to limit its requests to
those values, although it usually tries to do so.

Can your device really apply 120dB of gain to the signal?  That's a big
amplifier -- a billion to 1 increase.  Most volume controls are strictly
attenuators, so the maximum gain value is 0.

-- 
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.

Other related posts: