slomo gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/sys/dvb/
[email protected] Sun, 4 Jan 2009 03:11:20 -0800 (PST)
| Newsgroups | gmane.comp.video.gstreamer.cvs |
|---|---|
| Message-ID | <[email protected]> |
CVS Root: /cvs/gstreamer
Module: gst-plugins-bad
Changes by: slomo
Date: Sun Jan 04 2009 11:11:20 UTC
Log message:
Patch by: Sebastian Pölsterl <sebp at k-d-w dot org>
* sys/dvb/dvbbasebin.c: (dvb_base_bin_init),
(dvb_base_bin_finalize), (dvb_base_bin_activate_program),
(dvb_base_bin_pmt_info_cb), (dvb_base_bin_pad_added_cb),
(dvb_base_bin_program_destroy):
Fix some memory leaks. Fixes bug #566356.
Modified files:
. : ChangeLog
sys/dvb : dvbbasebin.c
Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3849&r2=1.3850
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/sys/dvb/dvbbasebin.c.diff?r1=1.10&r2=1.11
====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3849
retrieving revision 1.3850
diff -u -d -r1.3849 -r1.3850
--- ChangeLog 2 Jan 2009 17:40:04 -0000 1.3849
+++ ChangeLog 4 Jan 2009 11:11:04 -0000 1.3850
@@ -1,3 +1,13 @@
+2009-01-04 Sebastian Dröge <[email protected]>
+
+ Patch by: Sebastian Pölsterl <sebp at k-d-w dot org>
+ * sys/dvb/dvbbasebin.c: (dvb_base_bin_init),
+ (dvb_base_bin_finalize), (dvb_base_bin_activate_program),
+ (dvb_base_bin_pmt_info_cb), (dvb_base_bin_pad_added_cb),
+ (dvb_base_bin_program_destroy):
+ Fix some memory leaks. Fixes bug #566356.
2009-01-02 Wim Taymans <[email protected]>
Patch by: Olivier Crete <tester at tester dot ca>
Index: dvbbasebin.c
RCS file: /cvs/gstreamer/gst-plugins-bad/sys/dvb/dvbbasebin.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- dvbbasebin.c 12 Feb 2008 21:31:57 -0000 1.10
+++ dvbbasebin.c 4 Jan 2009 11:11:06 -0000 1.11
@@ -125,6 +125,8 @@
static void dvb_base_bin_uri_handler_init (gpointer g_iface,
gpointer iface_data);
+static void dvb_base_bin_program_destroy (gpointer data);
static void
dvb_base_bin_setup_interfaces (GType type)
{
@@ -352,7 +354,7 @@
dvbbasebin->buffer_queue, dvbbasebin->mpegtsparse, NULL);
dvbbasebin->programs = g_hash_table_new_full (g_direct_hash, g_direct_equal,
- NULL, g_free);
+ NULL, dvb_base_bin_program_destroy);
dvbbasebin->streams = g_hash_table_new_full (g_direct_hash, g_direct_equal,
NULL, g_free);
@@ -398,6 +400,7 @@
g_hash_table_destroy (dvbbasebin->streams);
g_hash_table_destroy (dvbbasebin->programs);
+ g_list_free (dvbbasebin->pmtlist);
if (G_OBJECT_CLASS (parent_class)->finalize)
G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -505,8 +508,8 @@
ghost = GST_GHOST_PAD (pad);
target = gst_ghost_pad_get_target (ghost);
- gst_element_release_request_pad (GST_ELEMENT (GST_DVB_BASE_BIN (element)->
- mpegtsparse), target);
+ gst_element_release_request_pad (GST_ELEMENT (GST_DVB_BASE_BIN
+ (element)->mpegtsparse), target);
gst_object_unref (target);
gst_element_remove_pad (element, pad);
@@ -924,6 +927,7 @@
DvbBaseBinProgram *program;
gint program_number;
+ gchar *padname;
program_number = get_pad_program_number (pad);
if (program_number == -1)
@@ -933,13 +937,15 @@
if (program == NULL)
program = dvb_base_bin_add_program (dvbbasebin, program_number);
program->selected = TRUE;
- program->ghost = gst_ghost_pad_new (gst_pad_get_name (pad), pad);
+ padname = gst_pad_get_name (pad);
+ program->ghost = gst_ghost_pad_new (padname, pad);
gst_pad_set_active (program->ghost, TRUE);
gst_element_add_pad (GST_ELEMENT (dvbbasebin), program->ghost);
/* 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)
dvb_base_bin_activate_program (dvbbasebin, program);
+ g_free (padname);
}
@@ -1028,3 +1034,16 @@
return gst_element_register (plugin, "dvbbasebin",
GST_RANK_NONE, GST_TYPE_DVB_BASE_BIN);
+static void
+dvb_base_bin_program_destroy (gpointer data)
+{
+ DvbBaseBinProgram *program;
+ program = (DvbBaseBinProgram *) data;
+ if (program->pmt)
+ gst_structure_free (program->pmt);
+ g_free (program);
+}
------------------------------------------------------------------------------
_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose