I am trying to create a WINDOWS c# (WPF, FORMS) over Wifi, app as follows:
RPI opus senders (32 clients) -> WINDOWS PC ( mix them ALL + wasapisrc) -> CLIENTS back. Because clients receive their own voice the overall latency must be real-time (bellow 15 ms, 20 ms), as echo is disturbing. Multicast on Wifi is out of discussion. The Wifi ping latency provided by router is below 4 ms.
What I have done : Using Gst sharp binding created Main pipeline, added Wasapisrc (BIN ASYNC=false,Exclusive, low-latency), Wasapisink (ASYNC BIN with sync=true) AudioMixer( output-buffer-duration=2.5 ms), OPUSENC+PAYLOADER with frame-size=2.5 ms, and multiudpsink (buffer-size=1)
What I need is : RT task priority on WINDOWS (the PC is now,I7 computer, OS stripped down for unnecessary services, ready for real-time audio) dinamic pipeline ( source -> mixer - > multiudp sink). Another issue is the multithreading environement as wee need lots of tee-queues.
Please advice, some c# code guidence is most welcome as on c# there is not much to go with.