- From: Elad Alon via GitHub <sysbot+gh@w3.org>
- Date: Fri, 22 Sep 2023 10:32:03 +0000
- To: public-webrtc-logs@w3.org
> ... it is implied when using [onmessage](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/message_event)"_, which makes this equivalent: > > ```js > const controller = new CaptureController(); > controller.onswitch = ({stream}) => video.srcObject = stream; > video.srcObject = await navigator.mediaDevices.getDisplayMedia({controller}); > ``` > > I.e. `manualSwitching()` is implicit with `onswitch`. This seems less than ideal for me. I think it's a footgun for developers. (See also [François' comment](https://github.com/w3c/mediacapture-screen-share/issues/255#issuecomment-1731065156)). But before we do a deep dive on this particular detail... ... I wonder if we should eschew both `onswitch` and `addEventListener` to begin with, because allowing the registration of multiple event listeners seems like a footgun in itself. * Do the events have... * ...multiple tracks? * ...clones? * ...separate references to the same track? * What happens if the first event handler stops the tracks, and then the next event is fired with stopped tracks? * What if the developer enables manual switching and neglects to register an event handler? * What if the developer registers an event handler and neglects to enable manual switching? It seems better to shape the API as `enableManualSwitching(handler)`. This ensures exactly one handler, neatly solving all of the these issues. -- GitHub Notification of comment by eladalon1983 Please view or discuss this issue at https://github.com/w3c/mediacapture-screen-share/issues/255#issuecomment-1731190753 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Friday, 22 September 2023 10:32:05 UTC