From: Edward Hervey Date: Thu, 2 Nov 2017 06:18:17 +0000 (+0100) Subject: discoverer: Uniquely name elements X-Git-Tag: 1.16.2~1038 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=39ba6427f18f727cc5e5bf477a24a772e4aaedee;p=platform%2Fupstream%2Fgst-plugins-base.git discoverer: Uniquely name elements Helps identifying actual queue/fakesink usage. There seems to be a race in discoverer, this should help track it down. --- diff --git a/gst-libs/gst/pbutils/gstdiscoverer.c b/gst-libs/gst/pbutils/gstdiscoverer.c index cdc26fb..0c09837 100644 --- a/gst-libs/gst/pbutils/gstdiscoverer.c +++ b/gst-libs/gst/pbutils/gstdiscoverer.c @@ -608,6 +608,8 @@ uridecodebin_pad_added_cb (GstElement * uridecodebin, GstPad * pad, PrivateStream *ps; GstPad *sinkpad = NULL; GstCaps *caps; + gchar *padname; + gchar *tmpname; GST_DEBUG_OBJECT (dc, "pad %s:%s", GST_DEBUG_PAD_NAME (pad)); @@ -615,8 +617,14 @@ uridecodebin_pad_added_cb (GstElement * uridecodebin, GstPad * pad, ps->dc = dc; ps->pad = pad; - ps->queue = gst_element_factory_make ("queue", NULL); - ps->sink = gst_element_factory_make ("fakesink", NULL); + padname = gst_pad_get_name (pad); + tmpname = g_strdup_printf ("discoverer-queue-%s", padname); + ps->queue = gst_element_factory_make ("queue", tmpname); + g_free (tmpname); + tmpname = g_strdup_printf ("discoverer-sink-%s", padname); + ps->sink = gst_element_factory_make ("fakesink", tmpname); + g_free (tmpname); + g_free (padname); if (G_UNLIKELY (ps->queue == NULL || ps->sink == NULL)) goto error;