> The error code returned by decode_extradata_ps() is inconsistent after this > its not "if any failed" it is returning an error if the last failed
Sorry, I don't get how it is supposed to work. I just found the previous implementation and checked which commit broke it. The other possible solution on upper level: --------------------------------------- From 9fcd003a095b19b9e2fb5f6af3cc57a9e131f308 Mon Sep 17 00:00:00 2001 From: Sergey Gavrushkin <ser...@gavrushkin.com> Date: Wed, 3 Jan 2018 12:51:15 +0300 Subject: [PATCH] libavcodec/h264: fix decoding Fixes ticket #6422. It is a regression fix for an issue that was introduced in commit 98c97994c5b90bdae02accb155eeceeb5224b8ef. Variable err_recognition is ignored while extradata is decoded and the whole decoding process is failed due to timeout. Signed-off-by: Sergey Gavrushkin <ser...@gavrushkin.com> --- libavcodec/h264_parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/h264_parse.c b/libavcodec/h264_parse.c index fee28d9..403fd39 100644 --- a/libavcodec/h264_parse.c +++ b/libavcodec/h264_parse.c @@ -487,7 +487,7 @@ int ff_h264_decode_extradata(const uint8_t *data, int size, H264ParamSets *ps, } else { *is_avc = 0; ret = decode_extradata_ps(data, size, ps, 0, logctx); - if (ret < 0) + if (ret < 0 && (err_recognition & AV_EF_EXPLODE)) return ret; } return size; -- 2.6.4 Thank you, Sergey _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel