New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 834281 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocking:
issue 731170



Sign in to add a comment

Support the groupId MediaStreamTrack constrainable property

Project Member Reported by guidou@chromium.org, Apr 18 2018

Issue description

This includes support in all methods of the constrainable pattern.
 
Status: Started (was: Assigned)
Project Member

Comment 2 by bugdroid1@chromium.org, May 3 2018

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

commit 2aa26b30517b6a33ba7edf8f2d17353c919de855
Author: Guido Urdaneta <guidou@chromium.org>
Date: Thu May 03 12:10:31 2018

Report video group ID in low-level device enumerations and notifications.

The video-capture subsystem currently does not support the concept
of group IDs, which exists in the MediaStreams spec.
To support video group IDs, we use a heuristic that finds
associations between video and audio devices.
Prior to this CL, this heuristic was used to patch results
requested by the MediaDevices.enumerateDevices() JavaScript function,
but low-level enumerations used by other parts of Chrome
may have kept video group IDs empty.
To ensure that device associations are found, low-level video
enumerations will also trigger a possibly cached audio enumeration
and the heuristic is run after both results are obtained.

This CL is preparation for full support for the groupId constrainable
property in getUserMedia() and related MediaStreamTrack methods.

Bug:  834281 
Change-Id: I428c9a2cb65f755cdee366d6e43e4fe9ad898e20
Reviewed-on: https://chromium-review.googlesource.com/1019245
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Tommi <tommi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555697}
[modify] https://crrev.com/2aa26b30517b6a33ba7edf8f2d17353c919de855/content/browser/media/media_devices_util.cc
[modify] https://crrev.com/2aa26b30517b6a33ba7edf8f2d17353c919de855/content/browser/renderer_host/media/media_devices_manager.cc
[modify] https://crrev.com/2aa26b30517b6a33ba7edf8f2d17353c919de855/content/browser/renderer_host/media/media_devices_manager.h
[modify] https://crrev.com/2aa26b30517b6a33ba7edf8f2d17353c919de855/content/browser/renderer_host/media/media_devices_manager_unittest.cc
[modify] https://crrev.com/2aa26b30517b6a33ba7edf8f2d17353c919de855/content/common/media/media_devices.cc
[modify] https://crrev.com/2aa26b30517b6a33ba7edf8f2d17353c919de855/content/common/media/media_devices.h

Project Member

Comment 3 by bugdroid1@chromium.org, May 3 2018

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

commit 41c3ad1029634d3ba669c75d2bb8742aa4931230
Author: Guido Urdaneta <guidou@chromium.org>
Date: Thu May 03 16:16:39 2018

Support the groupId property in MediaStreamTrack.getSettings()

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

Project Member

Comment 4 by bugdroid1@chromium.org, May 3 2018

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

commit 621060052dcb5bbb70c238d79047fa1feaecffb7
Author: Mostyn Bramley-Moore <mostynb@vewd.com>
Date: Thu May 03 16:35:42 2018

[jumbo] avoid operator clashes between media_devices.h and page_state.h

CL https://chromium-review.googlesource.com/c/chromium/src/+/1019245 seems
to have introduced a jumbo build failure:

./../../content/browser/renderer_host/media/media_devices_manager.cc:704:37: error: reference to overloaded function could not be resolved; did you mean to call it?
                  ignore_group_id ? operator== : EqualDeviceAndGroupID)) {
                                    ^~~~~~~~~~
../../content/common/media/media_devices.h:52:6: note: possible target for call
bool operator==(const MediaDeviceInfo& first, const MediaDeviceInfo& second);
     ^
../../content/public/common/page_state.h:63:13: note: possible target for call
inline bool operator==(const PageState& a, const PageState& b) {
            ^

Let's move page_state.h's ==/!= operators out of the global scope, to avoid this.

TBR=avi@chromium.org

Bug:  834281 
Change-Id: I27f0493ee2d2957b8318c969edd5615ec4dab687
Reviewed-on: https://chromium-review.googlesource.com/1042308
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555767}
[modify] https://crrev.com/621060052dcb5bbb70c238d79047fa1feaecffb7/content/public/common/page_state.h

Cc: c.pa...@samsung.com

Comment 6 by c.pa...@samsung.com, May 24 2018

guidou@: I have submitted https://chromium-review.googlesource.com/c/chromium/src/+/1071158 for groupId support in MediaStreamTrack.getCapabilities()for audio tracks.
As far as other MediaStreamTrack methods are concerned, I see that groupId support is already present. Please let me know if I am missing anything here. 

Comment 7 by guidou@chromium.org, May 24 2018

Cc: -c.pa...@samsung.com guidou@chromium.org
Owner: c.pa...@samsung.com
c.padhi@: groupId is not supported at all for audio tracks.
The methods work only for video tracks atm.

Project Member

Comment 9 by bugdroid1@chromium.org, May 30 2018

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

commit d637b5faf65026d16c3d814de441b5fbc3daa9f2
Author: Chandan Padhi <c.padhi@samsung.com>
Date: Wed May 30 19:42:57 2018

Support groupId in MediaDevices.getUserMedia() for audio tracks

Bug:  834281 
Change-Id: I246b48483acb423bf83ab9c3e352d51bfe31070f
Reviewed-on: https://chromium-review.googlesource.com/1078590
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Chandan Padhi <c.padhi@samsung.com>
Cr-Commit-Position: refs/heads/master@{#562961}
[modify] https://crrev.com/d637b5faf65026d16c3d814de441b5fbc3daa9f2/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
[modify] https://crrev.com/d637b5faf65026d16c3d814de441b5fbc3daa9f2/content/renderer/media/stream/media_stream_constraints_util_audio.cc
[modify] https://crrev.com/d637b5faf65026d16c3d814de441b5fbc3daa9f2/content/renderer/media/stream/media_stream_constraints_util_audio.h
[modify] https://crrev.com/d637b5faf65026d16c3d814de441b5fbc3daa9f2/content/renderer/media/stream/media_stream_constraints_util_audio_unittest.cc
[modify] https://crrev.com/d637b5faf65026d16c3d814de441b5fbc3daa9f2/content/renderer/media/stream/user_media_processor.cc
[modify] https://crrev.com/d637b5faf65026d16c3d814de441b5fbc3daa9f2/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaDevices-getUserMedia.https.html
[modify] https://crrev.com/d637b5faf65026d16c3d814de441b5fbc3daa9f2/third_party/blink/public/platform/modules/mediastream/media_devices.mojom

Status: Fixed (was: Started)
[bulk-edit: disregard if N/A] Can the owner please set milestone to this bug if applicable?

Sign in to add a comment