Frank Yerrace schrieb:
Yes I'm sure that it is a clean install of Windows 7 Professional with the newest updates. And when I plug in the PCM2904 the default audio format is Mono, 16Bit, 44100Hz. In the Attachement you can see the screen of the control panel after i pluged in the USB Device and windows had installed the standard driver with the inf file wdma_audio.inf.If the device is offering both mono and stereo 16-bit 44100Hz, Windows 7 should default to using the stereo format. Are you sure you see this behavior on a clean install of Windows 7?
The Vendor ID of the device is: 0x08BB and the Product ID: 0x2904
This USB device does not implement a volume feature unit. But how can I remove this extra gain?Regarding your observation of gain, first let me ask: does this USB device implement a Volume feature unit? I ask this because Windows 7 does have a known issue applying extra gain to audio capture devices that do not implement their own volume control "in the hardware".
No it isn't a device that our company is manufacturing. It is a device from TI.Frank Yerrace Microsoft This posting is provided "AS IS" with no warranties, and confers no rights. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Tim Roberts Sent: Tuesday, February 23, 2010 10:20 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Change default sound format with an inf File in Win7 Ueli Giger wrote:That's a good idea cause I only want to make the format Stereo 16Bit 44100 Hz, but how can I do this? My problem is that I've no experience in programming a lower filter driver. Can you give me any good links or examples?Is this a device that your company is manufacturing? If so, then justchange the configuration descriptors to advertise that one format only. Easy solution.Filter drivers are pretty easy with KMDF. There are good samples in the DDK, in src\general\toaster\filter for one. One way to do this is to have your filter driver intercept the URB_GET_DESCRIPTOR_FROM_DEVICE request, and rewrite it to have only the format you want. That's not rocket science, but there are a lot of details. You have to allocate memory to hold the revised descriptor, parse it well enough to find the format descriptor, and copy it back into the URB.
I think too that LabView should overwrite the format, but it isn't so. I'm in contact with the LabViewProblem 1: When you plug in the PCM2904, Win7 finds the USB Audio Codec and installs it with the default format Mono, 16 Bit, 44100 Hz. But we need the format Stereo, 16 Bit, 44100 Hz. To solve this problem my idea was to copy the standard .inf file and add the lines for the default format and then install this driver over the standard usb audio driver.I don't understand that. Windows should choose the most capable format the device offers, unless there is already a format override. But regardless of that, if the application needs a specific format, why can't you have your LabView application override the format? THAT'S the right solution, not this ugly driver mucking. Kernel code should always be a last resort.
support too to clear this issue.
Problem 2: Under Win7 we have an additional gain of +40dB against the measurements with win XP. When I change the format over the control panel when the LabView application is running, the gain disappears and the measurement is the same as in XP. What could be the reasons for this gain? And how can I bypass my signal without any gains?How is that possible? +40dB is a ratio of 10,000 to 1. A 16-bit format only has a range of +/- 32,768. There must be something else going on there.
I think because of the reason that Frank Yerrace pointed out.