summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@osg.samsung.com>2016-03-04 20:05:38 -0300
committerThiago Santos <thiagoss@osg.samsung.com>2016-03-04 20:26:41 -0300
commit86f31006620c00b89e2b6aeda27d195961be0a73 (patch)
treef6701c160586593daab633565b74004feee8c8c0
parente588da44d177c35d8883d9d94d6070fa6d934a1b (diff)
dvbbasebin: plug some leaksHEADmaster
Plug various leaks in dvbbasebin.
-rw-r--r--sys/dvb/dvbbasebin.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dvb/dvbbasebin.c b/sys/dvb/dvbbasebin.c
index f003355ff..3441ec0f3 100644
--- a/sys/dvb/dvbbasebin.c
+++ b/sys/dvb/dvbbasebin.c
@@ -509,6 +509,7 @@ dvb_base_bin_init (DvbBaseBin * dvbbasebin)
if (dvbbasebin->tsparse != NULL) {
pad = gst_element_get_static_pad (dvbbasebin->tsparse, "src");
ghost = gst_ghost_pad_new ("src", pad);
+ gst_object_unref (pad);
} else {
ghost = gst_ghost_pad_new_no_target ("src", GST_PAD_SRC);
}
@@ -554,6 +555,10 @@ dvb_base_bin_dispose (GObject * object)
gst_bin_remove (GST_BIN (dvbbasebin), dvbbasebin->tsparse);
gst_bin_remove (GST_BIN (dvbbasebin), dvbbasebin->dvbsrc);
gst_bin_remove (GST_BIN (dvbbasebin), dvbbasebin->buffer_queue);
+ g_free (dvbbasebin->program_numbers);
+ gst_poll_free (dvbbasebin->poll);
+ gst_object_unref (dvbbasebin->task);
+ g_rec_mutex_clear (&dvbbasebin->lock);
dvbbasebin->disposed = TRUE;
}