- From: Jan-Ivar Bruaroey via GitHub <sysbot+gh@w3.org>
- Date: Thu, 16 Nov 2023 23:21:34 +0000
- To: public-webrtc-logs@w3.org
> Since the user agent is expecting the application to perform an action in this case, the API should be designed to reflect that. A user agent cannot expect an application to perform an action. Rather, applications tell APIs what to do. > It is also important for the user agent to know in advance if the application intends to act ... Setting a callback, can provide this information to the user agent. The user agent cannot know if the callback handles audio. The only way to know is through opt-in. Having `controller.setSurfaceSwitchingCallback = () => {};` enable <img width="150" alt="image" src="https://github.com/w3c/mediacapture-screen-share/assets/3136226/7cee238a-7623-4d30-b22c-c41c621554b7"> violates [§7.3. Don’t invent your own event listener-like infrastructure](https://w3ctag.github.io/design-principles/#dont-invent-event-like) which says: _"Create separate API controls to start ... the underlying process."_ E.g. what happens if the callback is set after `getDisplayMedia`? Does it race, or does the UX update? §7.3. compels us to consider a more declarative API if advance UA knowledge is important. E.g.: ```js await navigator.mediaDevices.getDisplayMedia({audio: true, surfaceAudioSwitching: "include"}); ``` -- GitHub Notification of comment by jan-ivar Please view or discuss this issue at https://github.com/w3c/mediacapture-screen-share/issues/255#issuecomment-1815472749 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 16 November 2023 23:21:36 UTC