Re: [mediacapture-main] Move "global" internal slots to MediaDevices, and fix "relevant object" links (#939)

> The assumption is more one source per getUserMedia call (well per track created by getUserMedia).

Where in the spec is such an assumption relied on?

Rather, the [source stopped](https://w3c.github.io/mediacapture-main/getusermedia.html#source-stopped) algorithm relies on a 1-1 between a source and device:
- _"When all tracks using a source have been stopped or ended by some other means, the source is stopped. If the source is a device exposed by [getUserMedia](https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediadevices-getusermedia)(), then when the source is stopped, the UA MUST run the following steps:_

1. _Let deviceId be the device's [deviceId](https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediadeviceinfo-deviceid)._
2. _Set [[[devicesLiveMap]]](https://w3c.github.io/mediacapture-main/getusermedia.html#dfn-deviceslivemap)[deviceId] to false."_

If JS calls gUM twice and get two video tracks with the same deviceId, and then I end one of them, a per-track source interpretation would turn off the privacy indicator for this realm even though the other video track is still live.

The [[[devicesLiveMap]]](https://w3c.github.io/mediacapture-main/getusermedia.html#dfn-deviceslivemap) is on the global object (which is 1-1 with `navigator.mediaDevices`), 

That seems like one too many 1-to-many relationships.

-- 
GitHub Notification of comment by jan-ivar
Please view or discuss this issue at https://github.com/w3c/mediacapture-main/pull/939#issuecomment-1462206283 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 9 March 2023 15:02:52 UTC