summaryrefslogtreecommitdiff
path: root/gst-libs
diff options
context:
space:
mode:
authorThiago Santos <ts.santos@sisa.samsung.com>2014-06-28 09:34:05 -0300
committerThiago Santos <ts.santos@sisa.samsung.com>2014-06-28 09:44:22 -0300
commitbdda4bb6897f7db2bf6a8200ff86694eecf72b15 (patch)
tree182d49404fb969c97721b3a3da08dd43c2f49cd4 /gst-libs
parentb0652ee88f60549b3a09ab6016122916d56b8952 (diff)
downloadgstreamer-plugins-bad-bdda4bb6897f7db2bf6a8200ff86694eecf72b15.tar.gz
aggregator: always store or unref the buffer on the _chain function
Otherwise it leaks, and it is very common to go to flushing when the pipeline is stopping, leaking a buffer.
Diffstat (limited to 'gst-libs')
-rw-r--r--gst-libs/gst/base/gstaggregator.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gst-libs/gst/base/gstaggregator.c b/gst-libs/gst/base/gstaggregator.c
index 67ba269b3..fc949eafd 100644
--- a/gst-libs/gst/base/gstaggregator.c
+++ b/gst-libs/gst/base/gstaggregator.c
@@ -1158,12 +1158,14 @@ _chain (GstPad * pad, GstObject * object, GstBuffer * buffer)
flushing:
+ gst_buffer_unref (buffer);
GST_DEBUG_OBJECT (aggpad, "We are flushing");
return GST_FLOW_FLUSHING;
eos:
+ gst_buffer_unref (buffer);
GST_DEBUG_OBJECT (pad, "We are EOS already...");
return GST_FLOW_EOS;