Title: [137480] trunk
Revision
137480
Author
[email protected]
Date
2012-12-12 10:30:40 -0800 (Wed, 12 Dec 2012)

Log Message

Remove MediaSource 'ended' to 'open' transition when seeking.
https://bugs.webkit.org/show_bug.cgi?id=104583

Reviewed by Eric Carlson.

Source/WebCore:

Remove the 'ended' to 'open' transition on a seek.

No new tests. The following tests were updated to reflect the new behavior.
  http/tests/media/media-source/video-media-source-seek.html
  http/tests/media/media-source/video-media-source-state-changes.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seek):

LayoutTests:

Updated seeking tests to no longer expect the the 'ended' to 'open'
transition on a seek.

* http/tests/media/media-source/video-media-source-seek-expected.txt:
* http/tests/media/media-source/video-media-source-seek.html:
* http/tests/media/media-source/video-media-source-state-changes-expected.txt:
* http/tests/media/media-source/video-media-source-state-changes.html:
* platform/chromium/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (137479 => 137480)


--- trunk/LayoutTests/ChangeLog	2012-12-12 18:19:09 UTC (rev 137479)
+++ trunk/LayoutTests/ChangeLog	2012-12-12 18:30:40 UTC (rev 137480)
@@ -1,3 +1,19 @@
+2012-12-12  Aaron Colwell  <[email protected]>
+
+        Remove MediaSource 'ended' to 'open' transition when seeking.
+        https://bugs.webkit.org/show_bug.cgi?id=104583
+
+        Reviewed by Eric Carlson.
+
+        Updated seeking tests to no longer expect the the 'ended' to 'open'
+        transition on a seek.
+
+        * http/tests/media/media-source/video-media-source-seek-expected.txt:
+        * http/tests/media/media-source/video-media-source-seek.html:
+        * http/tests/media/media-source/video-media-source-state-changes-expected.txt:
+        * http/tests/media/media-source/video-media-source-state-changes.html:
+        * platform/chromium/TestExpectations:
+
 2012-12-12  Mihnea Ovidenie  <[email protected]>
 
         [CSS Regions] Two regions reftests are failing the image match

Modified: trunk/LayoutTests/http/tests/media/media-source/video-media-source-seek-expected.txt (137479 => 137480)


--- trunk/LayoutTests/http/tests/media/media-source/video-media-source-seek-expected.txt	2012-12-12 18:19:09 UTC (rev 137479)
+++ trunk/LayoutTests/http/tests/media/media-source/video-media-source-seek-expected.txt	2012-12-12 18:30:40 UTC (rev 137480)
@@ -5,8 +5,7 @@
 EVENT(playing)
 EVENT(timeupdate) : seeking to 2.78
 EVENT(seeking)
-EVENT(webkitsourceopen)
-EVENT(webkitsourceended)
+EVENT(seeked)
 EVENT(playing)
 EVENT(ended)
 END OF TEST

Modified: trunk/LayoutTests/http/tests/media/media-source/video-media-source-seek.html (137479 => 137480)


--- trunk/LayoutTests/http/tests/media/media-source/video-media-source-seek.html	2012-12-12 18:19:09 UTC (rev 137479)
+++ trunk/LayoutTests/http/tests/media/media-source/video-media-source-seek.html	2012-12-12 18:30:40 UTC (rev 137480)
@@ -7,19 +7,15 @@
         <script>
             var segmentHelper = new MediaSourceTest.SegmentHelper(WebMSegmentInfo.testWebM);
 
-            var firstOpen = true;
             var doSeek = true;
             var seekTime;
 
             function onSourceOpen(event)
             {
-                if (firstOpen) {
-                    firstOpen = false;
-
-                    segmentHelper.addSourceBuffer();
-                    segmentHelper.appendInitSegment();
-                    segmentHelper.appendUntilEndOfStream(0);
-                }
+                segmentHelper.addSourceBuffer();
+                segmentHelper.appendInitSegment();
+                segmentHelper.appendUntilEndOfStream(0);
+                MediaSourceTest.expectSourceState("ended");
             }
 
             function onTimeUpdate(event)
@@ -33,22 +29,14 @@
                 }
             }
 
-            function onSeeking(event)
-            {
-                var videoTag = event.target;
-
-                // Call abort to make sure the source buffer is in a state where it can accept new segments.
-                segmentHelper.sourceBuffer.abort();
-
-                var startIndex = segmentHelper.getMediaSegmentIndexForTimestamp(videoTag.currentTime);
-                segmentHelper.appendUntilEndOfStream(startIndex);
-            }
-
             function onSeeked(event) 
             {
+                consoleWrite("EVENT(seeked)");
                 var videoTag = event.target;
                 var currentTime = videoTag.currentTime;
 
+                MediaSourceTest.expectSourceState("ended");
+
                 if (Math.abs(currentTime - seekTime) > 0.001 ) {
                     failTest("Seeked to " + currentTime.toFixed(3) + " instead of " + seekTime.toFixed(3));
                     return;
@@ -69,7 +57,6 @@
 
                 mediaSource.addEventListener('webkitsourceopen', onSourceOpen);
                 video.addEventListener('timeupdate', onTimeUpdate);
-                video.addEventListener('seeking', onSeeking);
                 video.addEventListener('seeked', onSeeked);
 
                 segmentHelper.init(video, function(success)

Modified: trunk/LayoutTests/http/tests/media/media-source/video-media-source-state-changes-expected.txt (137479 => 137480)


--- trunk/LayoutTests/http/tests/media/media-source/video-media-source-state-changes-expected.txt	2012-12-12 18:19:09 UTC (rev 137479)
+++ trunk/LayoutTests/http/tests/media/media-source/video-media-source-state-changes-expected.txt	2012-12-12 18:30:40 UTC (rev 137480)
@@ -7,9 +7,9 @@
 onFirstSourceEnded
 EVENT(playing)
 triggerFirstSeek
-EVENT(webkitsourceopen) : open
 EVENT(seeking)
 onFirstSeeking
+EVENT(webkitsourceopen) : open
 EVENT(seeked)
 onFirstSeeked
 EVENT(seeking)

Modified: trunk/LayoutTests/http/tests/media/media-source/video-media-source-state-changes.html (137479 => 137480)


--- trunk/LayoutTests/http/tests/media/media-source/video-media-source-state-changes.html	2012-12-12 18:19:09 UTC (rev 137479)
+++ trunk/LayoutTests/http/tests/media/media-source/video-media-source-state-changes.html	2012-12-12 18:30:40 UTC (rev 137480)
@@ -72,7 +72,7 @@
                 videoTag.removeEventListener('playing', triggerFirstSeek);
 
                 // Now that we have appended all of the media segments and ended the stream,
-                // lets do a seek to test the "ended" -> "open" transition.
+                // lets do a seek to make sure we stay in the "ended" state.
                 videoTag.addEventListener('seeking', onFirstSeeking);
                 videoTag.addEventListener('seeked', onFirstSeeked);
                 videoTag.currentTime = seekTime;
@@ -85,10 +85,13 @@
                 var videoTag = event.target;
                 videoTag.removeEventListener('seeking', onFirstSeeking);
 
-                MediaSourceTest.expectSourceState(mediaSource, "open");
+                MediaSourceTest.expectSourceState(mediaSource, "ended");
 
                 // Start appending media segments.
                 appendMediaSegmentsForSeek(videoTag.currentTime);
+
+                // Verify that the source state transitioned to open after the append.
+                MediaSourceTest.expectSourceState(mediaSource, "open");
             }
 
             function onFirstSeeked(event)

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (137479 => 137480)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-12-12 18:19:09 UTC (rev 137479)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-12-12 18:30:40 UTC (rev 137480)
@@ -3837,9 +3837,6 @@
 webkit.org/b/96628 [ Lion MountainLion ] fast/frames/calculate-order.html [ Failure Pass ]
 webkit.org/b/96550 http/tests/media/media-source/seek-to-end-after-duration-change.html [ Pass Timeout ]
 
-webkit.org/b/104584 [ Win Mac Linux ] http/tests/media/media-source/video-media-source-seek.html [ Skip ]
-webkit.org/b/104584 [ Win Mac Linux ] http/tests/media/media-source/video-media-source-state-changes.html [ Skip ]
-
 crbug.com/63921 platform/chromium/virtual/gpu/fast/canvas/canvas-fillPath-shadow.html [ Failure ]
 webkit.org/b/77550 platform/chromium/virtual/gpu/canvas/philip/tests/2d.gradient.interpolate.colouralpha.html [ Failure ]
 

Modified: trunk/Source/WebCore/ChangeLog (137479 => 137480)


--- trunk/Source/WebCore/ChangeLog	2012-12-12 18:19:09 UTC (rev 137479)
+++ trunk/Source/WebCore/ChangeLog	2012-12-12 18:30:40 UTC (rev 137480)
@@ -1,3 +1,19 @@
+2012-12-12  Aaron Colwell  <[email protected]>
+
+        Remove MediaSource 'ended' to 'open' transition when seeking.
+        https://bugs.webkit.org/show_bug.cgi?id=104583
+
+        Reviewed by Eric Carlson.
+
+        Remove the 'ended' to 'open' transition on a seek.
+
+        No new tests. The following tests were updated to reflect the new behavior.
+          http/tests/media/media-source/video-media-source-seek.html
+          http/tests/media/media-source/video-media-source-state-changes.html
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::seek):
+
 2012-12-12  Julien Chaffraix  <[email protected]>
 
         [CSS Grid Layout] Implement CSS parsing and handling for min-content and max-content

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (137479 => 137480)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2012-12-12 18:19:09 UTC (rev 137479)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2012-12-12 18:30:40 UTC (rev 137480)
@@ -2069,11 +2069,6 @@
     m_lastSeekTime = time;
     m_sentEndEvent = false;
 
-#if ENABLE(MEDIA_SOURCE)
-    if (m_mediaSource && m_mediaSource->readyState() == MediaSource::endedKeyword())
-        setSourceState(MediaSource::openKeyword());
-#endif
-
     // 8 - Set the current playback position to the given new playback position
     m_player->seek(time);
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to