ext/vorbis/vorbisenc.c: Stop leaking taglists.
authorWim Taymans <wim.taymans@gmail.com>
Wed, 24 Aug 2005 21:03:32 +0000 (21:03 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Wed, 24 Aug 2005 21:03:32 +0000 (21:03 +0000)
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_init),
(gst_vorbisenc_change_state):
Stop leaking taglists.

ChangeLog
ext/vorbis/vorbisenc.c

index cdeecc4..584a4ac 100644 (file)
--- 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),
index a50316d..7a3c0e4 100644 (file)
@@ -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;
   }