[wdmaudiodev] Re: SFX, MFX, EFX

  • From: "Leonard Shoell" <lshoell@xxxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 9 May 2014 15:08:19 -0600

Perfect, thanks.


We use inbox drivers, so we don't have to worry about that part of the




From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eerde
Sent: Friday, May 9, 2014 3:01 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: SFX, MFX, EFX


You can have a single .inf  + .dll + .sys that work on both Windows
8.1-and-later and Windows 8.0-and-earlier.



Include PKEY_FX_PreMixCLSID and PKEY_FX_PostMixCLSID. Windows 8.0 and before
will use these.

Also include the correct combination of
PKEY_FX_(Stream|Mode|Endpoint)EffectClsId and
PKEY_(SFX|MFX|EFX)_ProcessingModes_Supported_For_Streaming. Windows 8.1 and
later will use these.



Accept both an APOInitSystemEffects and an APOInitSystemEffects2. You can
expect to receive only an APOInitSystemEffects on Windows 8.0 and before,
and only an APOInitSystemEffects2 on Windows 8.1 and later.

Implement IAudioSystemEffects2. You will only ever be QI'd for this on
Windows 8.1 and later, and then only when an app queries the list of active
audio effects.


It is also important to confirm that the .sys you're packaged with supports
KSPROPERTY_AUDIOSIGNALPROCESSING_MODES. The inbox drivers were all updated:
(hdaudio.sys, usbaudio.sys, btha2dp.sys, bthhfaud.sys.)


You can manually stimulate the IAudioSystemEffects2 path by using the HLK
test, or by using the "Audio effects discovery" sample from the SDK:




Other related posts: