From 3841cc74cf1c228d44d64e198bf281ee5984da0f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20Cr=C3=AAte?= Date: Mon, 28 Sep 2009 13:36:44 -0400 Subject: [PATCH] rtpmux: Don't ignore requested pad name --- gst/rtpmanager/gstrtpmux.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gst/rtpmanager/gstrtpmux.c b/gst/rtpmanager/gstrtpmux.c index 23a6c7e..84d9d4d 100644 --- a/gst/rtpmanager/gstrtpmux.c +++ b/gst/rtpmanager/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 -- 2.7.4