diff options
Diffstat (limited to 'sys/androidmedia/gstamcvideodec.c')
-rw-r--r-- | sys/androidmedia/gstamcvideodec.c | 5 |
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; } |