[wdmaudiodev] Limiting max number of APO instances

  • From: Culann mac Cabe <culann@xxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 12 Mar 2019 17:11:14 +0000

Hello all,

I am developing an APO to run in Windows Audio Engine for my USB headset
device.  I need to support Windows 7 and my APO changes the Input->Output
channel count so via its .inf file I am registering it as LFX for Windows
7/8/8.1 and SFX for Windows 10.

I want to define a limit to the maximum number of instances of my APO,
primarily for DSP performance reasons.  I can do this in code, e.g. using
CRegAPOProperties in my APO's constructor or alternatively counting
instances and running DSP processing accordingly...  I'd like a better
approach than hard-coding such.

I note the existence of the "MaxInstances" Registry Key at

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AudioEngine\AudioProcessingObjects\{MY_APO_GUID}

and this looks like it will do the job for me so I could e.g. as part of my
installation write this key with the value I want...

My compound question is:

   1. Will Windows be ok with my doing this?  (As in: is this "legal" for
   an APO?)
   2. With my instance-limited APO active, what will Windows Audio Engine
   do when the User exceeds the max?  (my guess is it simply won't instantiate
   the APO on that stream).

Thanks!
Culann

Other related posts:

  • » [wdmaudiodev] Limiting max number of APO instances - Culann mac Cabe