Title: [179699] trunk
Revision
179699
Author
[email protected]
Date
2015-02-05 11:37:11 -0800 (Thu, 05 Feb 2015)

Log Message

[Mac] HLS <video> will not fire 'progress' events, only 'stalled'.
https://bugs.webkit.org/show_bug.cgi?id=141284

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/media/hls/hls-progress.html

totalBytes() will always return 0 for HLS streams, which will cause didLoadingProgress() to always
return false. Skip this optimization.

Drive-by fix: duration() will always return 0 for this class as well. Use durationMediaTime() instead.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):

LayoutTests:

* http/tests/media/hls/hls-progress-expected.txt: Added.
* http/tests/media/hls/hls-progress.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (179698 => 179699)


--- trunk/LayoutTests/ChangeLog	2015-02-05 19:29:55 UTC (rev 179698)
+++ trunk/LayoutTests/ChangeLog	2015-02-05 19:37:11 UTC (rev 179699)
@@ -1,3 +1,13 @@
+2015-02-05  Jer Noble  <[email protected]>
+
+        [Mac] HLS <video> will not fire 'progress' events, only 'stalled'.
+        https://bugs.webkit.org/show_bug.cgi?id=141284
+
+        Reviewed by Brent Fulgham.
+
+        * http/tests/media/hls/hls-progress-expected.txt: Added.
+        * http/tests/media/hls/hls-progress.html: Added.
+
 2015-02-05  Zalan Bujtas  <[email protected]>
 
         [Mac] Unreviewed gardening.

Added: trunk/LayoutTests/http/tests/media/hls/hls-progress-expected.txt (0 => 179699)


--- trunk/LayoutTests/http/tests/media/hls/hls-progress-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/media/hls/hls-progress-expected.txt	2015-02-05 19:37:11 UTC (rev 179699)
@@ -0,0 +1,4 @@
+
+EVENT(progress)
+END OF TEST
+

Added: trunk/LayoutTests/http/tests/media/hls/hls-progress.html (0 => 179699)


--- trunk/LayoutTests/http/tests/media/hls/hls-progress.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/media/hls/hls-progress.html	2015-02-05 19:37:11 UTC (rev 179699)
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <script src=""
+        <script src=""
+        <script>
+            if (window.testRunner) {
+                testRunner.dumpAsText();
+                testRunner.setAlwaysAcceptCookies(true);
+                testRunner.waitUntilDone();
+            }
+
+            function start() {
+                video = document.getElementById('video');
+                waitForEventAndEnd('progress');
+                waitForEventAndFail('stalled');
+                video.src = ""
+            }
+        </script>
+    </head>
+    <body _onload_="start()">
+        <video id="video"></video>
+    </body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (179698 => 179699)


--- trunk/Source/WebCore/ChangeLog	2015-02-05 19:29:55 UTC (rev 179698)
+++ trunk/Source/WebCore/ChangeLog	2015-02-05 19:37:11 UTC (rev 179699)
@@ -1,3 +1,20 @@
+2015-02-05  Jer Noble  <[email protected]>
+
+        [Mac] HLS <video> will not fire 'progress' events, only 'stalled'.
+        https://bugs.webkit.org/show_bug.cgi?id=141284
+
+        Reviewed by Brent Fulgham.
+
+        Test: http/tests/media/hls/hls-progress.html
+
+        totalBytes() will always return 0 for HLS streams, which will cause didLoadingProgress() to always
+        return false. Skip this optimization. 
+
+        Drive-by fix: duration() will always return 0 for this class as well. Use durationMediaTime() instead.
+
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+        (WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):
+
 2015-02-05  Darin Adler  <[email protected]>
 
         Move InstanceInvalidationGuard/UpdateBlocker to SVGElement from SVGElementInstance

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp (179698 => 179699)


--- trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp	2015-02-05 19:29:55 UTC (rev 179698)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp	2015-02-05 19:37:11 UTC (rev 179699)
@@ -430,7 +430,7 @@
 
 bool MediaPlayerPrivateAVFoundation::didLoadingProgress() const
 {
-    if (!duration() || !totalBytes())
+    if (!durationMediaTime())
         return false;
     MediaTime currentMaxTimeLoaded = maxTimeLoaded();
     bool didLoadingProgress = currentMaxTimeLoaded != m_maxTimeLoadedAtLastDidLoadingProgress;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to