New issue
Advanced search Search tips

Issue 802198 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 780877



Sign in to add a comment

Constraints onr reopening devices don't work right for echoCancellation

Project Member Reported by hta@chromium.org, Jan 16 2018

Issue description

Chrome Version: 63.0.3239.132 (Offisiell delversjon) (64-bit)
OS: Linux (probably all)

What steps will reproduce the problem?
(1) patch in the WebRTC demo PR for "unprocessed volume":
https://github.com/webrtc/samples/pull/993
(2) Run it, and observe the console.
This calls getUserMedia({audio: true}), and then
getUserMedia({audio: {exact: false}}).

(3)

What is the expected result?

EITHER: Second audio track is opened with echo cancellation off
OR: Second audio track can't be opened because it's overconstrained


What happens instead?

Second audio track is opened, getSettings() shows that it has echo cancellation turned on.

 

Comment 1 by hta@chromium.org, Jan 16 2018

Blocking: 780877

Comment 2 by guidou@chromium.org, Jan 16 2018

Status: Assigned (was: Untriaged)

Comment 3 by hta@chromium.org, Jan 16 2018

Observation: On Firefox, the second track is returned with "echoCancellation: false" in settings. No observable difference in the levels in the demo, but the demo doesn't cause echo either.

Comment 4 by guidou@chromium.org, Jan 23 2018

Labels: -Pri-3 Pri-2
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 31 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0b4af239dd7e31dbfdb88167c0d954532332e588

commit 0b4af239dd7e31dbfdb88167c0d954532332e588
Author: Guido Urdaneta <guidou@chromium.org>
Date: Wed Jan 31 16:09:15 2018

Update MediaStreamTrack constraints processing algorithm for audio

This CL introduces two main updates to constraints processing for audio:
1. The SelectSettings() algorithm now considers audio-processing
   properties as belonging to each device instead of being considered
   independent of the device. The reason is that, while the
   audio-processing module can be applied to any source, once a source
   has processing applied, all tracks for that source must use the same
   audio-processing settings.
2. The getUserMedia() implementation leverages (1) and makes sure that
   candidate settings for audio sources already in use are limited to
   their current configuration.

Bug:  802198 
Change-Id: I3554206e852ff41116a1fe02be45a7a8dff4760d
Reviewed-on: https://chromium-review.googlesource.com/881183
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533288}
[modify] https://crrev.com/0b4af239dd7e31dbfdb88167c0d954532332e588/content/browser/webrtc/webrtc_getusermedia_browsertest.cc
[modify] https://crrev.com/0b4af239dd7e31dbfdb88167c0d954532332e588/content/renderer/media/media_stream_constraints_util_audio.cc
[modify] https://crrev.com/0b4af239dd7e31dbfdb88167c0d954532332e588/content/renderer/media/media_stream_constraints_util_audio.h
[modify] https://crrev.com/0b4af239dd7e31dbfdb88167c0d954532332e588/content/renderer/media/media_stream_constraints_util_audio_unittest.cc
[modify] https://crrev.com/0b4af239dd7e31dbfdb88167c0d954532332e588/content/renderer/media/user_media_processor.cc
[modify] https://crrev.com/0b4af239dd7e31dbfdb88167c0d954532332e588/content/renderer/media/user_media_processor.h
[modify] https://crrev.com/0b4af239dd7e31dbfdb88167c0d954532332e588/content/test/data/media/getusermedia.html

Comment 6 by guidou@chromium.org, Jan 31 2018

Status: Fixed (was: Assigned)

Sign in to add a comment