aboutsummaryrefslogtreecommitdiff
path: root/sys/androidmedia/gstamcvideodec.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/androidmedia/gstamcvideodec.c')
-rw-r--r--sys/androidmedia/gstamcvideodec.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c
index 8ae81e5c..9d116491 100644
--- a/sys/androidmedia/gstamcvideodec.c
+++ b/sys/androidmedia/gstamcvideodec.c
@@ -192,7 +192,7 @@ create_sink_caps (const GstAmcCodecInfo * codec_info)
0, 1, G_MAXINT, 1,
"divxversion", GST_TYPE_INT_RANGE, 3, 5,
"parsed", G_TYPE_BOOLEAN, TRUE, NULL);
- gst_caps_merge_structure (ret, tmp);
+ ret = gst_caps_merge_structure (ret, tmp);
} else if (strcmp (type->mime, "video/3gpp") == 0) {
gint j;
GstStructure *tmp, *tmp2;
@@ -1185,6 +1185,9 @@ retry:
if ((flow_ret = gst_video_decoder_allocate_output_frame (GST_VIDEO_DECODER
(self), frame)) != GST_FLOW_OK) {
GST_ERROR_OBJECT (self, "Failed to allocate buffer");
+ if (!gst_amc_codec_release_output_buffer (self->codec, idx))
+ GST_ERROR_OBJECT (self, "Failed to release output buffer index %d",
+ idx);
goto flow_error;
}