[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Wed Apr 7 23:33:32 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 24a4acc9b954e990b18ffe5e4c8247d1e00f32e7
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Nov 12 10:39:57 2009 +0000

    2009-11-12  Philippe Normand  <pnormand at igalia.com>
    
            Reviewed by Jan Alonzo.
    
            https://bugs.webkit.org/show_bug.cgi?id=31047
            [GTK] Failing test media/video-played-ranges-1.html
    
            Follow-up of r50726, don't block the UI thread when calling
            gst_element_get_state(). Also fixed a compilation warning and some
            static casts.
    
            * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
            (WebCore::playbackPosition):
            (WebCore::MediaPlayerPrivate::seek):
            (WebCore::MediaPlayerPrivate::setRate):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50873 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4c20f5a..3544486 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -5,6 +5,22 @@
         https://bugs.webkit.org/show_bug.cgi?id=31047
         [GTK] Failing test media/video-played-ranges-1.html
 
+        Follow-up of r50726, don't block the UI thread when calling
+        gst_element_get_state(). Also fixed a compilation warning and some
+        static casts.
+
+        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::playbackPosition):
+        (WebCore::MediaPlayerPrivate::seek):
+        (WebCore::MediaPlayerPrivate::setRate):
+
+2009-11-12  Philippe Normand  <pnormand at igalia.com>
+
+        Reviewed by Jan Alonzo.
+
+        https://bugs.webkit.org/show_bug.cgi?id=31047
+        [GTK] Failing test media/video-played-ranges-1.html
+
         don't pause pipeline if already paused, same for play()
 
         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
diff --git a/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp b/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
index 091506d..4f85f79 100644
--- a/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
+++ b/WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp
@@ -116,8 +116,8 @@ static float playbackPosition(GstElement* playbin)
 
     // Position is available only if the pipeline is not in NULL or
     // READY state.
-    if (position != GST_CLOCK_TIME_NONE)
-        ret = (float) (position / 1000000000.0);
+    if (position !=  static_cast<gint64>(GST_CLOCK_TIME_NONE))
+        ret = static_cast<float>(position) / static_cast<float>(GST_SECOND);
 
     LOG_VERBOSE(Media, "Position %" GST_TIME_FORMAT, GST_TIME_ARGS(position));
 
@@ -391,9 +391,9 @@ void MediaPlayerPrivate::setRate(float rate)
     GstState state;
     GstState pending;
 
-    gst_element_get_state(m_playBin,
-        &state, &pending, 250 * GST_NSECOND);
-    if (state != GST_STATE_PLAYING && state != GST_STATE_PAUSED)
+    gst_element_get_state(m_playBin, &state, &pending, 0);
+    if ((state != GST_STATE_PLAYING && state != GST_STATE_PAUSED)
+        || (pending == GST_STATE_PAUSED))
         return;
 
     if (m_isStreaming)
@@ -418,7 +418,7 @@ void MediaPlayerPrivate::setRate(float rate)
 
         // If we are at beginning of media, start from the end to
         // avoid immediate EOS.
-        if (currentPosition == 0 || currentPosition == -1)
+        if (currentPosition <= 0)
             end = duration() * GST_SECOND;
         else
             end = currentPosition;
@@ -430,11 +430,8 @@ void MediaPlayerPrivate::setRate(float rate)
                           GST_SEEK_TYPE_SET, start,
                           GST_SEEK_TYPE_SET, end))
         LOG_VERBOSE(Media, "Set rate to %f failed", rate);
-    else {
+    else
         g_object_set(m_playBin, "mute", mute, NULL);
-        // Wait some time for the seek to complete.
-        gst_element_get_state(m_playBin, 0, 0, 40 * GST_MSECOND);
-    }
 }
 
 int MediaPlayerPrivate::dataRate() const

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list