diff --git a/getusermedia.html b/getusermedia.html index eefa7b6a..3e5db5ff 100644 --- a/getusermedia.html +++ b/getusermedia.html @@ -299,14 +299,14 @@
A {{MediaStream}} object is said to be active when it has at least one - {{MediaStreamTrack}} that has not [= track/ended =]. A {{MediaStream}} that does not - have any tracks or only has tracks that are [= track/ended =] + {{MediaStreamTrack}} that has not [=MediaStreamTrack/ended=]. A {{MediaStream}} that does not + have any tracks or only has tracks that are [= MediaStreamTrack/ended =] is inactive.
A {{MediaStream}} object is said to be audible when it has at least one {{MediaStreamTrack}} whose {{MediaStreamTrack/[[Kind]]}} is "audio" - that has not [= track/ended =]. A {{MediaStream}} that does not have any - audio tracks or only has audio tracks that are [= track/ended =] is + that has not [=MediaStreamTrack/ended=]. A {{MediaStream}} that does not have any + audio tracks or only has audio tracks that are [=MediaStreamTrack/ended=] is inaudible.
The [=User Agent=] may update a {{MediaStream}}'s [=track set=] in response to, for example, an external event. This specification does not specify any such cases, but other @@ -640,7 +640,7 @@
[[\Muted]],
initialized to true
if source is
- [= muted =], and false
otherwise.
false
otherwise.
In the live state, the track is active and media is available for use by consumers (but may be replaced by zero-information-content if the {{MediaStreamTrack}} is - [= muted =] or [= enabled | disabled =], see below).
+ [= MediaStreamTrack/muted =] or [= MediaStreamTrack/enabled | disabled =], see below).A muted or disabled {{MediaStreamTrack}} renders either silence (audio), black frames (video), or a zero-information-content equivalent. For example, a video element @@ -787,23 +787,23 @@
true
as soon as any
unstopped track connected to this device becomes un-muted or enabled
again.
- When a {{MediaStreamTrackState/"live"}}, [= track/muted | unmuted =], and - [= track/enabled =] track sourced by a device exposed +
When a {{MediaStreamTrackState/"live"}}, [= MediaStreamTrack/muted | unmuted =], and + [= MediaStreamTrack/enabled =] track sourced by a device exposed by {{MediaDevices/getUserMedia()}} becomes either - [= track/muted =] or [= track/enabled | disabled =], + [= MediaStreamTrack/muted =] or [= MediaStreamTrack/enabled | disabled =], and this brings all tracks connected to the device (across all [=navigables=] the user agent operates) to be either muted, disabled, or stopped, then the UA SHOULD relinquish the device within 3 seconds while allowing time for a reasonably-observant user to become aware of the transition. The UA SHOULD attempt to reacquire the device as soon as any live track sourced by the device - becomes both [= track/muted | unmuted =] and - [= track/enabled =] again, provided that track's + becomes both [= MediaStreamTrack/muted | unmuted =] and + [= MediaStreamTrack/enabled =] again, provided that track's [=relevant global object=]'s [=associated `Document`=] [=Document/is in view=] at that time. If the document is not [=Document/is in view|in view=] at that time, - the UA SHOULD instead queue a task to mute the - track, and not queue a task to unmute it until + the UA SHOULD instead queue a task to [=MediaStreamTrack/muted|mute=] the + track, and not queue a task to [=MediaStreamTrack/muted|unmute=] it until the document comes [=Document/is in view|into view=]. If reacquiring the device fails, the UA MUST [= track ended by the User agent | end the track =] (The UA MAY end it earlier @@ -824,14 +824,14 @@
A {{MediaStreamTrack}} is [= track/muted =] - when the source is temporarily unable to +
A {{MediaStreamTrack}} is [= MediaStreamTrack/muted =] + when the source is muted, i.e. temporarily unable to provide the track with data. A track can be muted by a user. Often this action is outside the control of the application. This could be as a result of the user hitting a hardware switch or toggling a control in the operating system / [=User Agent=] chrome. A track can also be muted by the [=User Agent=].
-Applications are able to [= track/enabled | enable =] or +
Applications are able to [= MediaStreamTrack/enabled | enable =] or disable a {{MediaStreamTrack}} to prevent it from rendering media from the source. A muted track will however, regardless of the enabled state, render silence and blackness. A disabled track is @@ -845,15 +845,15 @@
If all {{MediaStreamTrack}}s that are using the same - source are [= track/ended =], the source will be + source are [= MediaStreamTrack/ended =], the source will be [= source/stopped =].
After the application has invoked the {{MediaStreamTrack/stop()}} method on a {{MediaStreamTrack}} object, or once the [=source=] of a {{MediaStreamTrack}} permanently ends production of live samples to its tracks, whichever is sooner, a {{MediaStreamTrack}} is said to be - ended.
+ ended.For camera and microphone sources, the reasons for a source to - [=track/ended|end=] besides {{MediaStreamTrack/stop()}} are + [=MediaStreamTrack/ended|end=] besides {{MediaStreamTrack/stop()}} are [=implementation-defined=] (e.g., because the user rescinds the permission for the page to use the local camera, or because the User @@ -874,7 +874,7 @@
Notify track's {{MediaStreamTrack/[[Source]]}} that track is - [= track/ended =] so that the source may be [= source/stopped =], unless other + [= MediaStreamTrack/ended =] so that the source may be [= source/stopped =], unless other {{MediaStreamTrack}} objects depend on it.
There are two dimensions related to the media flow for a {{MediaStreamTrackState/"live"}} {{MediaStreamTrack}} : muted / not muted, and enabled / disabled.
-Muted refers to the input to the {{MediaStreamTrack}}. Live samples MUST NOT be made available to a - {{MediaStreamTrack}} while it is [=muted=].
-{{Muted}} is outside the control of web applications, but can be observed by + {{MediaStreamTrack}} while it is [=MediaStreamTrack/muted=].
+The [=MediaStreamTrack/muted=] state is outside the control of web applications, but can be observed by the application by reading the {{MediaStreamTrack/muted}} attribute and listening to the associated events {{mute}} and {{unmute}}. The reasons for a {{MediaStreamTrack}} to be muted are defined by its source.
-For camera and microphone sources, the reasons to [=muted|mute=] are +
For camera and microphone sources, the reasons to [=source/muted|mute=] are [=implementation-defined=]. This allows user agents to implement privacy mitigations in situations like: the user pushing a physical mute button on the microphone, the user @@ -924,12 +924,13 @@
Whenever the [=User Agent=] initiates such an [= implementation-defined=] change for camera or microphone sources, it MUST queue a - task, using the user interaction task source, to [=set a track's muted + task, using the user interaction task source, to [=MediaStreamTrack/set a track's muted state=] to the state desired by the user.
To set a track's muted state to + to [=MediaStreamTrack/set a track's muted state=] if desired. +
To set a track's muted state to newState, the [=User Agent=] MUST run the following steps:
Enabled/disabled on the other hand is +
Enabled/disabled on the other hand is available to the application to control (and observe) via the {{MediaStreamTrack/enabled}} attribute.
@@ -1036,21 +1037,21 @@The enabled - attribute controls the [= track/enabled =] state for the object.
+ attribute controls the [= MediaStreamTrack/enabled =] state for the object.On getting, [=this=].{{MediaStreamTrack/[[Enabled]]}} MUST be returned. On setting, [=this=].{{MediaStreamTrack/[[Enabled]]}} MUST be set to the new value.
Thus, after a - {{MediaStreamTrack}} has [= track/ended =], its {{MediaStreaMtrack/enabled}} attribute + {{MediaStreamTrack}} has [= MediaStreamTrack/ended =], its {{MediaStreamTrack/enabled}} attribute still changes value when set; it just doesn't do anything with that new value.
The muted attribute - reflects whether the track is [= track/muted =]. It MUST return + reflects whether the track is [= MediaStreamTrack/muted =]. It MUST return [=this=].{{MediaStreamTrack/[[Muted]]}}.
Notify track's source that track - is [= track/ended =].
+ is [= MediaStreamTrack/ended =].A source that is notified of a track ending will be [= source/stopped =], unless other {{MediaStreamTrack}} objects depend on @@ -1241,7 +1242,7 @@
The track has [= track/ended =] (the +
The track has [= MediaStreamTrack/ended =] (the track's underlying media source is no longer providing data, and will never provide more data for this track). Once a track enters this state, it never exits it.
@@ -3230,7 +3231,7 @@If source is [=source/stopped=] or [=muted=], abort these steps.
+If source is [=source/stopped=] or [=source/muted=], abort these steps.
Let deviceId be source's device's deviceId.
@@ -4159,7 +4160,7 @@A track sourced by a camera or microphone may be - forcibly [= track/muted =] by a [=User Agent=] at any time, in order + forcibly [= MediaStreamTrack/muted =] by a [=User Agent=] at any time, in order to manage a user's privacy. However, doing so may create web compatibility issues, as well as leak information about user activity, so caution is advised. @@ -4181,15 +4182,15 @@
A web page not [=Document/is in view|in view=] - re-enables a track when all tracks from that - source are disabled, in order to delay + [=MediaStreamTrack/enabled|re-enables=] a track when all tracks from that + source are [=MediaStreamTrack/enabled|disabled=], in order to delay resumption of capture until the page [=Document/is in view=].
Best practice is to - [= muted | unmute =] a camera or microphone track it previously - [= muted =], in the following instances:
+ [= MediaStreamTrack/muted | unmute =] a camera or microphone track it previously + [= MediaStreamTrack/muted =], in the following instances:An OS-level event for which the [=User Agent=] already resumes media @@ -4200,8 +4201,8 @@
A web page comes [=Document/is in view|into view=] and - has one or more enabled tracks that are also - [= muted =]. + has one or more [=MediaStreamTrack/enabled=] tracks that are also + [= MediaStreamTrack/muted =].