From: Edward Hervey Date: Sat, 24 Apr 2021 08:04:23 +0000 (+0200) Subject: avviddec: Take into account coded_height for pool X-Git-Tag: 1.19.3~499^2~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=75fb364bf435d80a51f1ecba6afc999b5f36292e;p=platform%2Fupstream%2Fgstreamer.git avviddec: Take into account coded_height for pool Failure to do this would cause the decoders to constantly request a new bufferpool thinking the height had changed ... whereas it hadn't. Fixes #95 Part-of: --- diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c index 6f94b87..8530033 100644 --- a/ext/libav/gstavviddec.c +++ b/ext/libav/gstavviddec.c @@ -790,7 +790,8 @@ gst_ffmpegviddec_ensure_internal_pool (GstFFMpegVidDec * ffmpegdec, /* Remember pool size so we can detect changes */ ffmpegdec->pool_width = picture->width; - ffmpegdec->pool_height = picture->height; + ffmpegdec->pool_height = + MAX (picture->height, ffmpegdec->context->coded_height); ffmpegdec->pool_format = picture->format; ffmpegdec->pool_info = info; } @@ -2203,7 +2204,9 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query) gst_object_unref (ffmpegdec->internal_pool); ffmpegdec->internal_pool = gst_object_ref (pool); ffmpegdec->pool_width = GST_VIDEO_INFO_WIDTH (&state->info); - ffmpegdec->pool_height = GST_VIDEO_INFO_HEIGHT (&state->info); + ffmpegdec->pool_height = + MAX (GST_VIDEO_INFO_HEIGHT (&state->info), + ffmpegdec->context->coded_height); ffmpegdec->pool_info = state->info; gst_structure_free (config); goto done;