diff --git a/mediasession.bs b/mediasession.bs index f57c735..c5b6df2 100644 --- a/mediasession.bs +++ b/mediasession.bs @@ -178,12 +178,12 @@ conforming IDL fragments, as described in the Web IDL specification. [[!WEBIDL]]

Media sessions

-A media session represents one or more audio-producing objects within -the same top-level browsing context that share the same media session -category. Each media session then defines the interactions of those -audio-producing objects with both the underlying platform and other -audio-producing objects belonging to other media sessions within the user -agent. +A media session represents one or more audio-producing objects +within the same top-level browsing context that share the same media +session category. Each media session then defines the interactions of +its audio-producing objects with both the underlying platform and other +audio-producing objects belonging to other media sessions within +the user agent. A media session may have a media remote controller that provides access to media remote controls. A media remote @@ -256,7 +256,7 @@ other media sessions. The possible values are as follows:
The media session is currently suspended from having platform-level - media focus and its active participating media elements are either active audio-producing participants are either paused or ducked based on the media session's current media session type. @@ -325,8 +325,8 @@ fourth columns.
@@ -711,7 +796,8 @@ steps. type is Default or Content then indefinitely pause all of interrupted media - session's active participating media elements and set + session's active audio-producing participants + and set interrupted media session's current state to idle. @@ -734,8 +820,8 @@ steps. Optionally, based on platform conventions, the user agent must prevent any hardware and/or software media keys from controlling playback of - interrupted media session's active participating media - elements. + interrupted media session's active audio-producing + participants. @@ -751,7 +837,7 @@ steps. or Content then duck all of interrupted media session's active - participating media elements and set + audio-producing participants and set interrupted media session's current state to interrupted. @@ -777,8 +863,8 @@ steps. lt="transient solo media state">Transient Solo then pause all of interrupted media session's - active participating media elements and set current - media session's current state to + active audio-producing participants and set + current media session's current state to interrupted. @@ -845,7 +931,7 @@ The media session continuation algorithm takes one argument, or Content, then unduck all of incumbent media session's - active participating media elements + active audio-producing participants and set incumbent media session's current state to active. @@ -864,9 +950,9 @@ The media session continuation algorithm takes one argument, lt="transient media state">Transient, or Transient Solo, then unpause the - incumbent media session's active participating media - elements and set incumbent media session's current - state to + incumbent media session's active audio-producing + participants and set incumbent media session's + current state to active. @@ -896,7 +982,8 @@ user agent must run the following steps: If {{visibilityState}} is "{{hidden}}" [[PAGE-VISIBILITY]] and s's current state is active, then pause all of s's - active participating media elements and set s's + active audio-producing participants and set + s's current state to interrupted, then terminate these substeps and continue at the next available s. @@ -905,7 +992,7 @@ user agent must run the following steps: If {{visibilityState}} is "{{visible}}" [[PAGE-VISIBILITY]] and s's current state is interrupted, then unpause all of - s's active participating media elements and set + s's active audio-producing participants and set s's current state to active, then terminate these substeps and continue at the next available s. @@ -927,7 +1014,7 @@ The media session release algorithm takes one argument,
  • If current media session still has one or more active - participating media elements, then terminate these steps. + audio-producing participants, then terminate these steps.
  • Optionally, based on platform conventions, the user agent must release any @@ -944,11 +1031,11 @@ The media session release algorithm takes one argument, Optionally, based on platform conventions, the user agent must prevent any hardware and/or software media keys from controlling playback of current media session's - active participating media elements. + active audio-producing participants.

    If the algorithm reaches this step a media session can not have any - active participating media elements. + active audio-producing participants.

  • @@ -1158,7 +1245,7 @@ method is invoked, the user agent must run the following steps: Releases platform-level media focus, sets the media session's current state to idle and applies any changes necessary to its - active participating media elements. + active audio-producing participants. @@ -1172,10 +1259,10 @@ must run the following steps:
  • Indefinitely pause all of media session's active - participating media elements. + audio-producing participants.
  • - Reset media session's active participating media elements + Reset media session's active audio-producing participants to an empty list.
  • @@ -1358,7 +1445,7 @@ the following steps: these steps.
  • - For each active participating media element in m, called + For each active audio-producing participant in m, called active element, run the following substeps:
      @@ -1528,12 +1615,7 @@ must set its current media session to the current top-level browsing context's media session. A media session's participating media elements are media -elements whose current media session is that media session. A -media session must keep a list of active participating media -elements that consists of zero or more participating media -elements. - - +elements whose current media session is that media session.

      Extensions to the {{HTMLMediaElement}} interface

      @@ -1635,14 +1717,15 @@ otherwise. On setting, the user agent must run the following steps: same media session), then terminate these steps.
    1. - If m is an active participating media element of old - media session, then pause m and remove m - from old media session's active participating media - elements. + If m is an active audio-producing participant of + old media session, then pause m and remove + m + from old media session's active audio-producing + participants.
    2. If old media session is not null and no longer has one or more - active participating media elements, then run the media session + active audio-producing participants, then run the media session release algorithm for old media session.
    @@ -1760,8 +1843,8 @@ in media element media element:
  • If media element is not currently in media session's - list of active participating media elements, then append media - element to this list. + list of active audio-producing participants, then append + media element to this list.
  • Let activated be the result of running the media session @@ -1777,13 +1860,9 @@ in media element media element:

    Interrupting a media session from a media element

    -When a media element is to pause, the user agent must run that -media element's internal pause steps. - -When a media element is to indefinitely pause, the user agent -must pause that media element and, then proceed to remove it from -its current media session's list of active participating media -elements. +When the user agent is to pause a media element for a given a +media element it must run that media element's internal +pause steps. @@ -1814,15 +1893,9 @@ pause">indefinitely paused media session, immediately run the session state">active. -When a media element is to unpause the user agent must invoke -its {{play()}} method. - -When a media element is to duck the user agent must ensure its -output volume is lowered. - -When a media element is to unduck the user agent should -restore its output volume to the same level that was observed prior to the -original corresponding duck request. +When the user agent is to unpause a media element for a given a +media element it must invoke that media element's {{play()}} +method.

    Releasing a media session from a media element

    @@ -1849,12 +1922,12 @@ steps:
  • If media element is not currently in media session's - list of active participating media elements, then terminate these + list of active audio-producing participants, then terminate these steps.
  • Remove media element from media session's list of - active participating media elements. + active audio-producing participants.
  • Run the media session release algorithm for media session. diff --git a/mediasession.html b/mediasession.html index a6a9e57..8f5d21d 100644 --- a/mediasession.html +++ b/mediasession.html @@ -210,10 +210,11 @@

  • 4.1 States
  • 4.2 Types -
  • 4.3 Resources -
  • 4.4 Activating a media session -
  • 4.5 Interrupting a media session -
  • 4.6 Releasing a media session +
  • 4.3 Participants +
  • 4.4 Resources +
  • 4.5 Activating a media session +
  • 4.6 Interrupting a media session +
  • 4.7 Releasing a media session
  • 5 API