Re: [mediacapture-screen-share-extensions] Auto-pause for Captured Surface Switching (2nd edition) (#15)

We should prioritize simple, fool-proof solutions to real problems that have been highlighted by Web developers as pressing, while still leaving ourselves the flexibility to address more nuanced issues in the future, if the need arises.

**Fool-proof:**
While showing an “are you sure?” dialog, it would be a shame if the developer pauses video but keeps transmitting audio. All other things being equal, API shapes that discourage such bugs are preferable.

**Real:**
Developers we have spoken to do **not** currently transfer `MediaStreamTracks` to workers. These developers **do** clone tracks and propagate those clones across multiple modules of rather large applications, where coordination between modules is a pain point.

**Simple:**
It is easier to “fan out” a single event, then to coordinate the order of multiple events.

By way of illustration of the coordination issue, suppose a track `original` has two tracks `a` and `b`, where `a` is displayed as the local preview and `b` is transmitted remotely. Assume that they are far apart in the app, each with its own handler for `configurationchange`. Suppose two source-changes occur in rapid succession, `-1` and `-2`. The following orderings of event handler invocations are all possible:
- a1, a2, b1, b2
- a1, b1, a2, b2
- a1, b1, b2, a2
- b1, b2, a1, a2
- b1, a1, b2, a2
- b1, a1, a2, b2

Applications that need to only take action once per change, as the hypothetical app that wants to show a dialog, would find it non-trivial and error-prone to catch the first `?1` event and first `?2` event, while ignoring the second `?1` and `?2` events. Such applications would **prefer** a single event per `CaptureController`.

For that reason, I think the MVP is:
1. Fire `”sourcechange”` against the CaptureController and **specify** auto-pause behavior there.
2. Fire `”devicechange”` against the tracks as discussed, but **avoid** auto-pause behavior there.
3. Specify that no1 precedes no2.



-- 
GitHub Notification of comment by eladalon1983
Please view or discuss this issue at https://github.com/w3c/mediacapture-screen-share-extensions/issues/15#issuecomment-2464933957 using your GitHub account


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

Received on Friday, 8 November 2024 14:43:32 UTC