Ok, I will remove checking about api.

------------------ Original ------------------
From:                                                                           
                                             ""zhilizhao(??????)""              
                                                                      
<quinkbl...@foxmail.com&gt;;
Date:&nbsp;Mon, May 22, 2023 04:44 PM
To:&nbsp;"FFmpeg development discussions and 
patches"<ffmpeg-devel@ffmpeg.org&gt;;
Cc:&nbsp;"??????"<839789...@qq.com&gt;;
Subject:&nbsp;Re: [FFmpeg-devel] [PATCH] avcodec/mediacodecdec: add low latency 
decoding





&gt; On May 22, 2023, at 14:52, xufuji456 <839789...@qq.com&gt; wrote:
&gt; 
&gt; The low-latency decoding mode has available in Android api 30.
&gt; See 
https://developer.android.google.cn/reference/android/media/MediaCodec?hl=en#PARAMETER_KEY_LOW_LATENCY
&gt; 
&gt; Signed-off-by: xufuji456 <839789...@qq.com&gt;
&gt; ---
&gt; libavcodec/mediacodecdec.c | 7 ++++++-
&gt; 1 file changed, 6 insertions(+), 1 deletion(-)
&gt; 
&gt; diff --git a/libavcodec/mediacodecdec.c b/libavcodec/mediacodecdec.c
&gt; index 21464900d1..52c30e1173 100644
&gt; --- a/libavcodec/mediacodecdec.c
&gt; +++ b/libavcodec/mediacodecdec.c
&gt; @@ -395,6 +395,12 @@ static av_cold int 
mediacodec_decode_init(AVCodecContext *avctx)
&gt;&nbsp;&nbsp;&nbsp;&nbsp; ff_AMediaFormat_setInt32(format, "width", 
avctx-&gt;width);
&gt;&nbsp;&nbsp;&nbsp;&nbsp; ff_AMediaFormat_setInt32(format, "height", 
avctx-&gt;height);
&gt; 
&gt; +&nbsp;&nbsp;&nbsp; sdk_int = ff_Build_SDK_INT(avctx);
&gt; +&nbsp;&nbsp;&nbsp; // low-latency mode: available in Android api 30
&gt; +&nbsp;&nbsp;&nbsp; if (sdk_int &gt;= 30 &amp;&amp; (avctx-&gt;flags &amp; 
AV_CODEC_FLAG_LOW_DELAY)) {
&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
ff_AMediaFormat_setInt32(format, "low-latency", 1);
&gt; +&nbsp;&nbsp;&nbsp; }
&gt; +

Please remove the check on api level. ff_Build_SDK_INT() can fail,
and set an unknown option for api level < 30 should be fine.

&gt;&nbsp;&nbsp;&nbsp;&nbsp; s-&gt;ctx = av_mallocz(sizeof(*s-&gt;ctx));
&gt;&nbsp;&nbsp;&nbsp;&nbsp; if (!s-&gt;ctx) {
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; av_log(avctx, 
AV_LOG_ERROR, "Failed to allocate MediaCodecDecContext\n");
&gt; @@ -414,7 +420,6 @@ static av_cold int 
mediacodec_decode_init(AVCodecContext *avctx)
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
"MediaCodec started successfully: codec = %s, ret = %d\n",
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
s-&gt;ctx-&gt;codec_name, ret);
&gt; 
&gt; -&nbsp;&nbsp;&nbsp; sdk_int = ff_Build_SDK_INT(avctx);
&gt;&nbsp;&nbsp;&nbsp;&nbsp; /* ff_Build_SDK_INT can fail when target API < 24 
and JVM isn't available.
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * If we don't check sdk_int &gt; 0, the 
workaround might be enabled by
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * mistake.
&gt; -- 
&gt; 2.32.0 (Apple Git-132)
&gt; 
&gt; _______________________________________________
&gt; ffmpeg-devel mailing list
&gt; ffmpeg-devel@ffmpeg.org
&gt; https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
&gt; 
&gt; To unsubscribe, visit link above, or email
&gt; ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to