Re: USBAudio.sys source code
- From: pgruebele <pgruebele@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 23 Apr 2009 13:21:02 -0700
Thanks for the info Tim.
I am not in detail familiar with the usbaudio filter architecture but since
I need to support high speed USB with a USB transaction rate of more than 1
per ms (the USB audio driver requires bInterval to be 4, I would need it to
be at least 3 in order to accomodate higher bit rates), I doubt that a lower
or upper filter driver could accomodate this. It could only map a USB audio
2.0 structure to 1.0?
Working with MS to extend the current driver to support higher bandwidth
devices would be a good option. I think that the USBAudio.sys would only
require relatively minor changes in order to support higher bit rates. In
fact it already works for the most part. Only the asynchronous feedback
implementation causes system crashes at 192/24.
Can someone from MS chime in on this? I heard throught he grapevine that
there is no work going on relative to USB Audio class 2.0 support. Is this
correct? If not, I would be interested in some cooperative work...
The reason the USBAudio.sys driver is relatively complicated is because it
needs to support a variety of devices and has an extensible architecture. My
driver would be much simpler since it could be tailored specifically to my
device. I would not even have to deal with the USB descriptors since I would
know what the device capabilities are. So, I think writing my own driver
should not be that complicated.
Thanks
Philip
"Tim Roberts" wrote:
pgruebele <pgruebele@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:.
I need to develop a USB audio class 2.0 driver and would like to base it on
the USBAudio.sys audio class 1.0 driver. Is it possible to get the source
code to USBAudio.sys in order to expedite this process?
You can get a Windows source license, but it is quite expensive, and you
would be prohibited from distributing a product derived from it. So, in
practical terms, the answer is no.
If this is not possible, does anyone have recommendations for how to go
about this without having to write everything from scratch? For example,
what would be the best way to write an audio device driver that is compatible
with vista/7 or xp/vista/7?
I see two possible paths to success. One path would be for you to contact
the Microsoft audio team and get involved in their process. I have no
doubt that someone in Redmond is working on this. If you are producing a
leading edge USB Audio Class 2.0 device, I'm sure they would be tickled to
have an additional test platform, in exchange for giving you early access
to the new driver.
If that doesn't work, the next best path (in my opinion) is to write filter
drivers around the existing usbaudio.sys. There is an ENORMOUS amount of
infrastructure in usbaudio.sys, and it took some very smart folks at
Microsoft four tries in four years to get something that really did a good
job. You do not want to recreate all of that.
I don't know whether a lower filter would be enough, or if you would need
both a lower filter and an upper filter, but even writing two filters is
much, MUCH less work than starting over from scratch.
This driver will work in XP, Vista, and 7.
--
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.
- Follow-Ups:
- Re: USBAudio.sys source code
- From: Tim Roberts
- Re: USBAudio.sys source code
- References:
- USBAudio.sys source code
- From: pgruebele
- Re: USBAudio.sys source code
- From: Tim Roberts
- USBAudio.sys source code
- Prev by Date: Re: power management in WDF drivers
- Next by Date: Re: Staging /Installating Driver package for a printer hardware ID
- Previous by thread: Re: USBAudio.sys source code
- Next by thread: Re: USBAudio.sys source code
- Index(es):
Relevant Pages
|