Title: [137925] trunk/Source/WebCore
Revision
137925
Author
[email protected]
Date
2012-12-17 11:21:05 -0800 (Mon, 17 Dec 2012)

Log Message

[GStreamer] Use gst_element_link_pads_full() with CHECK_NOTHING for speed and sanity
https://bugs.webkit.org/show_bug.cgi?id=105181

Patch by Eduardo Lima Mitev <[email protected]> on 2012-12-17
Reviewed by Philippe Normand.

Replace some calls to gst_pad_link() on request pads, by
gst_element_link_pads_full() with CHECK_NOTHING flag, removing
unnecessary pad compatibility checks and simplifying code.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcConstructed): Links audioconvert source with a
requested interleave sink using gst_element_link_pads_full().
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Links a
requested source pad from videoTee with the queue sink.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (137924 => 137925)


--- trunk/Source/WebCore/ChangeLog	2012-12-17 19:12:45 UTC (rev 137924)
+++ trunk/Source/WebCore/ChangeLog	2012-12-17 19:21:05 UTC (rev 137925)
@@ -1,3 +1,20 @@
+2012-12-17  Eduardo Lima Mitev  <[email protected]>
+
+        [GStreamer] Use gst_element_link_pads_full() with CHECK_NOTHING for speed and sanity
+        https://bugs.webkit.org/show_bug.cgi?id=105181
+
+        Reviewed by Philippe Normand.
+
+        Replace some calls to gst_pad_link() on request pads, by
+        gst_element_link_pads_full() with CHECK_NOTHING flag, removing
+        unnecessary pad compatibility checks and simplifying code.
+
+        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
+        (webKitWebAudioSrcConstructed): Links audioconvert source with a
+        requested interleave sink using gst_element_link_pads_full().
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Links a
+        requested source pad from videoTee with the queue sink.
+
 2012-12-17  Emil A Eklund  <[email protected]>
 
         Clamp values in LayoutUnit::operator/ when SATURATED_LAYOUT_ARITHMETIC is enabled

Modified: trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp (137924 => 137925)


--- trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp	2012-12-17 19:12:45 UTC (rev 137924)
+++ trunk/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp	2012-12-17 19:21:05 UTC (rev 137925)
@@ -235,11 +235,8 @@
         gst_bin_add_many(GST_BIN(src), queue, capsfilter, audioconvert, NULL);
         gst_element_link_pads_full(queue, "src", capsfilter, "sink", GST_PAD_LINK_CHECK_NOTHING);
         gst_element_link_pads_full(capsfilter, "src", audioconvert, "sink", GST_PAD_LINK_CHECK_NOTHING);
+        gst_element_link_pads_full(audioconvert, "src", priv->interleave.get(), 0, GST_PAD_LINK_CHECK_NOTHING);
 
-        GRefPtr<GstPad> srcPad = adoptGRef(gst_element_get_static_pad(audioconvert, "src"));
-        GRefPtr<GstPad> sinkPad = adoptGRef(gst_element_get_request_pad(priv->interleave.get(), "sink%d"));
-        gst_pad_link(srcPad.get(), sinkPad.get());
-
     }
     priv->pads = g_slist_reverse(priv->pads);
 

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (137924 => 137925)


--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2012-12-17 19:12:45 UTC (rev 137924)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2012-12-17 19:21:05 UTC (rev 137925)
@@ -1830,9 +1830,7 @@
     gst_bin_add_many(GST_BIN(m_videoSinkBin), videoTee, queue, NULL);
 
     // Link a new src pad from tee to queue1.
-    GRefPtr<GstPad> srcPad = adoptGRef(gst_element_get_request_pad(videoTee, "src%d"));
-    GRefPtr<GstPad> sinkPad = adoptGRef(gst_element_get_static_pad(queue, "sink"));
-    gst_pad_link(srcPad.get(), sinkPad.get());
+    gst_element_link_pads_full(videoTee, 0, queue, "sink", GST_PAD_LINK_CHECK_NOTHING);
 #endif
 
     GstElement* actualVideoSink = 0;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to