[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