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)

> @guido
> > Correct. It does not mean capturing audio output. It means playing audio, not capturing it.
> Reads that way from perspective here.
> Performs that way at Firefox, Nightly.

Firefox does not even expose entries of kind audiooutput in enumerateDevices (tested with Firefox Nightly 73.0a1, 2019-12-09).
The capture of  "Monitor of ..." devices is via entries exposed as audioinput by enumerateDevices, as it should be.

> > I propose we close this issue since getUserMedia() is not intended to capture audio from devices marked as audiooutput by enumerateDevices() and I think there is no doubt about it.
> There is far more than doubt. It is already currently possible to capture audio output excludively at Firefox and Nightly.

I mean there is no doubt among browser implementers since no browser allows capturing from entries marked as audiooutput by enumerateDevices(). All browsers allow capturing audio from devices exposed as audioinput.

The getUserMedia() definition says
"Prompts the user for permission to use their Web cam or other video or audio input", which makes it clear that it operates on input devices. 
Perhaps an extra clarification can be added there to indicate that "video or audio input" refers to devices videoinput or audioinput in the results provided by enumerateDevices, but the absence of that extra text so far, has not led to any inconsistent behavior across various browsers. Feel free to send a PR for review with text along those lines.

> You, or someone else, needs to include that exact language in the specification, and remove `"audiooutput"` altogether if that is what you want, otherwise what you ask for is an absurd interpretation of `"audioouput"` and headphones.
> At which specification should the PR be filed to specifically add capture of audio output, after you include language which prohibits capturing audio output - as that is very much unclear right now?

There is no need to exclude audiooutput from the spec and there is nothing absurd about it. They represent audio output devices, which are intended for audio playback, not capture. They can be used with setSinkId to select the device to be used by a media element to output audio, or, indirectly to select an associated input device in getUserMedia() via the groupId field.

GitHub Notification of comment by guidou
Please view or discuss this issue at using your GitHub account

Received on Monday, 9 December 2019 15:32:26 UTC