mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 03:56:16 +00:00
dvbbasebin: Emit no-more-pads when pad is added
This avoids an endless hang with playbin2, which sees dvbbasesbin as having dynamic pads ... but never emitted no-more-pads.
This commit is contained in:
parent
d049eadd50
commit
84fa5ec68d
1 changed files with 2 additions and 0 deletions
|
@ -477,6 +477,7 @@ dvb_base_bin_request_new_pad (GstElement * element,
|
||||||
ghost = gst_ghost_pad_new (pad_name, pad);
|
ghost = gst_ghost_pad_new (pad_name, pad);
|
||||||
g_free (pad_name);
|
g_free (pad_name);
|
||||||
gst_element_add_pad (element, ghost);
|
gst_element_add_pad (element, ghost);
|
||||||
|
gst_element_no_more_pads (element);
|
||||||
|
|
||||||
return ghost;
|
return ghost;
|
||||||
}
|
}
|
||||||
|
@ -928,6 +929,7 @@ dvb_base_bin_pad_added_cb (GstElement * mpegtsparse,
|
||||||
program->ghost = gst_ghost_pad_new (padname, pad);
|
program->ghost = gst_ghost_pad_new (padname, pad);
|
||||||
gst_pad_set_active (program->ghost, TRUE);
|
gst_pad_set_active (program->ghost, TRUE);
|
||||||
gst_element_add_pad (GST_ELEMENT (dvbbasebin), program->ghost);
|
gst_element_add_pad (GST_ELEMENT (dvbbasebin), program->ghost);
|
||||||
|
gst_element_no_more_pads (GST_ELEMENT (dvbbasebin));
|
||||||
/* if the program has a pmt, activate it now, otherwise it will get activated
|
/* if the program has a pmt, activate it now, otherwise it will get activated
|
||||||
* when there's a PMT */
|
* when there's a PMT */
|
||||||
if (!program->active && program->pmt_pid != G_MAXUINT16)
|
if (!program->active && program->pmt_pid != G_MAXUINT16)
|
||||||
|
|
Loading…
Reference in a new issue