[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