I’ve been using mediasoup for a few weeks and it’s been wonderful! I’m trying to do something that seems fairly simple, but I’m running into wildly different behavior between Chrome and Chrome Embedded Framework.
In short, I’ve recreated the mediasoup v3 demo from scratch. I’m using protoo and all of the same frameworks. I have all of the demo functionality working perfectly, but I’m trying to add one small feature. As a client, I’d like to mute/unmute any participant, but only for my computer. I do not want to mute them globally.
I implemented this by just setting the srcObject on the
For a second, I thought maybe mediasoup was doing server-side mixing, but I can’t hear my own audio. So either mediasoup is server-side mixing all audio into a single stream for each client, or Chrome Embedded Framework seems to play all incoming webrtc audio streams as soon as you set even one of them on an tag.
Anyway, I’d love some insight into this. I don’t really know how I can debug this one much further. Is this something you’ve all seen previously?
Just to add some notes to this. The Chrome version I’m using is 83.0.4103.106 where the Chromium Embedded Framework version is 59.0.3071.15. Unfortunately, I have no control over the CEF version here : (
I’m guessing if it’s a bug in the CEF version, my best fix would be to use protoo to signal to the server to mute the producer on the server side?
Mute the Consumer in server side (consumer.pause()) so you don’t receive audio RTP and save bandwidth. Also call pause() in the client side Consumer to avoid comfort noise generated by Chrome.