From 5e544c1556b5ae6ab61a8f0fe25a6ca3eab81887 Mon Sep 17 00:00:00 2001 From: Christophe Fergeau Date: Sun, 30 Sep 2012 20:52:30 +0200 Subject: chromaprint: Missing unmap buffer in transform_ip When no samples have to be processed, transform_ip exits early, but the buffer it uses was not properly unmapped. https://bugzilla.gnome.org/show_bug.cgi?id=685159 --- ext/chromaprint/gstchromaprint.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/chromaprint/gstchromaprint.c b/ext/chromaprint/gstchromaprint.c index a6cb86713..ad9d1fdf2 100644 --- a/ext/chromaprint/gstchromaprint.c +++ b/ext/chromaprint/gstchromaprint.c @@ -209,7 +209,7 @@ gst_chromaprint_transform_ip (GstBaseTransform * trans, GstBuffer * buf) nsamples = map_info.size / (channels * 2); if (nsamples == 0) - return GST_FLOW_OK; + goto end; if (chromaprint->nsamples == 0) { chromaprint_start (chromaprint->context, rate, channels); @@ -225,6 +225,7 @@ gst_chromaprint_transform_ip (GstBaseTransform * trans, GstBuffer * buf) gst_chromaprint_create_fingerprint (chromaprint); } +end: gst_buffer_unmap (buf, &map_info); return GST_FLOW_OK; -- cgit v1.2.1