[getUserMedia] Support system audio (loopback) capture without screen capture |
||||||||||||||||||
Issue descriptionTo 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.
,
Nov 17 2016
Mark, do you still expect to land this for M56? If not please update milestone.
,
Nov 18 2016
,
Jan 19 2017
,
Mar 15 2017
,
Apr 19 2017
Mark is this still in your queue? If not please punt back to Available.
,
May 5 2017
,
May 31 2017
,
Jul 20 2017
,
Aug 14 2017
,
Aug 31 2017
,
Sep 11 2017
,
Sep 14 2017
,
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
,
Sep 21 2017
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.
,
Sep 27 2017
We've verified internally that this works in M63.
,
Sep 27 2017
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.
,
Sep 27 2017
Thanks @Mark! I have filed a new issue here, https://bugs.chromium.org/p/chromium/issues/detail?id=769388
,
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
,
Sep 29 2017
This broke Hangouts screenshare. Will try to reland once I figure out what broke.
,
Oct 30 2017
,
Jan 18 2018
Mark, branch cut is today; is this moving M-66? Also should it be marked w/ the GetUserMedia component?
,
Feb 1 2018
,
Feb 6 2018
,
Apr 19 2018
Setting this blocked on the mirror service refactor as that should give us greater flexibility in addressing this. |
||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||
Comment 1 by mfo...@chromium.org
, Nov 4 2016