New issue
Advanced search Search tips

Issue 905983 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Nov 16
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Disabling echoCancellation in getUserMedia creates a stereo stream

Reported by n...@alexjacobi.com, Nov 16

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36

Steps to reproduce the problem:
1. Open example (or go to https://codepen.io/anon/pen/mQwxQg)
2. Outputted Settings have channelCount: 2
3. Comment Out "echoCancellation: false,"
4. Outputted Settings have channelCount: 1

What is the expected behavior?
Given channelCount: 1 should be respected in presence of echoCancellation: false

What went wrong?
Disabling echoCancellation sets the channelCount to 2

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 70.0.3538.102  Channel: stable
OS Version: 
Flash Version:
 
bug.html
645 bytes View Download
Components: Blink>GetUserMedia
Status: WontFix (was: Unconfirmed)
This is not a bug. There is nothing in the spec that says channelCount must be 1 in any case (or 2 for that matter).

If echoCancellation is set to false and no constraints are given for the other audio-processing properties (autoGainControl and noiseSuppression), all audio-processing is disabled in Chrome and, if you have a stereo mic, you get a stereo stream.

Chrome's audio-processing module outputs mono, which explains why channelCount is 1 when audio processing is enabled.
The constraints in the example contain channelCount: 1. Thus I'm excepting to retrieve a mono stream. But this contstraint is not respected if the audio-processing is disabled. 
That's a separate bug that has nothing to do with echoCancellation. 
getUserMedia() in Chrome currently does not respect the channelCount, sampleRate, sampleSize, volume and latency properties, but it does report the values for them via getSettings().
The work to make getUserMedia() respect these constraints is being tracked in bug 	731170.

Sign in to add a comment