[gst-cvs] gst-plugins-bad: dtsdec: Fix reference leak on all input buffers in ' dvd mode'

Jan Schmidt thaytan at kemper.freedesktop.org
Tue Oct 13 07:10:27 PDT 2009


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

Author: Jan Schmidt <thaytan at noraisin.net>
Date:   Tue Oct 13 13:04:47 2009 +0100

dtsdec: Fix reference leak on all input buffers in 'dvd mode'

https://bugzilla.gnome.org/show_bug.cgi?id=598274

---

 ext/dts/gstdtsdec.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/ext/dts/gstdtsdec.c b/ext/dts/gstdtsdec.c
index 0869593..a91ab55 100644
--- a/ext/dts/gstdtsdec.c
+++ b/ext/dts/gstdtsdec.c
@@ -740,10 +740,12 @@ gst_dtsdec_chain (GstPad * pad, GstBuffer * buf)
       ret = gst_dtsdec_chain_raw (pad, subbuf);
     }
   } else {
+    gst_object_ref (buf);
     ret = gst_dtsdec_chain_raw (pad, buf);
   }
 
 done:
+  gst_object_unref (buf);
   return ret;
 
 /* ERRORS */
@@ -751,12 +753,14 @@ not_enough_data:
   {
     GST_ELEMENT_ERROR (GST_ELEMENT (dts), STREAM, DECODE, (NULL),
         ("Insufficient data in buffer. Can't determine first_acess"));
+    gst_object_unref (buf);
     return GST_FLOW_ERROR;
   }
 bad_first_access_parameter:
   {
     GST_ELEMENT_ERROR (GST_ELEMENT (dts), STREAM, DECODE, (NULL),
         ("Bad first_access parameter (%d) in buffer", first_access));
+    gst_object_unref (buf);
     return GST_FLOW_ERROR;
   }
 }





More information about the Gstreamer-commits mailing list