New issue
Advanced search Search tips

Issue 700223 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

echoCancellation: false does not turn off echo cancellation

Reported by and...@tokbox.com, Mar 10 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36

Steps to reproduce the problem:
1. Go to https://appr.tc/r/room-of-your-choice
2. Set a breakpoint at line 1 of apprtc.debug.js
3. Refresh
4. When you hit the breakpoint, run this code in the console:

(() => {
  const originalGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);

  navigator.mediaDevices.getUserMedia = (constraints) => {
    console.log('intercepted constraints:', constraints);
    constraints.audio = { echoCancellation: false };
    console.log('new constraints:', constraints);
    return originalGetUserMedia(constraints);
  };
})();

5. Continue
6. Join the meeting
7. Have another person set this up in the same room and talk to them
8. Observe that no echo is occurring

What is the expected behavior?
You should be able to hear yourself as your voice comes out of the other person's speakers and into their microphone and back to you.

What went wrong?
Echo cancellation was not turned off.

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 56.0.2924.87  Channel: n/a
OS Version: OS X 10.12.2
Flash Version: Shockwave Flash 24.0 r0

I was able to get the expected echo by doing this in Firefox with the same setup.

 

Comment 1 by and...@tokbox.com, Mar 10 2017

Definitely works in Firefox - sorry I must have missed the "Does this work in other browsers?" question when filling out the bug details.
Labels: Needs-Triage-M56

Comment 3 by guidou@chromium.org, Mar 12 2017

Owner: guidou@chromium.org
Status: Assigned (was: Unconfirmed)
This probably because the false is given as an ideal value and the existing constraints processing algorithm does not support ideal.
We are working on fixing this.

Comment 4 by guidou@chromium.org, Mar 12 2017

In the meantime you can try:

constraints.audio = { echoCancellation: { exact: false } };

Comment 5 by and...@tokbox.com, Mar 12 2017

Oh drat. I didn't realise a boolean could still be a type of ideal constraint. I'll give exact a go.
Status: Fixed (was: Assigned)
This should work on the latest M61.

Sign in to add a comment