Re: [mediacapture-main] Avoid circular definition of muted. (#982)

> > Muted is outside the control of web applications, but can be observed [... reasons why mute can happen].
> > The User Agent SHOULD provide this information to the web app through muted and its associated events.
> >
> > Whenever the User Agent initiated such a change, [...]

When the referenced text says the UA "initiates such a change", I believe it is referring to the steps to mute the MediaStreamTrack JS object which only the UA can modify, i.e. the steps to make the muting visible to the web app. Do read the previous sentence about UA should expose this information to the app. Also read all the examples, they're full of things that happened that was not "initiated by the UA" (laptop lid closing, incoming phone call, etc). The only thing initiated by the UA is firing the event, it is reactive, not proactive.

> Replace the confusing sentence with "If a MediaStreamTrack is muted, no live samples are made available to it."

This does not make it less confusing. It begs the question: why is it muted? Even under this definition, my reading is still that the UA should detect mute on a higher layer - including reasons of malfunction, the "etc" is really a catch-all - and then initiate the exposure of the mute event. My understanding is Chromium is spec-compliant both with and without this sentence changed.

In other words, today mute means "I'm not getting any frames despite the track being enabled". This makes sense to know whether or not you care about the reason. And because we haven't exposed the reason yet, people haven't been _allowed_ to care about why yet. So from a web developer POV, the use case this solves is still valid and it is backwards compatible not to change it.

If we add the reason, then apps that do care about why have enough information to make the distinction, solving both the use case of caring and the use case of not caring, without causing backwards compat issues.

Finally let's ask yourselves, what _value_ does it bring to _developers_ to pretend a malfunctioning track is not [mute](https://www.dictionary.com/browse/mute)?

<img width="417" alt="Screenshot 2023-12-21 at 10 23 11" src="https://github.com/w3c/mediacapture-main/assets/11347890/90352982-d5d0-4ff1-83be-9e3d9f2738a4">

-- 
GitHub Notification of comment by henbos
Please view or discuss this issue at https://github.com/w3c/mediacapture-main/issues/982#issuecomment-1865942561 using your GitHub account


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

Received on Thursday, 21 December 2023 09:36:10 UTC