Hello Microsoft,
This is not an answer but I can possibly make the issue clearer now.
I've run extensive tests on the AecSDKDemo and I can definitely say that it doesn't work in its current form but that there is not much wrong with it and I believe it could be fixed.
I connected two computers with UDP sockets in a VC++ program and spoke into a microphone on the first one. My voice went through the AecSDKDemo system and then through the LAME encoder and then I sent it to the other computer through the sockets where I can decompress and play it. That works fine.
However when I have another thread running on the second computer with the AecSDKDemo running there too, I turn the speakers and microphone off (on the second computer) and put the output onto a PCM file on the second computer. The PCM file should have no sound at all in it but I can clearly hear the voice that has come over from the first computer, the voice that should have been filtered out.
I see that the AecSDKDemo almost works because I can play music on a computer and record my voice on it at the same time and it filters the music out very well and stores my voice. However if the music/voice is coming in on a socket from another computer then the AecSDKDemo doesn't filter THAT out. It seems that it is filtering out something that is played on disk but not what it receives on a socket.
I'd be very grateful if anyone could sort this out and I'll certainly make the solution public here.
If I can be of any assistance or if you need any other information or code just let me know.
Peadar, Ireland 16.05.2021