[wdmaudiodev] Re: Advice for Network Audio Driver

  • From: rektide <rektide@xxxxxxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Mon, 7 Dec 2009 13:18:26 -0700

On Sun, Dec 06, 2009 at 10:22:37PM -0800, Michael Lehenbauer wrote:
 
> So what is the best solution?  Initially I thought a filter driver would be
> perfect as it allows the existing audio driver to still function, but it
> seems that filter drivers won't (in general) work on Vista as WaveRT
> bypasses kernel streaming.  Given that, a GFX sAPO started to sound
> interesting, but it seems that sAPO's are tied to a *specific* audio device
> and so are not straightforward to install and might have undesirable
> side-effects (e.g. overriding any sAPO's provided by the existing driver).
>  So this seems hacky and not the kind of solution I want.
 
imo, a virtual audio device is the only viable solution.  have the userland 
forward
sound to any sound devices that need local output.

> So instead, the solution I'm leaning towards is taking the msvad sample and
> modifying it to stream data over the network instead of writing to a file.
>  I'll lose the ability to play sound locally, but I can live with it.

just have userland play the sound.
 
> So my questions are:
> 1. Am I missing any other interesting options?
> 2. Given the msvad route, any suggestions for getting the audio stream data
> to the network? :-)  I'm thinking I need a user-mode Service that
> communicates with the driver to get the audio stream (to then send it over
> the network in user-mode).  I was thinking of using named pipes for the
> user<->kernel communication, but that seems to be discouraged (though I'm
> not 100% sure why) and so I should instead probably learn how to use ioctls.
>  Does that sound right?  I'll look into the details.  Once I get it to
> user-mode, I can do the rest.

Right on with shipping the data out to userland.  Ioctls are the way to go.

Two links, first on ioctl's and second on virtual audio devices with msavd:
[1]
http://blogs.msdn.com/iliast/archive/2007/10/06/driver-driver-and-driver-application-communication.aspx
[2] http://geekswithblogs.net/kernelmode/archive/2005/10/26/58109.aspx

-rektide
******************

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: