summaryrefslogtreecommitdiff
path: root/gst-libs/gst/video/gstvideoaggregator.c
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2015-01-26 09:22:23 +0000
committerTim-Philipp Müller <tim@centricular.com>2015-01-26 09:24:40 +0000
commit21168dd1996c5c668ec4e7a709a6d2991455b7c8 (patch)
treee3221c8fe67d2334a6db846f0c435ecf10218c30 /gst-libs/gst/video/gstvideoaggregator.c
parent199ce92474140ead718e416c971ddaf869d4e275 (diff)
downloadgstreamer-plugins-bad-21168dd1996c5c668ec4e7a709a6d2991455b7c8.tar.gz
videoaggregator: fix crash when receiving buffer without timestamps
Unset out buffer in clip function when we unref the buffer to be clipped, otherwise aggregator will continue to use the already- freed buffer. Fixes crash when buffers without timestamps are being fed to aggregator. Partly because aggregator ignores the error flow return. https://bugzilla.gnome.org/show_bug.cgi?id=743334
Diffstat (limited to 'gst-libs/gst/video/gstvideoaggregator.c')
-rw-r--r--gst-libs/gst/video/gstvideoaggregator.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c
index e850b6f7b..005edcaa7 100644
--- a/gst-libs/gst/video/gstvideoaggregator.c
+++ b/gst-libs/gst/video/gstvideoaggregator.c
@@ -1512,8 +1512,9 @@ gst_videoaggregator_sink_clip (GstAggregator * agg,
start_time = GST_BUFFER_TIMESTAMP (buf);
if (start_time == -1) {
- GST_DEBUG_OBJECT (pad, "Timestamped buffers required!");
+ GST_WARNING_OBJECT (pad, "Timestamped buffers required!");
gst_buffer_unref (buf);
+ *outbuf = NULL;
return GST_FLOW_ERROR;
}