Title: [164288] releases/WebKitGTK/webkit-2.2
Revision
164288
Author
[email protected]
Date
2014-02-18 04:15:33 -0800 (Tue, 18 Feb 2014)

Log Message

Merge r163871 - [GStreamer] High playback rate causes crash
https://bugs.webkit.org/show_bug.cgi?id=128453

Patch by Piotr Grad <[email protected]> on 2014-02-11
Reviewed by Philippe Normand.

Source/WebCore:

To high playback rate passed to GStreamer was causing crash.
Added guard in setRate method.

Test: media/video-extreme-playbackrate-crash.html

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

Test checks if passing high playback rate causes crash.

* media/video-extreme-playbackrate-crash-expected.txt: Added.
* media/video-extreme-playbackrate-crash.html: Added.

Modified Paths

Added Paths

Diff

Modified: releases/WebKitGTK/webkit-2.2/LayoutTests/ChangeLog (164287 => 164288)


--- releases/WebKitGTK/webkit-2.2/LayoutTests/ChangeLog	2014-02-18 12:12:23 UTC (rev 164287)
+++ releases/WebKitGTK/webkit-2.2/LayoutTests/ChangeLog	2014-02-18 12:15:33 UTC (rev 164288)
@@ -1,3 +1,15 @@
+2014-02-11  Piotr Grad  <[email protected]>
+
+        [GStreamer] High playback rate causes crash
+        https://bugs.webkit.org/show_bug.cgi?id=128453
+
+        Reviewed by Philippe Normand.
+
+        Test checks if passing high playback rate causes crash.
+
+        * media/video-extreme-playbackrate-crash-expected.txt: Added.
+        * media/video-extreme-playbackrate-crash.html: Added.
+
 2013-09-13  Filip Pizlo  <[email protected]>
 
         DFG AI assumes that ToThis can never return non-object if it is passed an object, and operationToThis will get the wrong value of isStrictMode() if there's inlining

Added: releases/WebKitGTK/webkit-2.2/LayoutTests/media/video-extreme-playbackrate-crash-expected.txt (0 => 164288)


--- releases/WebKitGTK/webkit-2.2/LayoutTests/media/video-extreme-playbackrate-crash-expected.txt	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.2/LayoutTests/media/video-extreme-playbackrate-crash-expected.txt	2014-02-18 12:15:33 UTC (rev 164288)
@@ -0,0 +1,6 @@
+
+Test that passing extreme playback rate does not cause crash.
+
+EVENT(canplaythrough)
+END OF TEST
+

Added: releases/WebKitGTK/webkit-2.2/LayoutTests/media/video-extreme-playbackrate-crash.html (0 => 164288)


--- releases/WebKitGTK/webkit-2.2/LayoutTests/media/video-extreme-playbackrate-crash.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.2/LayoutTests/media/video-extreme-playbackrate-crash.html	2014-02-18 12:15:33 UTC (rev 164288)
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <script src=""
+        <script src=""
+        <script>
+            function start() {
+                findMediaElement();
+                video.src = "" "content/test");
+                waitForEventOnce('canplaythrough', canPlayThrough);
+            }
+
+            function canPlayThrough() {
+                video.playbackRate = 10000000;
+                video.play();
+                video.playbackRate = -10000000;
+                endTest();
+            }
+        </script>
+    </head>
+    <body _onload_="start()">
+        <video></video>
+        <p>Test that passing extreme playback rate does not cause crash.</p>
+    </body>
+</html>

Modified: releases/WebKitGTK/webkit-2.2/Source/WebCore/ChangeLog (164287 => 164288)


--- releases/WebKitGTK/webkit-2.2/Source/WebCore/ChangeLog	2014-02-18 12:12:23 UTC (rev 164287)
+++ releases/WebKitGTK/webkit-2.2/Source/WebCore/ChangeLog	2014-02-18 12:15:33 UTC (rev 164288)
@@ -1,3 +1,18 @@
+2014-02-11  Piotr Grad  <[email protected]>
+
+        [GStreamer] High playback rate causes crash
+        https://bugs.webkit.org/show_bug.cgi?id=128453
+
+        Reviewed by Philippe Normand.
+
+        To high playback rate passed to GStreamer was causing crash.
+        Added guard in setRate method.
+
+        Test: media/video-extreme-playbackrate-crash.html
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::setRate):
+
 2014-02-05  Ryuan Choi  <[email protected]>
 
         MediaPlayerPrivateGStreamerBase should have virtual destructor

Modified: releases/WebKitGTK/webkit-2.2/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (164287 => 164288)


--- releases/WebKitGTK/webkit-2.2/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2014-02-18 12:12:23 UTC (rev 164287)
+++ releases/WebKitGTK/webkit-2.2/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2014-02-18 12:15:33 UTC (rev 164288)
@@ -627,6 +627,9 @@
 
 void MediaPlayerPrivateGStreamer::setRate(float rate)
 {
+    // Higher rate causes crash.
+    rate = clampTo(rate, -20, 20);
+
     // Avoid useless playback rate update.
     if (m_playbackRate == rate)
         return;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to