plug memleak in oggdemux, fix format strings in vorbisdec
authorThomas Vander Stichele <thomas@apestaart.org>
Fri, 8 Jul 2005 13:35:04 +0000 (13:35 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Fri, 8 Jul 2005 13:35:04 +0000 (13:35 +0000)
Original commit message from CVS:
plug memleak in oggdemux, fix format strings in vorbisdec

ChangeLog
ext/ogg/gstoggdemux.c
ext/vorbis/vorbisdec.c

index 55369cd..0188676 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
 
+       * ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose):
+         plug a memleak, allows me to import 1479 albums in one go
+         in jamboree
+       * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
+       (vorbis_handle_type_packet), (vorbis_dec_chain),
+       (vorbis_dec_change_state):
+         fix some format strings
+
+2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
+
        * docs/libs/tmpl/gstcolorbalance.sgml:
        * docs/libs/tmpl/gstmixer.sgml:
        * ext/alsa/gstalsasink.c: (gst_alsasink_class_init),
index 2fd7816..7f47612 100644 (file)
@@ -268,6 +268,8 @@ gst_ogg_pad_dispose (GObject * object)
 {
   GstOggPad *pad = GST_OGG_PAD (object);
 
+  gst_element_set_state (pad->element, GST_STATE_NULL);
+
   gst_object_replace ((GstObject **) (&pad->elem_pad), NULL);
   gst_object_replace ((GstObject **) (&pad->element), NULL);
   gst_object_replace ((GstObject **) (&pad->elem_out), NULL);
index 2174d55..c8f1e96 100644 (file)
@@ -395,7 +395,7 @@ vorbis_dec_sink_event (GstPad * pad, GstEvent * event)
           dec->granulepos = -1;
         }
       }
-      GST_DEBUG ("vd: discont %lld", dec->granulepos);
+      GST_DEBUG ("vd: discont %" G_GUINT64_FORMAT, dec->granulepos);
 
       dec->granulepos = -1;
 
@@ -735,7 +735,7 @@ vorbis_dec_chain (GstPad * pad, GstBuffer * buffer)
    */
   packet.e_o_s = 0;
 
-  GST_DEBUG ("vorbis granule: %lld", packet.granulepos);
+  GST_DEBUG ("vorbis granule: %" G_GUINT64_FORMAT, packet.granulepos);
 
   /* switch depending on packet type */
   if (packet.packet[0] & 1) {
@@ -748,7 +748,7 @@ vorbis_dec_chain (GstPad * pad, GstBuffer * buffer)
     result = vorbis_handle_data_packet (vd, &packet);
   }
 
-  GST_DEBUG ("offset end: %lld", GST_BUFFER_OFFSET_END (buffer));
+  GST_DEBUG ("offset end: %" G_GUINT64_FORMAT, GST_BUFFER_OFFSET_END (buffer));
 
   /* granulepos is the last sample in the packet */
   if (GST_BUFFER_OFFSET_END_IS_VALID (buffer))
@@ -791,6 +791,7 @@ vorbis_dec_change_state (GstElement * element)
     case GST_STATE_PLAYING_TO_PAUSED:
       break;
     case GST_STATE_PAUSED_TO_READY:
+      GST_DEBUG_OBJECT (vd, "PAUSED -> READY, clearing vorbis structures");
       vorbis_block_clear (&vd->vb);
       vorbis_dsp_clear (&vd->vd);
       vorbis_comment_clear (&vd->vc);