[gst-cvs] gst-plugins-bad: faac: add some debug statements for discrepancy cases and plug memleak

Mark Nauwelaerts mnauw at kemper.freedesktop.org
Tue Sep 8 13:43:17 PDT 2009


Module: gst-plugins-bad
Branch: master
Commit: 4082652c4df1d1844e2b3dd4d4f0a32e03fad246
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=4082652c4df1d1844e2b3dd4d4f0a32e03fad246

Author: Mark Nauwelaerts <mark.nauwelaerts at collabora.co.uk>
Date:   Tue Sep  8 22:24:12 2009 +0200

faac: add some debug statements for discrepancy cases and plug memleak

---

 ext/faac/gstfaac.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/ext/faac/gstfaac.c b/ext/faac/gstfaac.c
index 08eef91..ea3120e 100644
--- a/ext/faac/gstfaac.c
+++ b/ext/faac/gstfaac.c
@@ -505,6 +505,7 @@ gst_faac_configure_source_pad (GstFaac * faac)
     /* copy it into a buffer */
     codec_data = gst_buffer_new_and_alloc (config_len);
     memcpy (GST_BUFFER_DATA (codec_data), config, config_len);
+    free (config);
 
     /* add to caps */
     gst_caps_set_simple (srccaps,
@@ -605,6 +606,7 @@ gst_faac_push_buffers (GstFaac * faac, gboolean force)
     /* in case encoder returns more data than is expected (which seems possible)
      * ignore the extra part */
     if (G_UNLIKELY (av == 0 && faac->offset == 0)) {
+      GST_DEBUG_OBJECT (faac, "encoder returned unexpected data; discarding");
       gst_buffer_unref (outbuf);
       continue;
     }
@@ -645,6 +647,10 @@ gst_faac_push_buffers (GstFaac * faac, gboolean force)
 
   /* in case encoder returns less than expected, clear our view as well */
   if (G_UNLIKELY (force)) {
+#ifndef GST_DISABLE_GST_DEBUG
+    if ((av = gst_adapter_available (faac->adapter)))
+      GST_WARNING_OBJECT (faac, "encoder left %d bytes; discarding", av);
+#endif
     gst_adapter_clear (faac->adapter);
     faac->offset = 0;
   }





More information about the Gstreamer-commits mailing list