From e9f7468d17ab516807006ab2fe8b5bcbae9471da Mon Sep 17 00:00:00 2001 From: Jan-Ivar Bruaroey Date: Fri, 12 Jul 2024 11:13:53 -0400 Subject: [PATCH] Allow for overriding reasons tracks stay muted --- index.bs | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/index.bs b/index.bs index c140f86..471e8f0 100644 --- a/index.bs +++ b/index.bs @@ -946,13 +946,13 @@ interface MediaSession { In parallel, run the following steps:
  1. - Let applyPausePolicy be true if the user agent + Let implementPausePolicy be true if the user agent implements a policy of pausing all input sources of type captureKind in response to UI and false otherwise.
  2. - If applyPausePolicy is true, run the following + If implementPausePolicy is true, run the following substeps:
    1. @@ -983,7 +983,7 @@ interface MediaSession {
    2. Resolve p with undefined.
    3. - If applyPausePolicy is true, run the following + If implementPausePolicy is true, run the following substeps:
      1. @@ -991,10 +991,22 @@ interface MediaSession { active is false and false otherwise.
      2. - For each {{MediaStreamTrack}} whose source is of type - captureKind, - queue a task to [$set a track's muted state$] to - newMutedState. + For each {{MediaStreamTrack}} track whose source + is of type captureKind, queue a task to run + the following substep: +
          +
        1. + Provided track is not [=MediaStreamTrack/muted=] + by the user agent for reasons that override its [=pausing all + input sources | pausing policy=], + [$set a track's muted state | set the muted state$] of + track to newMutedState. +
        2. +

          + Overriding reasons might include a physical mute button on + the device. +

          +