summaryrefslogtreecommitdiff
path: root/ext/dts
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@noraisin.net>2009-10-13 13:04:47 +0100
committerJan Schmidt <thaytan@noraisin.net>2009-10-13 15:10:09 +0100
commit61eebb8cb5b5c5a44b895fa808f7a1703d592bdd (patch)
tree41d18dc7e1dbe955597c06302fe002a62b0d4b2e /ext/dts
parent7eb553e2debfd279d6b1b6fc95b90cdce14d7010 (diff)
downloadgstreamer-plugins-bad-61eebb8cb5b5c5a44b895fa808f7a1703d592bdd.tar.gz
dtsdec: Fix reference leak on all input buffers in 'dvd mode'
https://bugzilla.gnome.org/show_bug.cgi?id=598274
Diffstat (limited to 'ext/dts')
-rw-r--r--ext/dts/gstdtsdec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/dts/gstdtsdec.c b/ext/dts/gstdtsdec.c
index 08695936f..a91ab5544 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;
}
}