1. Peer connection with inbound/outbound audio/video stream attached to a video element 2. Clone the stream to re-use on another peer connection, and attach to other audio/video elements 3. Hide the first video element This results in a local echo coming from the user's own microphone, not from any inbound audio. What's really weird is that if I display the first video element again, the echo goes away and doesn't return.
<rdar://problem/41704722>
Thanks for the report, would you be able to provide a jsfiddle or something like that so that we can easily reproduce the issue?
Still trying to find a simple way to reproduce this issue for testing. In the process I believe I at least found why the echo stops if I display the first video stream again. As a simple demonstration, I recorded the issue, viewable here: https://youtu.be/eVQVSy6Edt8 The first playing video is a peer connection that's also sending local audio/video to a conferencing application. When I start a second peer connection that also has local audio/video, you'll see that the first video stops (audio stops too). This doesn't seem to accord with the rules listed at https://webkit.org/blog/7763/a-closer-look-into-webrtc/, which say "MediaStream-backed media will autoplay if the web page is already playing audio", so I'm wondering if another bug is in order here?
This turned out to be audio playing from a video element with a local stream attached. Setting the mute property on the local video element solved the issue.