From a8024fef04308866839417ffdaae3578653cef00 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Sun, 16 Mar 2014 17:01:10 +0100 Subject: [PATCH] v4l2videodec: Check that pool where allocated before flushing them Upon error, the pools might not have been allocated yet, hence we should not try and flush them (even though we still want to make sure the processing thread is fully stopped). --- sys/v4l2/gstv4l2videodec.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c index ece54403d8..a169972ff0 100644 --- a/sys/v4l2/gstv4l2videodec.c +++ b/sys/v4l2/gstv4l2videodec.c @@ -276,8 +276,11 @@ gst_v4l2_video_dec_flush (GstVideoDecoder * decoder) gst_pad_stop_task (decoder->srcpad); self->output_flow = GST_FLOW_OK; - gst_v4l2_buffer_pool_flush (GST_V4L2_BUFFER_POOL (self->v4l2output->pool)); - gst_v4l2_buffer_pool_flush (GST_V4L2_BUFFER_POOL (self->v4l2capture->pool)); + if (self->v4l2output->pool) + gst_v4l2_buffer_pool_flush (GST_V4L2_BUFFER_POOL (self->v4l2output->pool)); + + if (self->v4l2capture->pool) + gst_v4l2_buffer_pool_flush (GST_V4L2_BUFFER_POOL (self->v4l2capture->pool)); /* Output will remain flushing until new frame comes in */ gst_v4l2_object_unlock_stop (self->v4l2capture);