title: Chrome WebRTC echo cancellation and external audio sources
body: <p>I'm building a video conferencing app using Electron (version 10, Chrome v75) and WebRTC. The app has multiple windows, and in each window, I have a separate RTCPeerConnection with a different app user. The problem is that if I don't use headphones, there is a strong echo that makes the app almost unusable.</p>
  <p>I tried setting all sorts of <code>getUserMedia</code> options like <code>echoCancellation: true</code> or <code>googEchoCancellation: true</code>, <code>echoCancellationType: &quot;browser&quot;/&quot;system&quot;</code>, but none of them managed to cancel out the echo from various sound sources.</p>
  <p>This problem appears only on Mac and Linux, while Windows suppresses the echo quite efficiently.</p>
  <p>I found this Chromium issue that describes a similar problem <a href="https://bugs.chromium.org/p/webrtc/issues/detail?id=1261" rel="noreferrer">in more detail</a>.</p>
  <p>Also, when I try out this <a href="https://jsfiddle.net/jib1/n7bmkjnf/" rel="noreferrer">Fiddle</a> on Chrome + Mac or Linux (although Chrome is not perfect for this very case, find more details <a href="https://blog.mozilla.org/webrtc/fiddle-of-the-week-audio-constraints/" rel="noreferrer">here</a>), I see no effects of echo cancellation and the echo is still there. However, the same thing on Chrome + Windows or Firefox + any OS works perfectly.</p>
  <p>Can it really be that AEC (echo cancellation) within Chrome does not take into account all sound sources, and does anyone know a workaround?</p>