From f585a66bd11fb1f66740a53f4a63cc3ffd5e7853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 22 Jan 2016 17:18:58 +0200 Subject: [PATCH] amcvideodec: Only free GstAmcBuffer if it's not NULL And also free it on GL errors. --- sys/androidmedia/gstamcvideodec.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c index 90be002697..3e0f5ef428 100644 --- a/sys/androidmedia/gstamcvideodec.c +++ b/sys/androidmedia/gstamcvideodec.c @@ -1445,8 +1445,10 @@ retry: flow_ret = gst_video_decoder_drop_frame (GST_VIDEO_DECODER (self), frame); } - gst_amc_buffer_free (buf); - buf = NULL; + if (buf) { + gst_amc_buffer_free (buf); + buf = NULL; + } if (release_buffer) { if (!gst_amc_codec_release_output_buffer (self->codec, idx, FALSE, &err)) { @@ -1608,6 +1610,10 @@ invalid_buffer: } gl_output_error: { + if (buf) { + gst_amc_buffer_free (buf); + buf = NULL; + } gst_pad_push_event (GST_VIDEO_DECODER_SRC_PAD (self), gst_event_new_eos ()); gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self)); self->downstream_flow_ret = GST_FLOW_NOT_NEGOTIATED;