summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2005-08-24 21:03:32 +0000
committerWim Taymans <wim.taymans@gmail.com>2005-08-24 21:03:32 +0000
commit963941df5706ab86a3dc2687696d6bb361081249 (patch)
treec32a81d47651dfdc93886a8a1f23e6ae5959d3d1
parent46e443bdd52a0ec702be581a59c0b9b8b63d53a0 (diff)
ext/vorbis/vorbisenc.c: Stop leaking taglists.
Original commit message from CVS: * ext/vorbis/vorbisenc.c: (gst_vorbisenc_init), (gst_vorbisenc_change_state): Stop leaking taglists.
-rw-r--r--ChangeLog6
-rw-r--r--ext/vorbis/vorbisenc.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index cdeecc4f6..584a4ac72 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2005-08-24 Wim Taymans <wim@fluendo.com>
+ * ext/vorbis/vorbisenc.c: (gst_vorbisenc_init),
+ (gst_vorbisenc_change_state):
+ Stop leaking taglists.
+
+2005-08-24 Wim Taymans <wim@fluendo.com>
+
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_pad_event), (gst_ogg_demux_factory_filter),
(gst_ogg_pad_submit_packet), (gst_ogg_chain_new),
diff --git a/ext/vorbis/vorbisenc.c b/ext/vorbis/vorbisenc.c
index a50316d15..7a3c0e408 100644
--- a/ext/vorbis/vorbisenc.c
+++ b/ext/vorbis/vorbisenc.c
@@ -521,8 +521,6 @@ gst_vorbisenc_init (GstVorbisEnc * vorbisenc)
vorbisenc->setup = FALSE;
vorbisenc->eos = FALSE;
vorbisenc->header_sent = FALSE;
-
- vorbisenc->tags = gst_tag_list_new ();
}
@@ -1099,6 +1097,8 @@ gst_vorbisenc_change_state (GstElement * element)
switch (transition) {
case GST_STATE_NULL_TO_READY:
+ vorbisenc->tags = gst_tag_list_new ();
+ break;
case GST_STATE_READY_TO_PAUSED:
vorbisenc->eos = FALSE;
break;
@@ -1115,10 +1115,10 @@ gst_vorbisenc_change_state (GstElement * element)
case GST_STATE_PAUSED_TO_READY:
vorbisenc->setup = FALSE;
vorbisenc->header_sent = FALSE;
- gst_tag_list_free (vorbisenc->tags);
- vorbisenc->tags = gst_tag_list_new ();
break;
case GST_STATE_READY_TO_NULL:
+ gst_tag_list_free (vorbisenc->tags);
+ vorbisenc->tags = NULL;
default:
break;
}