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

kov at webkit.org kov at webkit.org
Thu Apr 8 02:23:33 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 7d47edbcdde2b369261379f5a70d8cc2e4e67381
Author: kov at webkit.org <kov at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Mar 16 11:57:39 2010 +0000

    2010-03-10  Gustavo Noronha Silva  <gustavo.noronha at collabora.co.uk>
    
            Reviewed by Eric Seidel.
    
            [GTK] Position queries are lagging
            https://bugs.webkit.org/show_bug.cgi?id=34372
    
            Normalize timeout priorities through the GStreamer media player as
            a whole. This should help avoid that any of them is starved.
    
            * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
            (WebCore::MediaPlayerPrivate::volumeChanged):
            (WebCore::MediaPlayerPrivate::processBufferingStats):
            (WebCore::MediaPlayerPrivate::muteChanged):
            * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
            (webkit_video_sink_render):
            * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
            (webKitWebSrcNeedDataCb):
            (webKitWebSrcEnoughDataCb):
            (webKitWebSrcSeekDataCb):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 082b6de..8f511ad 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -5,6 +5,27 @@
         [GTK] Position queries are lagging
         https://bugs.webkit.org/show_bug.cgi?id=34372
 
+        Normalize timeout priorities through the GStreamer media player as
+        a whole. This should help avoid that any of them is starved.
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivate::volumeChanged):
+        (WebCore::MediaPlayerPrivate::processBufferingStats):
+        (WebCore::MediaPlayerPrivate::muteChanged):
+        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
+        (webkit_video_sink_render):
+        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+        (webKitWebSrcNeedDataCb):
+        (webKitWebSrcEnoughDataCb):
+        (webKitWebSrcSeekDataCb):
+
+2010-03-10  Gustavo Noronha Silva  <gustavo.noronha at collabora.co.uk>
+
+        Reviewed by Eric Seidel.
+
+        [GTK] Position queries are lagging
+        https://bugs.webkit.org/show_bug.cgi?id=34372
+
         Use default priority also for parsing data: URIs.
 
         * platform/network/soup/ResourceHandleSoup.cpp:
diff --git a/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp b/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
index 5e0f8e2..dd8c3ee 100644
--- a/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
+++ b/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
@@ -213,8 +213,10 @@ webkit_video_sink_render(GstBaseSink* bsink, GstBuffer* buffer)
         buffer = priv->buffer = newBuffer;
     }
 
-    // Use HIGH_IDLE+20 priority, like Gtk+ for redrawing operations.
-    priv->timeout_id = g_timeout_add_full(G_PRIORITY_HIGH_IDLE + 20, 0,
+    // This should likely use a lower priority, but glib currently starves
+    // lower priority sources.
+    // See: https://bugzilla.gnome.org/show_bug.cgi?id=610830.
+    priv->timeout_id = g_timeout_add_full(G_PRIORITY_DEFAULT, 0,
                                           webkit_video_sink_timeout_func,
                                           gst_object_ref(sink),
                                           (GDestroyNotify)gst_object_unref);
diff --git a/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
index 6b8499c..8462ad1 100644
--- a/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+++ b/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
@@ -553,7 +553,7 @@ static void webKitWebSrcNeedDataCb(GstAppSrc* appsrc, guint length, gpointer use
     if (priv->needDataID || !priv->paused)
         return;
 
-    priv->needDataID = g_timeout_add_full(G_PRIORITY_HIGH, 0, (GSourceFunc) webKitWebSrcNeedDataMainCb, gst_object_ref(src), (GDestroyNotify) gst_object_unref);
+    priv->needDataID = g_timeout_add_full(G_PRIORITY_DEFAULT, 0, (GSourceFunc) webKitWebSrcNeedDataMainCb, gst_object_ref(src), (GDestroyNotify) gst_object_unref);
 }
 
 static gboolean webKitWebSrcEnoughDataMainCb(WebKitWebSrc* src)
@@ -577,7 +577,7 @@ static void webKitWebSrcEnoughDataCb(GstAppSrc* appsrc, gpointer userData)
     if (priv->enoughDataID || priv->paused)
         return;
 
-    priv->enoughDataID = g_timeout_add_full(G_PRIORITY_HIGH, 0, (GSourceFunc) webKitWebSrcEnoughDataMainCb, gst_object_ref(src), (GDestroyNotify) gst_object_unref);
+    priv->enoughDataID = g_timeout_add_full(G_PRIORITY_DEFAULT, 0, (GSourceFunc) webKitWebSrcEnoughDataMainCb, gst_object_ref(src), (GDestroyNotify) gst_object_unref);
 }
 
 static gboolean webKitWebSrcSeekMainCb(WebKitWebSrc* src)
@@ -606,7 +606,7 @@ static gboolean webKitWebSrcSeekDataCb(GstAppSrc* appsrc, guint64 offset, gpoint
     priv->requestedOffset = offset;
     if (priv->seekID)
         g_source_remove(priv->seekID);
-    priv->seekID = g_timeout_add_full(G_PRIORITY_HIGH, 0, (GSourceFunc) webKitWebSrcSeekMainCb, gst_object_ref(src), (GDestroyNotify) gst_object_unref);
+    priv->seekID = g_timeout_add_full(G_PRIORITY_DEFAULT, 0, (GSourceFunc) webKitWebSrcSeekMainCb, gst_object_ref(src), (GDestroyNotify) gst_object_unref);
     
     return TRUE;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list