From 8d90ad76c93c69f04639e2ec1a9a1c05fd79405f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= Date: Mon, 28 Sep 2009 13:36:44 -0400 Subject: [PATCH] rtpmux: Don't ignore requested pad name --- gst/rtpmux/gstrtpmux.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gst/rtpmux/gstrtpmux.c b/gst/rtpmux/gstrtpmux.c index 23a6c7e775..84d9d4de16 100644 --- a/gst/rtpmux/gstrtpmux.c +++ b/gst/rtpmux/gstrtpmux.c @@ -209,7 +209,8 @@ gst_rtp_mux_init (GstRTPMux * object, GstRTPMuxClass * g_class) } static GstPad * -gst_rtp_mux_create_sinkpad (GstRTPMux * rtp_mux, GstPadTemplate * templ) +gst_rtp_mux_create_sinkpad (GstRTPMux * rtp_mux, GstPadTemplate * templ, + const gchar * req_name) { GstPad *newpad = NULL; GstPadTemplate *class_templ; @@ -219,12 +220,16 @@ gst_rtp_mux_create_sinkpad (GstRTPMux * rtp_mux, GstPadTemplate * templ) "sink_%d"); if (templ == class_templ) { - gchar *name; + gchar *tmpname = NULL; + const gchar *name = NULL; /* create new pad with the name */ - name = g_strdup_printf ("sink_%02d", rtp_mux->numpads); + if (req_name) + name = req_name; + else + name = tmpname = g_strdup_printf ("sink_%02d", rtp_mux->numpads); newpad = gst_pad_new_from_template (templ, name); - g_free (name); + g_free (tmpname); rtp_mux->numpads++; } else { @@ -276,7 +281,7 @@ gst_rtp_mux_request_new_pad (GstElement * element, return NULL; } - newpad = gst_rtp_mux_create_sinkpad (rtp_mux, templ); + newpad = gst_rtp_mux_create_sinkpad (rtp_mux, templ, req_name); if (newpad) gst_rtp_mux_setup_sinkpad (rtp_mux, newpad); else