[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

philn at webkit.org philn at webkit.org
Wed Dec 22 18:07:45 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 026c9b64393513b5ea022c5ce1554fb821d4e886
Author: philn at webkit.org <philn at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Dec 7 21:39:15 2010 +0000

    2010-11-25  Philippe Normand  <pnormand at igalia.com>
    
            Reviewed by Martin Robinson.
    
            [GStreamer] faster elements linking
            https://bugs.webkit.org/show_bug.cgi?id=50067
    
            Perform less checks during GStreamer elements linking if building
            against GStreamer >= 0.10.30.
    
            * platform/graphics/gstreamer/GStreamerGWorld.cpp:
            (WebCore::GStreamerGWorld::enterFullscreen):
            * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
            (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73457 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 27a4a63..bf230cc 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-11-25  Philippe Normand  <pnormand at igalia.com>
+
+        Reviewed by Martin Robinson.
+
+        [GStreamer] faster elements linking
+        https://bugs.webkit.org/show_bug.cgi?id=50067
+
+        Perform less checks during GStreamer elements linking if building
+        against GStreamer >= 0.10.30.
+
+        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
+        (WebCore::GStreamerGWorld::enterFullscreen):
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
+
 2010-12-07  Philippe Normand  <pnormand at igalia.com>
 
         Reviewed by Gustavo Noronha Silva.
diff --git a/WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp b/WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp
index b18bf84..e8c87ac 100644
--- a/WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp
+++ b/WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp
@@ -91,9 +91,16 @@ bool GStreamerGWorld::enterFullscreen()
 
     g_object_set(valve, "drop-probability", 1.0, NULL);
 
-    // Add and link a queue, ffmpegcolorspace and sink in the bin.
+    // Add and link a queue, ffmpegcolorspace, videoscale and sink in the bin.
     gst_bin_add_many(GST_BIN(videoSink.get()), platformVideoSink, videoScale, colorspace, queue, NULL);
+#if GST_CHECK_VERSION(0, 10, 30)
+    // Faster elements linking, if possible.
+    gst_element_link_pads_full(queue, "src", colorspace, "sink", GST_PAD_LINK_CHECK_NOTHING);
+    gst_element_link_pads_full(colorspace, "src", videoScale, "sink", GST_PAD_LINK_CHECK_NOTHING);
+    gst_element_link_pads_full(videoScale, "src", platformVideoSink, "sink", GST_PAD_LINK_CHECK_NOTHING);
+#else
     gst_element_link_many(queue, colorspace, videoScale, platformVideoSink, NULL);
+#endif
 
     // Link a new src pad from tee to queue.
     GstPad* srcPad = gst_element_get_request_pad(tee, "src%d");
diff --git a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
index 38f8906..e338c14 100644
--- a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
+++ b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
@@ -1562,16 +1562,32 @@ void MediaPlayerPrivateGStreamer::createGSTPlayBin()
         if (g_object_class_find_property(G_OBJECT_GET_CLASS(m_fpsSink), "video-sink")) {
             g_object_set(m_fpsSink, "video-sink", m_webkitVideoSink, NULL);
             gst_bin_add(GST_BIN(m_videoSinkBin), m_fpsSink);
+#if GST_CHECK_VERSION(0, 10, 30)
+            // Faster elements linking, if possible.
+            gst_element_link_pads_full(queue, "src", m_fpsSink, "sink", GST_PAD_LINK_CHECK_NOTHING);
+#else
             gst_element_link(queue, m_fpsSink);
+#endif
         } else {
             m_fpsSink = 0;
             gst_bin_add(GST_BIN(m_videoSinkBin), m_webkitVideoSink);
+#if GST_CHECK_VERSION(0, 10, 30)
+            // Faster elements linking, if possible.
+            gst_element_link_pads_full(queue, "src", m_webkitVideoSink, "sink", GST_PAD_LINK_CHECK_NOTHING);
+#else
             gst_element_link(queue, m_webkitVideoSink);
+#endif
             LOG_VERBOSE(Media, "Can't display FPS statistics, you need gst-plugins-bad >= 0.10.18");
         }
     } else {
         gst_bin_add(GST_BIN(m_videoSinkBin), m_webkitVideoSink);
+#if GST_CHECK_VERSION(0, 10, 30)
+        // Faster elements linking, if possible.
+        gst_element_link_pads_full(queue, "src", identity, "sink", GST_PAD_LINK_CHECK_NOTHING);
+        gst_element_link_pads_full(identity, "src", m_webkitVideoSink, "sink", GST_PAD_LINK_CHECK_NOTHING);
+#else
         gst_element_link_many(queue, identity, m_webkitVideoSink, NULL);
+#endif
     }
 
     // Add a ghostpad to the bin so it can proxy to tee.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list