aboutsummaryrefslogtreecommitdiff
path: root/sys/dvb/dvbbasebin.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dvb/dvbbasebin.c')
-rw-r--r--sys/dvb/dvbbasebin.c5
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)