Comments (2)
Good point, unmute is somehow error-prone from the point of view of the UA, so I wonder what the error handling should be.
There are various possibilities:
- Reject the request as the current spec allows it.
- Unmute only the tracks it can unmute and keep the other tracks muted
- Unmute all tracks but end capture for the tracks it cannot unmute (in a sense, it failed starting capture).
from mediasession.
I hesitate calling it an "error". In my mind, we're unchecking ✅ Mute all
not implementing Unmute all
.
I think 2 is the only interoperable option. Example (UA1 implements a pause policy, UA2 doesn't):
- The user is transmitting from two mics A and B, but has turned B off using a physical button on B
- States: Both tracks are
enabled
but trackB ismuted
, so the audience only hears A (and silence from B)
- States: Both tracks are
- The user needs a bio-break and checks
✅ Mute all
in the app which setsenabled = false
on both tracks and calls setMicrophoneActive(false)- States in UA1: Both tracks have
enabled = false
and both tracks aremuted
; audience hears silence - States in UA2: Both tracks have
enabled = false
but only trackB ismuted
; audience hears silence
- States in UA1: Both tracks have
- The user comes back and unchecks
☐ Mute all
in the app which setsenabled = true
on both tracks and calls setMicrophoneActive(true)- States: Both tracks are
enabled
but trackB ismuted
, so the audience only hears A (and silence from B)
- States: Both tracks are
Importantly, the states are the same before and after the bio-break, regardless of UA. This seems interoperable, safe, unsurprising, and useful.
In contrast, 1 would fail setMicrophoneActive(true) and leave both tracks muted
in UA1 but not UA2, and 3 would end trackB in UA1 but not UA2, which seems undesirable.
from mediasession.
Related Issues (20)
- Notification buttons on the lock screen HOT 2
- Top issues for TPAC 2023 HOT 2
- Add WPT mediasession permission policy tests HOT 1
- Should the default mediasession permission policy value be self instead of * HOT 4
- MediaPositionState IDL does not allow infinite duration HOT 1
- How should Media Session work with "inert" media? HOT 6
- Should there be a toggle screenshare action? HOT 5
- What is the relationship between toggle microphone/camera actions and MediaStreamTrack mute/unmute events? HOT 11
- setPositionState: Explicit means to "clear" or reset. HOT 5
- Introduce a MediaSession task source HOT 1
- Support multiple devices to support Video Conferencing use cases HOT 20
- Should toggle capture actions expose the new capture state?
- Details dictionary parameters description could be more precise HOT 1
- #320 broke IDL: MediaSessionActionHandler can only use the base MediaSessionActionDetails but not any extensions
- Broken references in Media Session
- Replace uses of "browsing contexts" with "navigables"?
- [SameObject] should not be used in FrozenArray attributes HOT 5
- Using MediaSession without playing audio? HOT 2
- MediaSessionActionHandler callback's type is never correctly chosen HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mediasession.