New issue
Advanced search Search tips

Issue 731170 link

Starred by 11 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocked on:
issue 834281

Blocking:
issue 842877
issue 453876


Participants' hotlists:
WebRTC-1.0-Spec-Compliance


Sign in to add a comment

Support device-related constraints in getUserMedia

Project Member Reported by guidou@chromium.org, Jun 8 2017

Issue description

Add support for the sampleRate, sampleSize and channelCount standard constraints.
These constraints can be used both to select device (e.g., rejecting a sample rate not supported by the system), or to initialize the device using nondefault device parameters.

This should be supported with both device and content capture.
 
Labels: -Type-Bug Type-Feature

Comment 2 by guidou@chromium.org, Jun 12 2017

Description: Show this description

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

Summary: Support device-related constraints in getUserMedia (was: Support initializing audio input devices using nondevice parametes using constraints)

Comment 4 by guidou@chromium.org, Apr 11 2018

This also includes groupId, which applies only to device capture.

Comment 5 by guidou@chromium.org, Apr 18 2018

Blockedon: 834281
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 21 2018

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

commit 6b396491e3118250c9bdbded2a807ecb1eb5273e
Author: Guido Urdaneta <guidou@chromium.org>
Date: Thu Jun 21 16:22:52 2018

Support all constrainable properties for audio tracks in MediaStreamTrack.getSettings().

Intent to Ship thread:
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/wJwVSo52Dno/CjrUTTuyBAAJ

Bug: 731170
Change-Id: I53274b2bf5a622cb50d4b59f521bf56160172b61
Reviewed-on: https://chromium-review.googlesource.com/1100884
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569288}
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/content/renderer/media/stream/media_stream_center.cc
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/content/renderer/media/stream/media_stream_center.h
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStreamTrack-getSettings.https.html
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/third_party/blink/public/platform/web_media_stream_center.h
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/third_party/blink/public/platform/web_media_stream_track.h
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/third_party/blink/renderer/modules/mediastream/media_stream_track.cc
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/third_party/blink/renderer/modules/mediastream/media_track_settings.idl
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/third_party/blink/renderer/platform/mediastream/media_stream_center.cc
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/third_party/blink/renderer/platform/mediastream/media_stream_center.h
[modify] https://crrev.com/6b396491e3118250c9bdbded2a807ecb1eb5273e/third_party/blink/renderer/platform/mediastream/media_stream_source.cc

Cc: grunell@chromium.org
Cc: guidou@chromium.org
Owner: ar...@chromium.org
Blocking: 842877
Blocking: 855371
Blocking: -855371 453876
Status: Started (was: Assigned)
Cc: henrika@chromium.org
Project Member

Comment 14 by bugdroid1@chromium.org, Sep 6

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

commit 3289aa51ae166e86f940262ce0a5d4ec8b5abd04
Author: Armando Miraglia <armax@chromium.org>
Date: Thu Sep 06 14:47:23 2018

[CLEANUP] Refactor audio_processing_sample_rate into a static header constant.

The audio_processing_sample_rate is currently only used in
media_stream_audio_processor.cc however this will be needed for crbug/731170 to
define valid constraints.

This CL turns the definition of such variable into a more generally
available static constant.

Bonus: I am associating a new bug to the comment written on top rather
than keep it assigned to a specific user.

BUG=731170

Change-Id: Ib69fed0a44dfa7a11732221b7ef5d143c739abfd
Reviewed-on: https://chromium-review.googlesource.com/1209702
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Armando Miraglia <armax@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589165}
[modify] https://crrev.com/3289aa51ae166e86f940262ce0a5d4ec8b5abd04/content/renderer/media/stream/media_stream_audio_processor.cc
[modify] https://crrev.com/3289aa51ae166e86f940262ce0a5d4ec8b5abd04/content/renderer/media/stream/media_stream_audio_processor_options.h
[modify] https://crrev.com/3289aa51ae166e86f940262ce0a5d4ec8b5abd04/content/renderer/media/stream/media_stream_audio_processor_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Sep 12

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

commit 7b50488f908671a5618bd8cafe79f8ed0fbb545c
Author: Armando Miraglia <armax@chromium.org>
Date: Wed Sep 12 13:20:04 2018

[CLEANUP] Define a shared constant for audio latency constants.

As we will need such constants for latency constraints in crbug/731170,
I am redefining the constant as it will be needed later on. I am taking
advantage of the occasion to replace the explicit account reference in
the TODO to the mentioned bug.

BUG=731170
R=guidou@chromium.org

Change-Id: Ic371c900f1dc88486768839dc09463e5580099b3
Reviewed-on: https://chromium-review.googlesource.com/1213089
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Armando Miraglia <armax@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590655}
[modify] https://crrev.com/7b50488f908671a5618bd8cafe79f8ed0fbb545c/content/renderer/media/stream/local_media_stream_audio_source.cc
[modify] https://crrev.com/7b50488f908671a5618bd8cafe79f8ed0fbb545c/content/renderer/media/stream/media_stream_audio_source.h

Project Member

Comment 16 by bugdroid1@chromium.org, Sep 24

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

commit 835d54579bcaa41d8e9a95df30c0ba781023a3b0
Author: Armando Miraglia <armax@chromium.org>
Date: Mon Sep 24 15:17:42 2018

[CLEANUP] Removing unused AudioParameters parameter from settings constructor.

Considering that audio paramters are passed but not used by the
AudioCaptureSettings, it is better remove them for now. Later, we will
change the implementation so that AudioCaptureSettings directly stores
the parameters that are not related to audio processing.

BUG=731170
TESTED=ran content_unittests & ran the browser + called getUserMedia.

Change-Id: I530d1dbe50e9d2438df189d28c9f4ade42dd271d
Reviewed-on: https://chromium-review.googlesource.com/1238723
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Armando Miraglia <armax@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593541}
[modify] https://crrev.com/835d54579bcaa41d8e9a95df30c0ba781023a3b0/content/renderer/media/stream/media_stream_constraints_util.cc
[modify] https://crrev.com/835d54579bcaa41d8e9a95df30c0ba781023a3b0/content/renderer/media/stream/media_stream_constraints_util.h
[modify] https://crrev.com/835d54579bcaa41d8e9a95df30c0ba781023a3b0/content/renderer/media/stream/media_stream_constraints_util_audio.cc
[modify] https://crrev.com/835d54579bcaa41d8e9a95df30c0ba781023a3b0/content/renderer/media/stream/media_stream_constraints_util_audio_unittest.cc

 Issue 889851  has been merged into this issue.
Project Member

Comment 18 by bugdroid1@chromium.org, Oct 26

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

commit f25eeff19a9b44bd0351782fa6b0aa3c8f7a1bc7
Author: Guido Urdaneta <guidou@chromium.org>
Date: Fri Oct 26 11:20:58 2018

Specialize media_constraints::DiscreteSet<bool>::is_universal()

It is easy to produce explicit universal cases for discrete sets of
boolean values since there are only to possible values.
This CL adds an specialization so that the common case of a set with
{true,false} is considered universal.
This helps simplify some of the constraints processing code for audio,
which contains many boolean properties.

Bug: 731170
Change-Id: Ie7cd41a161f9de93fbc13273d44d2cccaa217522
Reviewed-on: https://chromium-review.googlesource.com/c/1299004
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603056}
[modify] https://crrev.com/f25eeff19a9b44bd0351782fa6b0aa3c8f7a1bc7/content/renderer/media/stream/media_stream_constraints_util_sets.h
[modify] https://crrev.com/f25eeff19a9b44bd0351782fa6b0aa3c8f7a1bc7/content/renderer/media/stream/media_stream_constraints_util_sets_unittest.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 2

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

commit 8ef38ad61684ccedb171f2d3da700b25a73edaa8
Author: Armando Miraglia <armax@chromium.org>
Date: Fri Nov 02 12:51:13 2018

[getUserMedia] Consolidate Fitness and SelectBestSettings in a single function.

While Fitness returns a single double value, the SelectBestSettings
returns the best settings for a specific property. Independently of the
difference in return type, the logic to determine fitness and
best settings is the same.

This change-list aims at consolidating the two functions to reduce code
and logic duplication in the getUserMedia code.

BUG=731170
TESTED=./out/Default/content_unittests

Change-Id: I91e84a8b9b41cd8b7dff9d08790695ae85670278
Reviewed-on: https://chromium-review.googlesource.com/c/1311918
Commit-Queue: Armando Miraglia <armax@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604898}
[modify] https://crrev.com/8ef38ad61684ccedb171f2d3da700b25a73edaa8/content/renderer/media/stream/media_stream_constraints_util_audio.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Nov 2

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

commit d6d6508369e5b0fc0f05b40a8be7a929ec468e7f
Author: Guido Urdaneta <guidou@chromium.org>
Date: Fri Nov 02 13:07:21 2018

Add extra tests for content::media_constraint::DiscreteSet<bool>

Bug: 731170
Change-Id: Icb96f03c5a50c1c2387b8a077ff087d783030bae
Reviewed-on: https://chromium-review.googlesource.com/c/1309787
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604900}
[modify] https://crrev.com/d6d6508369e5b0fc0f05b40a8be7a929ec468e7f/content/renderer/media/stream/media_stream_constraints_util_sets_unittest.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 21

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

commit 2f227e786a580f0310b6059a3fbe972dc3e44f0e
Author: Armando Miraglia <armax@chromium.org>
Date: Wed Nov 21 15:43:33 2018

[getUserMedia] Refactor code to consolidate audio constraints processing.

The refactoring aims at making more explicit the relationship between
the various level of aggregations and the properties. The various levels
of aggregation for audio constraints now abide a general implicit interface,
by implementing ApplyConstraintSet, IsEmpty, and SelectSettingsAndScore.
Such interface expresses the general functionalities implemented by the
various levels of aggregation.

The first level of aggregation is represented by CandidatesContainer,
which owns all the candidates and by looping over all determines the
best fitting.

The second level of aggregation is represented by the DeviceContainer,
representing a single candidate. The container is responsible to
determine the best fitting setting for each single setting.

Finally, the third level of aggregation is represented by
BooleanContainer, StringContainer, and EchoCancellationContainer. Here
each container abstracts, per-type, the relationship between constraints
and settings. The echo cancellation, in this case, requires special
treatment due to the relationship between 3 constraints and one output
setting.

BUG=731170
TESTED=./out/Default/content_unittests
R=guidou@chromium.org

Change-Id: I70df75d4aa0a4c825dc4a34bdc62a5580ba1993c
Reviewed-on: https://chromium-review.googlesource.com/c/1326489
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610071}
[modify] https://crrev.com/2f227e786a580f0310b6059a3fbe972dc3e44f0e/content/renderer/media/stream/media_stream_constraints_util_audio.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Dec 17

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

commit 7fae926c3dde83038f5f5372663e0e9720ec5801
Author: Armando Miraglia <armax@chromium.org>
Date: Mon Dec 17 15:39:22 2018

[getUserMedia] Add a layer of aggregation with ProcessingBasedContainer.

In preparation to adding support for the device properties, we need to
restructure the code in such a way that selection among such properties
is clear and straight forward.

To do so, this CL introduces a new level of aggregation, represented by
ProcessingBasedContainer. This container is responsible for determining the
values for echo cancellation and all the boolean audio processing
properties.
By means of three factory functions, this container is instantiated in
three different variations which share the same logic but differ in
which values the various sub-containers are able to accept.

As of now, this rewrite is equivalent to the implementation upstream.

BUG=731170
TESTED=out/Default/content_unittests && manual test for force system feature
R=guidou@chromium.org

Change-Id: Id3d7e97c587121baf864451fc2fd192957c303c9
Reviewed-on: https://chromium-review.googlesource.com/c/1352157
Commit-Queue: Armando Miraglia <armax@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617125}
[modify] https://crrev.com/7fae926c3dde83038f5f5372663e0e9720ec5801/content/renderer/media/stream/media_stream_constraints_util.h
[modify] https://crrev.com/7fae926c3dde83038f5f5372663e0e9720ec5801/content/renderer/media/stream/media_stream_constraints_util_audio.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Dec 18

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

commit 23c1c745ff5ef9a317c9615760cc511f9fa2329d
Author: Armando Miraglia <armax@chromium.org>
Date: Tue Dec 18 10:38:47 2018

[NumericRangeSet] Add ::FromConstraint without bounds and ::FromValue.

This CL adds two utility functions to the NumericRangeSet data structure.
FromConstraint without bounds is intended to return half-bounded or
unbounded sets depending on the configuration of the constraint and does
not verify the validity of the constraint against certain predefined limits.
FromValue is intended to generate a range from a single value.

The CL adds also tests for such functions as well as the existing
FromConstraint function with bounds.

BUG=731170
R=guidou@chromium.org

Change-Id: I55e0143c8816f4016e1e5cd0f5fb94abbb853a0d
Reviewed-on: https://chromium-review.googlesource.com/c/1380032
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Armando Miraglia <armax@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617435}
[modify] https://crrev.com/23c1c745ff5ef9a317c9615760cc511f9fa2329d/content/renderer/media/stream/media_stream_constraints_util_sets.h
[modify] https://crrev.com/23c1c745ff5ef9a317c9615760cc511f9fa2329d/content/renderer/media/stream/media_stream_constraints_util_sets_unittest.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Dec 18

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

commit bf011b2d93b45461285f01e340e76231233b6c10
Author: Armando Miraglia <armax@chromium.org>
Date: Tue Dec 18 11:54:38 2018

[getUserMedia] Add support for sampleSize.

This CL adds support for sampleSize in the getUserMedia constraints. To
do so, it introduces a new IntegerContainer, based on an integer range,
and the related ApplyConstraint and SelectSettings algorithms.

Finally, tests are added to verify the logic for sampleSize.

BUG=731170
TESTED=./out/Default/content_unittests

Change-Id: Idd5a8a7d438a64f05cad3351b9e1eab963c81ae3
Reviewed-on: https://chromium-review.googlesource.com/c/1375115
Commit-Queue: Armando Miraglia <armax@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617448}
[modify] https://crrev.com/bf011b2d93b45461285f01e340e76231233b6c10/content/renderer/media/stream/media_stream_constraints_util_audio.cc
[modify] https://crrev.com/bf011b2d93b45461285f01e340e76231233b6c10/content/renderer/media/stream/media_stream_constraints_util_audio_unittest.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Dec 20

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

commit a43a11933dc658970c8f4821043d00c186b819bd
Author: Armando Miraglia <armax@chromium.org>
Date: Thu Dec 20 15:10:07 2018

[getUserMedia] Cleanup from previous CL.

In the previous CL I missed to fix two points.
a) echo_cancellation_container_ does not require to be optional. This is
   fixed by introducing a default constructor that initializes the container
   as empty.
b) Replace the usage of strcmp by converting a raw string into
   std::string.

BUG=731170
TESTED=./out/Default/content_unittests --gtest_filter=MediaStreamConstraintsUtilAudioTest.*/*

Change-Id: I81a03a4f7f6ec39eeb5d6cd1b03033d1d587fa85
Reviewed-on: https://chromium-review.googlesource.com/c/1386445
Commit-Queue: Armando Miraglia <armax@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618213}
[modify] https://crrev.com/a43a11933dc658970c8f4821043d00c186b819bd/content/renderer/media/stream/media_stream_constraints_util_audio.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Dec 21

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

commit 67c76511c71a0b603b2090c95d8c383286a7a707
Author: Armando Miraglia <armax@chromium.org>
Date: Fri Dec 21 10:00:03 2018

[getUserMedia] Add support for channelCount.

This CL adds the implementation of channelCount and the related tests to
verify the logic for channelCount. Further, the CL introduces the
SourceInfo class meant to reduce the amount of parameters plumming
from where ::InfoFromSource is called to were the parameters are
actually used.

BUG=731170
TESTED=./out/Default/content_unittests

Change-Id: Ifc5c6f9bb8f08a83d98165650132c587c4b9b025
Reviewed-on: https://chromium-review.googlesource.com/c/1384405
Commit-Queue: Armando Miraglia <armax@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618490}
[modify] https://crrev.com/67c76511c71a0b603b2090c95d8c383286a7a707/content/renderer/media/stream/media_stream_constraints_util_audio.cc
[modify] https://crrev.com/67c76511c71a0b603b2090c95d8c383286a7a707/content/renderer/media/stream/media_stream_constraints_util_audio_unittest.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Dec 21

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

commit 89d2b7b7c79acd5bcf982192c3da3d52d397dc65
Author: Armando Miraglia <armax@chromium.org>
Date: Fri Dec 21 11:31:40 2018

[getUserMedia] Add support for sampleRate.

This CL adds support for sample rathe together with related unit
testing.

BUG=731170
TESTED=./out/Default/content_unittests --gtest_filter=MediaStreamConstraintsUtilAudioTest.*/*

Change-Id: I3fa8d6cf420954455d50c4d2b935dabf16a3f0c7
Reviewed-on: https://chromium-review.googlesource.com/c/1386792
Commit-Queue: Armando Miraglia <armax@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618501}
[modify] https://crrev.com/89d2b7b7c79acd5bcf982192c3da3d52d397dc65/content/renderer/media/stream/media_stream_constraints_util_audio.cc
[modify] https://crrev.com/89d2b7b7c79acd5bcf982192c3da3d52d397dc65/content/renderer/media/stream/media_stream_constraints_util_audio_unittest.cc

Project Member

Comment 28 by bugdroid1@chromium.org, Dec 21

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

commit 098118098887b7f167194d12e33c3ae72358cc68
Author: Armando Miraglia <armax@chromium.org>
Date: Fri Dec 21 12:46:15 2018

[getUserMedia] Replace IntegerContainer with a generic NumericContainer.

To later support double constraints, this CL abstracts the
IntegerContainer to a more generic templated NumericContainer.

BUG=731170
TESTED=./out/Default/content_unittests --gtest_filter=MediaStreamConstraintsUtilAudioTest.*/*

Change-Id: Ib3530f731ab4ba2fd158d80c2a0aa4741dcb4141
Reviewed-on: https://chromium-review.googlesource.com/c/1388424
Commit-Queue: Armando Miraglia <armax@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618508}
[modify] https://crrev.com/098118098887b7f167194d12e33c3ae72358cc68/content/renderer/media/stream/media_stream_constraints_util_audio.cc

Project Member

Comment 29 by bugdroid1@chromium.org, Dec 21

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

commit bc0e1f669786545e8d58d473a4ea20162d54f25b
Author: Armando Miraglia <armax@chromium.org>
Date: Fri Dec 21 20:50:22 2018

[getUserMedia] Add support for latency.

This CL adds support for latency in getUserMedia constraints and related
unit tests.

BUG=731170
TESTED=./out/Default/content_unittests --gtest_filter=MediaStreamConstraintsUtilAudioTest.*/*

Change-Id: Iad8603c02931b823ce5c3262493d2743d8f5c1a2
Reviewed-on: https://chromium-review.googlesource.com/c/1388490
Commit-Queue: Armando Miraglia <armax@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618588}
[modify] https://crrev.com/bc0e1f669786545e8d58d473a4ea20162d54f25b/content/renderer/media/stream/local_media_stream_audio_source.cc
[modify] https://crrev.com/bc0e1f669786545e8d58d473a4ea20162d54f25b/content/renderer/media/stream/media_stream_audio_source.h
[modify] https://crrev.com/bc0e1f669786545e8d58d473a4ea20162d54f25b/content/renderer/media/stream/media_stream_constraints_util_audio.cc
[modify] https://crrev.com/bc0e1f669786545e8d58d473a4ea20162d54f25b/content/renderer/media/stream/media_stream_constraints_util_audio_unittest.cc

Project Member

Comment 30 by bugdroid1@chromium.org, Jan 9

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

commit 2850c161f899b9aeb6c2737102ca0933fae0b1bc
Author: Armando Miraglia <armax@chromium.org>
Date: Wed Jan 09 07:07:51 2019

[getCapabilities] Add support for sample size.

This CL adds support for the sample size property in
[MediaStreamTrack|InputDeviceInfo].getCapabilities(). As a result, the
related tests now pass, hence the change of the expected values.

Intent to Ship:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/h4sCuIqb_78

BUG=731170

Change-Id: I1ae54c7490a53e45b8b104aaf889748250b06083
Reviewed-on: https://chromium-review.googlesource.com/c/1397632
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Armando Miraglia <armax@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621065}
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/content/public/renderer/media_stream_utils.cc
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/content/renderer/media/stream/media_stream_center.cc
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/content/renderer/media/stream/remote_media_stream_track_adapter.cc
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/content/renderer/media/stream/user_media_processor.cc
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/third_party/blink/public/platform/web_media_stream_source.h
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/third_party/blink/renderer/modules/mediastream/input_device_info.cc
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/third_party/blink/renderer/modules/mediastream/media_stream_track.cc
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/third_party/blink/renderer/modules/mediastream/media_track_capabilities.idl
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/third_party/blink/web_tests/external/wpt/mediacapture-streams/MediaStreamTrack-getCapabilities.https-expected.txt
[modify] https://crrev.com/2850c161f899b9aeb6c2737102ca0933fae0b1bc/third_party/blink/web_tests/fast/mediastream/MediaStreamTrack-getCapabilities.html

Project Member

Comment 31 by bugdroid1@chromium.org, Jan 10

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

commit 61dfcce645ff01e60ad026e579774e3b5467a30b
Author: Armando Miraglia <armax@chromium.org>
Date: Thu Jan 10 08:58:04 2019

[getUserMedia] Remove default value update for auto mirroring based on ec.

The logic that was upstream before the main refactoring of the
constraints made so that the default value of autoGainControl would not be
effected by echoCancellation. This CL fixes the current implementation
to reflect such behavior.

Qualitatively, however, this should not have an impact because (a) this
would only effect the default value, and most importantly (b) the
assignment was &= rather than a plain assignment.

There are already tests in place to prevent regressions in this area.

BUG=731170

Change-Id: Icf5a161654b57c70d66cbea7ab209156204a4838
Reviewed-on: https://chromium-review.googlesource.com/c/1402801
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Armando Miraglia <armax@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621511}
[modify] https://crrev.com/61dfcce645ff01e60ad026e579774e3b5467a30b/content/renderer/media/stream/media_stream_constraints_util_audio.cc

Project Member

Comment 32 by bugdroid1@chromium.org, Jan 15

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

commit 4fa0a0a9514161f40ee6044a6eaa393c4d75fb15
Author: Armando Miraglia <armax@chromium.org>
Date: Tue Jan 15 15:29:58 2019

[getCapabilities] Remove magic number in favour of media:: function.

As OnionSouping MediaStreams progresses, we can and should use
media:: types directly in Blink. This CL gets rid of a magic number used in
MediaDevices::getCapabilities() and replaces it with the proper media:: symbols.

Due to the change in dependencies, the presubmit checks needed adjustments
so that media::.+ can be accessed by the third_party/blink/renderer/modules/mediastream
path. Further, DEPS have been added for the same purpose.

BUG=731170

Change-Id: I0eea35f410e1808808caf9eef37687c40ddc0510
Reviewed-on: https://chromium-review.googlesource.com/c/1412014
Commit-Queue: Armando Miraglia <armax@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622866}
[modify] https://crrev.com/4fa0a0a9514161f40ee6044a6eaa393c4d75fb15/third_party/blink/renderer/modules/mediastream/DEPS
[modify] https://crrev.com/4fa0a0a9514161f40ee6044a6eaa393c4d75fb15/third_party/blink/renderer/modules/mediastream/input_device_info.cc
[modify] https://crrev.com/4fa0a0a9514161f40ee6044a6eaa393c4d75fb15/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py

Sign in to add a comment