W3C home > Mailing lists > Public > public-webrtc-logs@w3.org > December 2019

Re: [mediacapture-main] Clarify getUserMedia({audio:{deviceId:{exact:<audiooutput_device>}}}) in this specification mandates capability to capture of audio output device - not exclusively microphone input device (#650)

From: guidou via GitHub <sysbot+gh@w3.org>
Date: Mon, 09 Dec 2019 16:28:13 +0000
To: public-webrtc-logs@w3.org
Message-ID: <issue_comment.created-563318967-1575908892-sysbot+gh@w3.org>
> @guidou Kindly run the code at [#650 (comment)](https://github.com/w3c/mediacapture-main/issues/650#issue-534574931) at Firefox, Nightly and Chromium.
> 

The script there is broken for Chromium because it assumes "audiooutput" devices can be captured by getUserMedia(), which is not the case in Chromium or any other browser.
Note also that Firefox does not support "Monitor of " devices on all platforms. I just tried on Firefox for Mac and it only supports capturing from microphones. Haven't checked Windows.

> Select `"Monitor of <device>` at the prompt. Observe the different output. Firefox captures _only_ audio output, the desired result. Chromium does not expose `"Monitor of <device>"` thus microphone is captured, not the audio output from `speech-dispatcher` calling `espeak-ng` via `spd-say`.
> 
> Is there any compelling reason to not expose `"Monitor of <device>"` at Chromium?
> 

I wouldn't be able to state any reason why Chromium does not support any particular feature it does not currently support. Feel free to file a feature request for it at crbug.com, although I'm not aware of any plans to support this use case in Chromium. 

> What solution do you suggest to achieve the requirement of the use case if neither `getUserMedia()` nor `getDisplayMedia()` are intended to accomplish the task at Chromium?

At the moment, you cannot accomplish that task in Chromium directly. Perhaps you can find some tool that allows you to expose the audio of output devices as if they were microphones, similar to how virtual webcams work.

Note also that your use case is not mandated by this spec. Exposing the audio coming from an output device as an input device that can be captured via getUserMedia is a valid implementation choice (i.e., Firefox has implemented it on Linux), but it is not a requirement of this spec.

What you have here is a feature request for Chromium to expose "Monitor of ..." devices the way Firefox does so that they can be used by getUserMedia(). I think that's a valid feature request for Chromium, since it does not support it, but it does not need any adjustment to the spec. Also, I don't think the spec should be changed to mandate that audio output devices must be exposed as if they were audio input devices.

-- 
GitHub Notification of comment by guidou
Please view or discuss this issue at https://github.com/w3c/mediacapture-main/issues/650#issuecomment-563318967 using your GitHub account
Received on Monday, 9 December 2019 16:28:15 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:22:34 UTC