Re: [mediacapture-main] Fix export of track-muted and set-track-muted. (#986)

>looking at fixing the markup, there is an ambiguity in the language of the spec: sometimes "muted" is applied to the concept of source (e.g. "If source is stopped or muted, abort these steps"), sometimes to the concept of track (e.g. "A track sourced by a camera or microphone may be forcibly muted").

I think that's largely an internal inconsistency, unrelated to exporting what to other specs is a track-related concept:
- concept https://w3c.github.io/mediacapture-main/#track-muted

>   Error: ROR] WebIDL identifier muted for MediaStreamTrack is defined multiple times

The error seems to come from the desire to add `data-dfn-for="MediaStreamTrack"` which makes it clash with MediaStreamTrack's `muted` WebIDL attribute of the same name:
- webidl https://w3c.github.io/mediacapture-main/#dom-mediastreamtrack-muted
  _"The muted attribute reflects whether the track is [muted](https://w3c.github.io/mediacapture-main/#track-muted). It MUST return [this](https://webidl.spec.whatwg.org/#this).[[[Muted]]](https://w3c.github.io/mediacapture-main/#dfn-muted)."_

Which reminds me there's also `this.[[Muted]]`:
- internal slot https://w3c.github.io/mediacapture-main/#dfn-muted

This same triad also exists for `enabled`:
- concept https://w3c.github.io/mediacapture-main/#track-enabled
- webidl https://w3c.github.io/mediacapture-main/#dom-mediastreamtrack-enabled
- internal slot https://w3c.github.io/mediacapture-main/#dfn-enabled

...which makes me question moving the muted concept to the source as a solution to the export problem.

How do other specs do this? E.g. HTML appears to have done away with internal slots? What's the state of the art here? 
- concept and internal slot https://html.spec.whatwg.org/multipage/media.html#concept-media-muted 
- webidl https://html.spec.whatwg.org/multipage/media.html#dom-media-muted

>  Error: ROR] Couldn't find "set a track's muted state" in this document or other cited documents: [dom], [html], [infra], [permissions], [permissions-policy], [webaudio], and [webidl].

The desire to add `data-dfn-for="MediaStreamTrack"` broke existing links in this spec (and other specs if we go ahead with it). Fixable by changing
```diff
- [=set a track's muted state=]
+ [=MediaStreamTrack/set a track's muted state=]
```
...in this spec and all other specs that reference it.

Choices here seem to be:
 1. Export the existing definitions without `data-dfn-for="MediaStreamTrack"` (is that frowned on?)
 2. add`data-dfn-for="MediaStreamTrack"` and rename the concept to "muted state" or something (ugh).
 3. Push back on mediaSession's need for the concept. E.g. could it say _"A user agent MAY expose microphone and camera state to web pages via the {{MediaStreamTrack/muted}} attribute."_?


-- 
GitHub Notification of comment by jan-ivar
Please view or discuss this issue at https://github.com/w3c/mediacapture-main/pull/986#issuecomment-2015761983 using your GitHub account


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

Received on Friday, 22 March 2024 19:20:38 UTC