[wdmaudiodev] Best mechanism to pass real time rapidly changing data to APO

  • From: Culann mac Cabe <culann@xxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 20 Apr 2021 16:24:37 +0100

Hello wdmaudiodev people!

I have an APO-related technical implementation that I'd like comments on
please.
The scenario:

   - I have an APO doing a DSP process
   - I have external hardware connected to the PC via Bluetooth LE that is
   constantly generating data
   - I want to pass that data to the APO to modify its processing
   parameters accordingly

Here's what I have already:

   - The APO runs alongside a complementary Property Page, which I use for
   once-off, or rarely-used parameters
      - Handy but doesn't provide a solution for my requirement
   -   The APO runs alongside a complementary Windows Service, which I use
   for detection of hardware insertion/removal and the like

I have recently experimented with using my Windows Service to receive data
from my BLE hardware and write it to a Windows registry key that hangs off
my audio device's Properties Win Reg node.  I can configure my APO to
listen for updates to the Audio Device's Windows Registry Properties and in
this way I can pass the data from my BLE hardware to the APO.

My data rate is not super high: I get about 50 bytes at a rate of 100Hz
(that is to say: 50 times a second I get 50 bytes of data).

And so to the question(s):  is the scheme outlined (Windows Service
receives data from HW & updates Windows Registry; APO gets update
notification and retrieves data) fit for purpose?  Is there a better way
that someone can outline?

Thanks!
Culann

Other related posts:

  • » [wdmaudiodev] Best mechanism to pass real time rapidly changing data to APO - Culann mac Cabe