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

Issue 662499 link

Starred by 5 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Chrome
Pri: 3
Type: Feature

Blocked on:
issue 734672

Blocking:
issue 758607


Participants' hotlists:
media-router-follow-up


Sign in to add a comment

[getUserMedia] Support system audio (loopback) capture without screen capture

Project Member Reported by mfo...@chromium.org, Nov 4 2016

Issue description

To properly support Cast for Audio devices we need to be able to capture system audio without screen capture, so we can initiate an audio-only mirroring session.

This issue tracks the work to implement this feature.


 
Summary: [getUserMedia] Support system audio (loopback) capture without screen capture (was: [Media Router] Support system audio (loopback) capture without screen capture)
WIP patch: 

Comment 2 by sko...@chromium.org, Nov 17 2016

Mark, do you still expect to land this for M56?  If not please update milestone.

Comment 3 by mfo...@chromium.org, Nov 18 2016

Labels: -M-56 M-57

Comment 4 by sko...@chromium.org, Jan 19 2017

Labels: -M-57 M-58

Comment 5 by sko...@chromium.org, Mar 15 2017

Labels: -M-58 M-59

Comment 6 by sko...@chromium.org, Apr 19 2017

Labels: -M-59 M-60
Mark is this still in your queue?  If not please punt back to Available.
Status: Assigned (was: Started)

Comment 8 by sko...@chromium.org, May 31 2017

Labels: -M-60 M-61

Comment 9 by x...@chromium.org, Jul 20 2017

Cc: x...@chromium.org
Labels: -M-61 M-62
Blocking: 758607
Labels: -M-62 M-63
Cc: harjind...@google.com
Project Member

Comment 14 by bugdroid1@chromium.org, Sep 21 2017

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

commit 6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d
Author: mark a. foltz <mfoltz@chromium.org>
Date: Thu Sep 21 17:27:42 2017

[Desktop Capture] Enable system audio capture without screen capture.

This addresses a long standing issue where users are unable to cast system
audio to audio-only Cast devices by adding support for system audio capture
without screen capture.

Bug: 662499
Change-Id: I0c612861e36644298f161de47810c6d37ffbf501
Reviewed-on: https://chromium-review.googlesource.com/656597
Commit-Queue: mark a. foltz <mfoltz@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503491}
[modify] https://crrev.com/6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d/chrome/app/generated_resources.grd
[modify] https://crrev.com/6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d/chrome/browser/media/webrtc/desktop_capture_access_handler.cc
[modify] https://crrev.com/6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d/content/browser/renderer_host/media/media_stream_manager.cc
[modify] https://crrev.com/6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d/content/public/browser/desktop_media_id.cc
[modify] https://crrev.com/6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d/content/public/browser/desktop_media_id.h
[modify] https://crrev.com/6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d/content/renderer/media/media_stream_dispatcher_unittest.cc

When using `chrome.desktopCapture.chooseDesktopMedia(['audio'], function(desktopMediaRequestId, options) { })` currently, the [`kEmptySourcesListError` -> `At least one source type must be specified.` error](https://chromium.googlesource.com/chromium/src/+/6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d/chrome/browser/extensions/api/desktop_capture/desktop_capture_base.cc#40) is thrown because `api::desktop_capture::DESKTOP_CAPTURE_SOURCE_TYPE_AUDIO` doesn't add anything to the `source_lists` and you need to accompany with with some video capture like `['screen', 'audio']`.

@Mark In https://chromium.googlesource.com/chromium/src.git/+/6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d%5E%21/, I don't see any change to `DesktopCaptureChooseDesktopMediaFunctionBase::Execute`(`desktop_capture_base.cc`) and would still result in the `kEmptySourcesListError` error if you only used `['audio']` while your commit makes it seem like it may be possible now.

Perhaps those changes mean you only need to provide audio constraints now when using `getUserMedia, `navigator.webkitGetUserMedia({ audio: { mandatory: { chromeMediaSource: 'system' } }, function(mediaStream) { })`

Sorry if you addressing another part of the code, I'm not very familiar with how everything connects.

Status: Verified (was: Assigned)
We've verified internally that this works in M63.
Sorry didn't see C#15.  The patch didn't add support for audio-only capture to chrome.desktopCapture.chooseDesktopMedia as it wasn't required to fix the blocking issue for casting from Chrome.  If you'd like to do that then further changes are involved and probably new UX.  I would suggest filing a separate feature request under Extensions>API and Blink>GetUserMedia>Desktop.
Thanks @Mark! I have filed a new issue here, https://bugs.chromium.org/p/chromium/issues/detail?id=769388
Project Member

Comment 19 by bugdroid1@chromium.org, Sep 29 2017

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

commit 979d466da3ae3d78c6a855fb6e1915be9c0e12fc
Author: mark a. foltz <mfoltz@chromium.org>
Date: Fri Sep 29 17:05:40 2017

Revert "[Desktop Capture] Enable system audio capture without screen capture."

This reverts commit 6a8d2a721d7d281dba0bb87fbd1d0e9358d6ce7d.

Reason for revert: Bug 769979

Original change's description:
> [Desktop Capture] Enable system audio capture without screen capture.
> 
> This addresses a long standing issue where users are unable to cast system
> audio to audio-only Cast devices by adding support for system audio capture
> without screen capture.
> 
> Bug: 662499
> Change-Id: I0c612861e36644298f161de47810c6d37ffbf501
> Reviewed-on: https://chromium-review.googlesource.com/656597
> Commit-Queue: mark a. foltz <mfoltz@chromium.org>
> Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
> Reviewed-by: Guido Urdaneta <guidou@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#503491}

TBR=mfoltz@chromium.org,jam@chromium.org,sergeyu@chromium.org,guidou@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 662499
Change-Id: I0fa48ea0647a7c8d7186805aa097e20c505d1ba9
Reviewed-on: https://chromium-review.googlesource.com/691279
Commit-Queue: mark a. foltz <mfoltz@chromium.org>
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505397}
[modify] https://crrev.com/979d466da3ae3d78c6a855fb6e1915be9c0e12fc/chrome/app/generated_resources.grd
[modify] https://crrev.com/979d466da3ae3d78c6a855fb6e1915be9c0e12fc/chrome/browser/media/webrtc/desktop_capture_access_handler.cc
[modify] https://crrev.com/979d466da3ae3d78c6a855fb6e1915be9c0e12fc/content/browser/renderer_host/media/media_stream_manager.cc
[modify] https://crrev.com/979d466da3ae3d78c6a855fb6e1915be9c0e12fc/content/public/browser/desktop_media_id.cc
[modify] https://crrev.com/979d466da3ae3d78c6a855fb6e1915be9c0e12fc/content/public/browser/desktop_media_id.h
[modify] https://crrev.com/979d466da3ae3d78c6a855fb6e1915be9c0e12fc/content/renderer/media/media_stream_dispatcher_unittest.cc

Status: Assigned (was: Verified)
This broke Hangouts screenshare.  Will try to reland once I figure out what broke.
Labels: -M-63 M-65
Mark, branch cut is today; is this moving M-66? Also should it be marked w/ the GetUserMedia component?

Comment 23 by m...@chromium.org, Feb 1 2018

Components: -Internals>Media>Capture -Internals>Cast>Streaming Internals>Cast Blink>GetUserMedia>Desktop
Labels: -Pri-2 -M-65 Pri-3
Owner: ----
Status: Available (was: Assigned)

Comment 25 by amp@chromium.org, Apr 19 2018

Blockedon: 734672
Setting this blocked on the mirror service refactor as that should give us greater flexibility in addressing this.

Sign in to add a comment