diff options
author | Zhao Zhili <zhilizhao@tencent.com> | 2023-01-10 19:35:46 +0800 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2023-01-11 18:58:21 +0800 |
commit | 9ea6d93218c7d4581584df5b5b86b5f4fe0196b1 (patch) | |
tree | feae8aea7061367a1b3018c78a7b482f3922664a | |
parent | 8586540ad16816589ace145c6479bff172b83919 (diff) | |
download | ffmpeg-9ea6d93218c7d4581584df5b5b86b5f4fe0196b1.tar.gz |
avcodec/mediacodecdec: check ff_Build_SDK_INT return value
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
-rw-r--r-- | libavcodec/mediacodecdec.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libavcodec/mediacodecdec.c b/libavcodec/mediacodecdec.c index 11f655a9aa..21464900d1 100644 --- a/libavcodec/mediacodecdec.c +++ b/libavcodec/mediacodecdec.c @@ -415,7 +415,13 @@ static av_cold int mediacodec_decode_init(AVCodecContext *avctx) s->ctx->codec_name, ret); sdk_int = ff_Build_SDK_INT(avctx); - if (sdk_int <= 23 && + /* ff_Build_SDK_INT can fail when target API < 24 and JVM isn't available. + * If we don't check sdk_int > 0, the workaround might be enabled by + * mistake. + * JVM is required to make the workaround works reliably. On the other hand, + * missing a workaround should not be a serious issue, we do as best we can. + */ + if (sdk_int > 0 && sdk_int <= 23 && strcmp(s->ctx->codec_name, "OMX.amlogic.mpeg2.decoder.awesome") == 0) { av_log(avctx, AV_LOG_INFO, "Enabling workaround for %s on API=%d\n", s->ctx->codec_name, sdk_int); |