diff options
Diffstat (limited to 'sys/dvb/dvbbasebin.c')
-rw-r--r-- | sys/dvb/dvbbasebin.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dvb/dvbbasebin.c b/sys/dvb/dvbbasebin.c index c0b7dd78..415e3d63 100644 --- a/sys/dvb/dvbbasebin.c +++ b/sys/dvb/dvbbasebin.c @@ -239,7 +239,8 @@ dvb_base_bin_class_init (DvbBaseBinClass * klass) /* install dvbsrc properties */ dvbsrc_factory = gst_element_factory_find ("dvbsrc"); - dvbsrc_class = g_type_class_ref (dvbsrc_factory->type); + dvbsrc_class = + g_type_class_ref (gst_element_factory_get_element_type (dvbsrc_factory)); walk = proxyed_properties; while (walk->prop_name != NULL) { GParamSpec *pspec; @@ -476,6 +477,7 @@ dvb_base_bin_request_new_pad (GstElement * element, ghost = gst_ghost_pad_new (pad_name, pad); g_free (pad_name); gst_element_add_pad (element, ghost); + gst_element_no_more_pads (element); return ghost; } @@ -927,6 +929,7 @@ dvb_base_bin_pad_added_cb (GstElement * mpegtsparse, program->ghost = gst_ghost_pad_new (padname, pad); gst_pad_set_active (program->ghost, TRUE); 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 * when there's a PMT */ if (!program->active && program->pmt_pid != G_MAXUINT16) |