[wdmaudiodev] Re: Issues in installing custom sAPO.

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 9 Oct 2012 09:31:41 -0700

Vinayak Srivastava wrote:
>
> I am trying to install a Custom sAPO for providing custom audio
> effects to the speakers.
>
> I am stuck with a few issues in this approach :
>
> - I am not able to install it for a USB audio device connected to the
> system. Is there any modification required to be done to the sysfx.inf
> file for this?

Well, of course you have to modify the INF to match the hardware ID of
your USB device, instead of the HDAUDIO device it currently matches. 
Plus, you'll have to change the Includes/Needs lines in the INF to load
the usbaudio.sys driver from wdma_usb.inf, instead of the WaveRT driver
it now gets from hdaudio.inf.


> - After successful installation of Custom sAPO for a HD Audio Device,
> if a new audio device is plugged in, then how can I address it (to
> install my custom sAPO for it as well)?

The Microsoft philosophy is that the APO is part of the driver.  The APO
is installed in an INF file that identifies specific devices.  When a
new device arrives that matches your INF, it will get the APO.  Other
devices won't.

There is no supported method to create a standalone APO that attaches to
arbitrary devices.  That's contrary to the philosophy.  The reasons for
this are sound (so to speak).  Prior to Vista, everyone and his brother
was creating filter drivers to "add value" in the audio stream.  The
result was a disaster for critical audio applications.  Filters fought
with each other, and latency and throughput were unpredictable.  Thus,
that path is no longer allowed.  APOs allow a particular hardware vendor
to provide some neat effects with their hardware, but applications are
in control.  If an application wants to run audio without the effects,
it can turn off all of the APOs and talk to the raw device.


> - Also, in some cases audio devices in windows system comes with
> drivers like Realtek Sound Manager. Is it possible to apply my sAPO
> effects to these as well ?

The Sound Manager is just an application.  Realtek hardware comes with
audio drivers, and those drivers can include APOs like any other.  You
can't add your APO to what they are doing without rewriting their INF
file, and that breaks the signature.


> Note that I'm not developing my our own audio driver for high
> definition (HD) or USB speaker. My approach here is to just update the
> existing audio driver using  sysfx.inf file to apply audio effects.

Sorry, that approach is not supported by Microsoft.  To ship your APO,
you need to work with an audio hardware vendor to have your software
shipped with their hardware.

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

Other related posts: