diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-01-22 17:18:58 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-01-22 17:19:29 +0200 |
commit | f585a66bd11fb1f66740a53f4a63cc3ffd5e7853 (patch) | |
tree | be687945be4236a1839131942cf48ba122cce985 /sys | |
parent | 3ea431c5b5425806b7139025b6f233999563594d (diff) | |
download | gstreamer-plugins-bad-f585a66bd11fb1f66740a53f4a63cc3ffd5e7853.tar.gz |
amcvideodec: Only free GstAmcBuffer if it's not NULL
And also free it on GL errors.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/androidmedia/gstamcvideodec.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c index 90be00269..3e0f5ef42 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; |