From a52f5d73bdf8751f8122f05fe87b37f53429ee02 Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Thu, 8 Dec 2016 20:20:17 +0100 Subject: [PATCH] tracer: move the PAD_LINK tracer hook to _pad_link_full() This is ultimately executing the pad_link. In the previous position we missed some links, notably ghostpads. --- gst/gstpad.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gst/gstpad.c b/gst/gstpad.c index cd9fff1926..b37fc44d14 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -2443,6 +2443,8 @@ gst_pad_link_full (GstPad * srcpad, GstPad * sinkpad, GstPadLinkCheck flags) g_return_val_if_fail (GST_PAD_IS_SINK (sinkpad), GST_PAD_LINK_WRONG_DIRECTION); + GST_TRACER_PAD_LINK_PRE (srcpad, sinkpad); + /* Notify the parent early. See gst_pad_unlink for details. */ if (G_LIKELY ((parent = GST_ELEMENT_CAST (gst_pad_get_parent (srcpad))))) { if (G_LIKELY (GST_IS_ELEMENT (parent))) { @@ -2530,6 +2532,7 @@ done: gst_object_unref (parent); } + GST_TRACER_PAD_LINK_POST (srcpad, sinkpad, result); return result; /* ERRORS */ @@ -2575,13 +2578,7 @@ link_failed: GstPadLinkReturn gst_pad_link (GstPad * srcpad, GstPad * sinkpad) { - GstPadLinkReturn ret; - - GST_TRACER_PAD_LINK_PRE (srcpad, sinkpad); - ret = gst_pad_link_full (srcpad, sinkpad, GST_PAD_LINK_CHECK_DEFAULT); - GST_TRACER_PAD_LINK_POST (srcpad, sinkpad, ret); - - return ret; + return gst_pad_link_full (srcpad, sinkpad, GST_PAD_LINK_CHECK_DEFAULT); } static void