[wdmaudiodev] Re: [EXTERNAL] Microsoft SYSVAD example audio driver: are APOs active?

  • From: "Matthew van Eerde" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "Matthew.van.Eerde" for DMARC)
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 18 Dec 2020 13:13:06 +0000

Don’t modify the registry. Set the registry keys via your .inf file.

From: Danijel Domazet<mailto:danijel.domazet@xxxxxxxxx>
Sent: Thursday, December 17, 2020 8:22 AM
To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Re: [EXTERNAL] Microsoft SYSVAD example audio driver: 
are APOs active?

Matthew, thanks.

I've built the example SwapAPO.dll from Microsoft, and wanted to have
that as a starting point for my own APO.

I've modified the following "FxProperties" registry keys for my device
in order to "hack" into the audio pipeline:

{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},5  {B48DEA3F-D962-425a-8D9A-9A5BB37A9904}
{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},6  {06687E71-F043-403A-BF49-CB591BA6E103}

This is because the SwapAPO.dll source defines the above GUIDS for MFX and SFX:
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FWindows-driver-samples%2Fblob%2Fmaster%2Faudio%2Fsysvad%2FAPO%2FSwapAPO%2FSwapAPODll.idl&amp;data=04%7C01%7CMatthew.van.Eerde%40microsoft.com%7C84792c01f818430120e508d8a2a7c956%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637438189545137073%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=XB%2BVN6Idjk%2Brp%2FENar04z2r8%2BYqADbDFGh3gQplDUCk%3D&amp;reserved=0
and Microsoft documentation:
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Faudio%2Fpkey-fx-modeeffectclsid&amp;data=04%7C01%7CMatthew.van.Eerde%40microsoft.com%7C84792c01f818430120e508d8a2a7c956%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637438189545137073%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=gWW%2FgSYxcPaD05e6KuTFg58est9GsOz476vcFiZsCSk%3D&amp;reserved=0
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fdrivers%2Faudio%2Fpkey-fx-streameffectclsid&amp;data=04%7C01%7CMatthew.van.Eerde%40microsoft.com%7C84792c01f818430120e508d8a2a7c956%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637438189545137073%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=ZYR%2Fk2aQmNhmDb2%2FHpqrV8hqzEfXBAxSVySHoyi1mOs%3D&amp;reserved=0

I've restarted the Windows audio process, and attached the debugger to
the audiodg.exe.

However, when I playback some audio, SwapAPO.dll is not loaded. What I
see loaded are:
C:\Program Files\EqualizerAPO\EqualizerAPO.dll
C:\Windows\System32\FMAPO64.dll
C:\Windows\System32\RltkAPOU64.dll
etc.

Have I modified the right registry keys?

Sorry for my ignorance, I am new to this.
Danijel

On Wed, Dec 16, 2020 at 7:33 PM Matthew van Eerde
<dmarc-noreply@xxxxxxxxxxxxx> wrote:


APOs are expected to be loaded in two circumstances:

Audio streaming
Audio effect queries



APOs are loaded for streaming if one of the following property keys is set:

PKEY_SFX_ProcessingModes_Supported_For_Streaming

PKEY_MFX_ProcessingModes_Supported_For_Streaming

PKEY_EFX_ProcessingModes_Supported_For_Streaming



Otherwise, they are loaded only for effects queries; such an APO is called a 
“proxy APO” because the actual processing is done elsewhere.



To debug the operation of an audio processing object, you would attach a 
user-mode debugger to the audio device graph isolation process audiodg.exe.



From: Danijel Domazet
Sent: Wednesday, December 16, 2020 10:18 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [EXTERNAL] [wdmaudiodev] Microsoft SYSVAD example audio driver: are 
APOs active?



Hi list,
I installed Microsoft's SYSVAD example audio driver with APOs, but I
am not sure if the APOs are working.
(https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FWindows-driver-samples%2Ftree%2Fmaster%2Faudio%2Fsysvad&amp;data=04%7C01%7CMatthew.van.Eerde%40microsoft.com%7C84792c01f818430120e508d8a2a7c956%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637438189545147074%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=GanaiX%2BgXwToUqEQsZMBEaNITAAk3fpRBV04gbrR1eU%3D&amp;reserved=0)

I have done the steps as in the SYSVAD documentation:

- "devcon install ComponentizedAudioSample.inf
Root\Sysvad_ComponentizedAudioSample", and received a message "Drivers
installed successfully."
- Right clicked on ComponentizedAudioSampleExtension.inf and
"install". After some time a message box popped-up saying the install
was OK.
- Right clicked on ComponentizedApoSample.inf and "install". Waited,
but no pop-up message box appeared as in step 2, so I am not sure this
step finished successfully.

What I see in the Device Manager is:

- under Sound, video and game controllers: "SYSVAD (with APO Extensions)"
- under Software components: "Audio Proxy APO Sample"
- under Audio inputs and outputs: "Headphones (SYSVAD (with APO
extensions))", and other devices too with the similar name.
Is that all I should see?

I tried to check if all is working: I played back some audio, and
found the wav files were dropped at "C:\STREAM_HOST_*.wav", which
means the driver is working.

However, my goal is the APOs.
I don't see anywhere in the sound device properties any enable/disable
checkboxes for the APOs?

Is there a way to check if APO components are correctly installed and active?

I also set-up the WinDbg host-target PC debugging session, and managed
to break into the sysvad code, but only into TabletAudioSample.sys and
not into and of the APOs (SwapAPO.dll, KWSApo.dll, DelayAPO.dll).

Any help most appreciated,
Danijel Domazet
******************

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:
https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.wdmaudiodev.com%2F&amp;data=04%7C01%7CMatthew.van.Eerde%40microsoft.com%7C84792c01f818430120e508d8a2a7c956%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637438189545147074%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=BWBWvvnnd9vqBUNkEcDXkdNw5eLTBun2ISih2kw8Bec%3D&amp;reserved=0


******************

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:
https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.wdmaudiodev.com%2F&amp;data=04%7C01%7CMatthew.van.Eerde%40microsoft.com%7C84792c01f818430120e508d8a2a7c956%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637438189545147074%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=BWBWvvnnd9vqBUNkEcDXkdNw5eLTBun2ISih2kw8Bec%3D&amp;reserved=0

Other related posts: