diff --git a/README.md b/README.md
index d7ccaf0..bf871ee 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,8 @@ A set of HTML elements to mediate access to a [MediaStream](https://www.w3.org/T
# Page Embedded Permission Control (PEPC)
The originally proposed permission element, for any
-[permission](https://www.w3.org/TR/permissions/)
+[permission](https://www.w3.org/TR/permissions/). This proposal is no longer
+pursued.
* [Explainer for PEPC](explainer.md)
* [Permission Element Specification draft](https://wicg.github.io/PEPC/permission-element.html)
diff --git a/usermedia-element-delta.html b/usermedia-element-delta.html
index a125ec7..a78e14f 100644
--- a/usermedia-element-delta.html
+++ b/usermedia-element-delta.html
@@ -14,8 +14,8 @@
editors: [{name: "Daniel Vogelheim", company: "Google LLC"}],
specStatus: "UD",
shortName: "proposed-usermedia-html-elements",
- edDraftURI: "https://wicg.github.io/PEPC/usermedia-elements.html",
- canonicalURI: "edDraft",
+ edDraftURI: "https://wicg.github.io/PEPC/usermedia-element-delta.html",
+ latestVersion: null,
noRecTrack: true,
localBiblio: {
"mediacapture-extensions": {
@@ -250,9 +250,14 @@
Algorithms
- If |element|.{{ActivationBlockersMixin/isValid}} is false,
then return.
- - If {{HTMLUserMediaElement/[[stream]]}} is null, run
+
- If {{HTMLUserMediaElement/[[stream]]}} is null, run the
[=HTMLUserMediaElement/activation initial=] steps.
- - Otherwise, run [=HTMLUserMediaElement/activation second=] steps.
+ - Otherwise, if
+ {{HTMLUserMediaElement/[[stream]]}}.{{MediaStream/active}}
+ is false, run the [=HTMLUserMediaElement/activation inactive=]
+ steps.
+ - Otherwise, run the [=HTMLUserMediaElement/activation active=]
+ steps.
The activation initial steps
@@ -297,34 +302,56 @@
Algorithms
- The activation second steps
+
The activation inactive steps
are:
- [=Assert=]: |element|.{{ActivationBlockersMixin/isValid}}.
- [=Assert=]: {{HTMLUserMediaElement/[[stream]]}} is a
{{MediaStream}}.
- - TODO: We ought to do something here, too.
+
- [=Assert=]: {{HTMLUserMediaElement/[[stream]]}}.{{MediaStream/active}}
+ is false.
+ - [=list/iterate|For each=] {{MediaStreamTrack}} |track| of
+ {{HTMLUserMediaElement/[[stream]]}}'s [=track set=]:
+
+ - Set |track|.{{MediaStreamTrack/enabled}} to true.
+
+
+
+
+ The activation active steps
+ are:
+
+ - [=Assert=]: |element|.{{ActivationBlockersMixin/isValid}}.
+ - [=Assert=]: {{HTMLUserMediaElement/[[stream]]}} is a
+ {{MediaStream}}.
+ - [=Assert=]: {{HTMLUserMediaElement/[[stream]]}}.{{MediaStream/active}}
+ is true.
+ - Let |muted| be false.
+ - [=list/iterate|For each=] {{MediaStreamTrack}} |track| of
+ {{HTMLUserMediaElement/[[stream]]}}'s [=track set=]:
+
+ - If |track|.{{MediaStreamTrack/muted}}, set |muted| to true.
+
+
+ - [=list/iterate|For each=] {{MediaStreamTrack}} |track| of
+ {{HTMLUserMediaElement/[[stream]]}}'s [=track set=]:
+
+ - Set |track|.{{MediaStreamTrack/muted}} to ¬|muted|.
+
+
The constraint filter steps
for an |element| and {{MediaStreamConstraints}} |constraints| are:
- - Let |result| be a new [=dictionary=].
-
- If |element| is a {{HTMLUserMediaElement}},
- set |result| to «[
- {{MediaStreamConstraints/audio}} → |constraints|[{{MediaStreamConstraints/audio}}],
- {{MediaStreamConstraints/video}} → |constraints|[{{MediaStreamConstraints/video}}]
- ]».
- - Otherwise, if |element| is a {{HTMLMicrophoneElement}},
- set |result| to «[
- {{MediaStreamConstraints/audio}} → |constraints|[{{MediaStreamConstraints/audio}}],
- {{MediaStreamConstraints/video}} → false
- ]».
- - Otherwise, if |element| is a {{HTMLCameraElement}},
- set |result| to «[
- {{MediaStreamConstraints/audio}} → false,
- {{MediaStreamConstraints/video}} → |constraints|[{{MediaStreamConstraints/video}}]
- ]».
+ - Let |result| be a new [=dictionary=].
+ - Let |defaults| be |element|'s [=default constraints=].
+ - For |key| of « {{MediaStreamConstraints/audio}}, {{MediaStreamConstraints/video}} »:
+
+ - If |defaults|[|key|] is true, then set |result|[|key|] to |constraints|[|key|].
+ - Otherwise, set |result|[|key|] to false.
+
+
- TODO: |results| should have additional filtering to support a
reasonable, easy-to-use subset of all the constraints allowed for
the getUserMedia call.
@@ -360,7 +387,7 @@ <usermedia> legacy support.
- `"video audio"`
- — behaves like a regular <usermedia> element.
- `"audio"`
- - — behaves like an <microphone> element.
+ - — behaves like a <microphone> element.
- `"video"`
- — behaves like a <camera> element.
- all other values