mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
rtpmux: Don't ignore requested pad name
This commit is contained in:
parent
d93295ff9d
commit
3841cc74cf
1 changed files with 10 additions and 5 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue