From 0be50b6632a5d42296bba83667f75de9e22cb967 Mon Sep 17 00:00:00 2001 From: Matt Wolenetz Date: Fri, 27 May 2016 12:34:15 -0700 Subject: [PATCH] Fix #24 - Suspending and notifying resumption of a downlaod for a media element fetching from a MediaSource --- index.html | 25 +++++++++++++++++++------ media-source-respec.html | 23 ++++++++++++++++++----- media-source.js | 1 + 3 files changed, 38 insertions(+), 11 deletions(-) diff --git a/index.html b/index.html index ba514fd..186e70c 100644 --- a/index.html +++ b/index.html @@ -454,7 +454,7 @@

Media Source Extensions

-

W3C Editor's Draft

+

W3C Editor's Draft

This version:
@@ -1130,12 +1130,17 @@

delaying-the-load-event-flag to false.
  • Set the readyState attribute to "open".
  • Queue a task to fire a simple event named sourceopen at the MediaSource.
  • -
  • Continue the resource fetch algorithm by running the "Perform a potentially CORS-enabled fetch" step. Text in the resource fetch algorithm - that refers to "the download" or "bytes received" refer to data passed in via appendBuffer() and appendStream(). References to - HTTP in the resource fetch algorithm do not apply because the HTMLMediaElement does not fetch media data via HTTP when a MediaSource is attached.
  • +
  • Continue the resource fetch algorithm by running the "Perform a potentially CORS-enabled fetch" step, with these clarifications: +
      +
    1. Text in the resource fetch algorithm that refers to "the download" or "bytes received" refers to data passed in via appendBuffer() and appendStream().
    2. +
    3. References to HTTP in the resource fetch algorithm do not apply because the HTMLMediaElement does not fetch media data via HTTP when a MediaSource is attached.
    4. +
    5. Text in the resource fetch algorithm that refers to transitions to "NETWORK_IDLE" and firing "suspend" events, and the paragraph that begins with "User agents may decide to not download more content at any time", do not apply to a media element that has a MediaSource object attached by this algorithm.
    6. +
    +
  • @@ -3182,7 +3187,15 @@

    - 26 May 2016 + 06 June 2016 + +
      +
    • Issue 24 - Clarify MSE attachment stops delaying the 'load' event, and MSE disables 'suspend' event logic
    • +
    + + + + 26 May 2016
    • Issue 44 - Used SVG and longdesc for pipeline diagram.
    • @@ -3983,7 +3996,7 @@

      [HTML5]
      Ian Hickson; Robin Berjon; Steve Faulkner; Travis Leithead; Erika Doyle Navara; Edward O'Connor; Silvia Pfeiffer. HTML5. 28 October 2014. W3C Recommendation. URL: http://www.w3.org/TR/html5/
      [TYPED-ARRAYS]
      David Herman; Kenneth Russell. Typed Array Specification. 26 June 2013. Khronos Working Draft. URL: https://www.khronos.org/registry/typedarray/specs/latest/
      [WHATWG-STREAMS-API]
      Domenic Denicola; Takeshi Yoshino. WHATWG Streams API. URL: https://streams.spec.whatwg.org/ -

      A.2 Informative references

      [HTML51]
      Steve Faulkner; Arron Eicholz; Travis Leithead; Alex Danilo. HTML 5.1. 3 May 2016. W3C Working Draft. URL: http://www.w3.org/TR/html51/ +

      A.2 Informative references

      [HTML51]
      Steve Faulkner; Arron Eicholz; Travis Leithead; Alex Danilo. HTML 5.1. 2 June 2016. W3C Working Draft. URL: http://www.w3.org/TR/html51/
      [INBANDTRACKS]
      Bob Lund; Silvia Pfeiffer. Sourcing In-band Media Resource Tracks from Media Containers into HTML. URL: http://dev.w3.org/html5/html-sourcing-inband-tracks/
      [MSE-REGISTRY]
      Aaron Colwell. Media Source Extensions Byte Stream Format Registry. URL: byte-stream-format-registry.html
      \ No newline at end of file diff --git a/media-source-respec.html b/media-source-respec.html index f702bc7..a3a9aa3 100644 --- a/media-source-respec.html +++ b/media-source-respec.html @@ -20,7 +20,7 @@ // if this is a LCWD, uncomment and set the end of its review period // lcEnd: "2009-08-05", - publishDate: "2016-05-26", + publishDate: "2016-06-06", previousMaturity: "CR", previousPublishDate: "2015-05-03", @@ -652,12 +652,17 @@

      Attaching to a media element

      Otherwise
        +
      1. Set the media element's to false.
      2. Set the attribute to .
      3. at the MediaSource.
      4. -
      5. Continue the by running the step. Text in the - that refers to "the download" or "bytes received" refer to data passed in via and . References to - HTTP in the do not apply because the HTMLMediaElement does not fetch media data via HTTP when a MediaSource is attached.
      6. +
      7. Continue the by running the step, with these clarifications: +
          +
        1. Text in the that refers to "the download" or "bytes received" refers to data passed in via and .
        2. +
        3. References to HTTP in the do not apply because the HTMLMediaElement does not fetch media data via HTTP when a MediaSource is attached.
        4. +
        5. Text in the that refers to transitions to "NETWORK_IDLE" and firing "suspend" events, and the paragraph that begins with "User agents may decide to not download more content at any time", do not apply to a media element that has a MediaSource object attached by this algorithm.
        6. +
        +
      @@ -2781,7 +2786,15 @@

      Revision History

      - 26 May 2016 + 06 June 2016 + +
        +
      • Issue 24 - Clarify MSE attachment stops delaying the 'load' event, and MSE disables 'suspend' event logic
      • +
      + + + + 26 May 2016
      • Issue 44 - Used SVG and longdesc for pipeline diagram.
      • diff --git a/media-source.js b/media-source.js index c2f02dd..2302a3c 100644 --- a/media-source.js +++ b/media-source.js @@ -283,6 +283,7 @@ 'media-timeline': { func: videoref_helper, fragment: 'media-timeline', link_text: 'media timeline', }, 'media-element-load-algorithm': { func: videoref_helper, fragment: 'media-element-load-algorithm', link_text: 'media element load algorithm', }, 'resource-fetch-algorithm': { func: videoref_helper, fragment: 'concept-media-load-resource', link_text: 'resource fetch algorithm', }, + 'delaying-the-load-event-flag': {func: videoref_helper, fragment: 'delaying-the-load-event-flag', link_text: 'delaying-the-load-event-flag', }, 'intrinsic-width-and-height': { func: videoref_helper, fragment: 'concept-video-intrinsic-width', link_text: 'intrinsic width and height', }, 'normalized-timeranges-object': { func: videoref_helper, fragment: 'normalized-timeranges-object', link_text: 'normalized TimeRanges object', }, 'current-playback-position': { func: videoref_helper, fragment: 'current-playback-position', link_text: 'current playback position', },