none
How WIN8 audio driver know that APP Set PKEY_AudioEndpoint_Disable_SysFx to 1? RRS feed

  • Question

  • Hi ,

    I met a issue when running audio device WHCK test "Verify audio effect discovery".

    The WHCK app Set PKEY_AudioEndpoint_Disable_SysFx to 1, to disable enhancements.   But  WIN8 BT audio driver not aware of this operation,  still expose "AcousticEchoCancellation"  and  "NoiseSuppression".

    My question is how audio driver be notified or aware of that  WHCK app  Set PKEY_AudioEndpoint_Disable_SysFx to 1,   so that  audio driver won't expose "AcousticEchoCancellation"  and  "NoiseSuppression"  these two property   to OS ??

    Can somebody help me on this?   

    Thanks a lot !!

    Tuesday, January 21, 2014 2:19 AM

Answers

  • This is a bug in the test.

    Bluetooth Hands-Free noise reduction and acoustic echo cancelation is a feature of the HF device (the headset.)

    Once the HF device has decided to turn it on, the Audio Gateway (the Windows device) cannot turn it off. So the driver must continue to report AcousticEchoCancellation and NoiseSuppression on the capture pin, regardless of the state of PKEY_AudioEndpoint_Disable_SysFx.

    The driver must also report only AUDIO_SIGNALPROCESSINGMODE_DEFAULT on this pin; apps can't capture in "raw" mode, because the processing is being done in the device and can't be turned off.

    You can work around the bug by using an HF device which does not turn on its own processing, and thus does not notify the AG to disable its processing. The Plantronics 260 is one such device.


    Matthew van Eerde

    Tuesday, January 21, 2014 7:59 PM

All replies

  • This is a bug in the test.

    Bluetooth Hands-Free noise reduction and acoustic echo cancelation is a feature of the HF device (the headset.)

    Once the HF device has decided to turn it on, the Audio Gateway (the Windows device) cannot turn it off. So the driver must continue to report AcousticEchoCancellation and NoiseSuppression on the capture pin, regardless of the state of PKEY_AudioEndpoint_Disable_SysFx.

    The driver must also report only AUDIO_SIGNALPROCESSINGMODE_DEFAULT on this pin; apps can't capture in "raw" mode, because the processing is being done in the device and can't be turned off.

    You can work around the bug by using an HF device which does not turn on its own processing, and thus does not notify the AG to disable its processing. The Plantronics 260 is one such device.


    Matthew van Eerde

    Tuesday, January 21, 2014 7:59 PM
  • Hi  Matt,

    Many Thanks for your reply   :)

    Do Plantronics 260 device belong to the kind that NOT support NREC? 

    And for the state of PKEY_AudioEndpoint_Disable_SysFx,  do our own miniport audio driver need handle it for BT HFP endpoint?
    • Edited by Devin_Xiao Wednesday, January 22, 2014 9:50 AM
    Wednesday, January 22, 2014 2:06 AM