[wdmaudiodev] Re: Hi,

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Fri, 27 Jan 2006 09:58:51 -0800

Nugen wrote:

> I have one WIndows XP application that must receive audio streams from
> an external USB device (that presents audio class compliant descriptors).
> The application will send "at the same time"  this stream
> (synchronized and mixed with others audio source) on an another audio
> device - sound card - for playback.
> This application needs very low latency.
> So i tried to find out the best way to capture audio streams from my
> external USB audio device.

Well, the problem is not so much "low latency" as it is "predictably
latency", right?  For example, if you have a DirectShow graph to mix the
streams, and you discover that your USB audio stream is 10 milliseconds
behind your PCI audio stream, you can compensate for that by putting a
delay into the PCI audio stream.  That latency is going to be pretty
consistant for that given set of hardware.  No matter what you do, even
if you use DirectKS, you are never going to get two audio streams to
line up exactly.  You will always have to compensate in some way.

> I understand that i have to use DirectKS (to get a low latency) to
> access directly a device driver -- bypassing the Kmixer.
> DirectKS will help me for enumerating, opening and communicate with
> the device driver.
> Do i have to develop my own Device Driver ? or can i use the UAA USB
> Audio 1.0 class driver?
> I'm new with this architecture and peharps i missed something...

Using DirectKS is going to be a lot more trouble than building and
tuning a DirectShow graph.  You need to be really sure that DirectShow
won't solve your problem.

DirectKS will give you access to the existing usbaudio.sys driver. 
Believe me when I say that you do NOT want to architect your own audio
driver.  Usbaudio.sys has had 10 years of testing and high-energy
engineering effort.  There are lots of ways to do it wrong.

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


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


Other related posts: