vlc | branch: master | Zhao Zhili <[email protected]> | Wed Feb 3
20:53:07 2021 +0800| [1cde6c1cf840f02f2608451e58161a0cdd689f0a] | committer:
Alexandre Janniaux
mediacodec: fix AMediaCodec.configure failed on some devices
fmt_out.video.i_width/i_height are used in MediaCodec configure.
They are not set in --no-mediacodec-dr. Some devices require video
size to be non-zero. For example, Huawei P20 failed with the
following log:
I ACodec : In onAllocateComponent create compenent, codec name:
OMX.hisi.video.decoder.avc
E ACodec : Wrong cropped rect (0, 0, 0, 0) vs. frame (0, 0)
E ACodec : [OMX.hisi.video.decoder.avc] configureCodec returning error -22
E NdkMediaCodec: configure: err(-22), failed with format: AMessage(what =
'conf', target = 1) = {
E NdkMediaCodec: int32_t encoder = 0
E NdkMediaCodec: string mime = "video/avc"
E NdkMediaCodec: int32_t max-input-size = 0
E NdkMediaCodec: int32_t width = 0
E NdkMediaCodec: int32_t height = 0
E NdkMediaCodec: int32_t rotation-degrees = 0
E NdkMediaCodec: }
Signed-off-by: Alexandre Janniaux <[email protected]>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1cde6c1cf840f02f2608451e58161a0cdd689f0a
---
modules/codec/omxil/mediacodec.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/modules/codec/omxil/mediacodec.c b/modules/codec/omxil/mediacodec.c
index 2788b049d0..f8435f342c 100644
--- a/modules/codec/omxil/mediacodec.c
+++ b/modules/codec/omxil/mediacodec.c
@@ -946,6 +946,11 @@ static int OpenDecoder(vlc_object_t *p_this,
pf_MediaCodecApi_init pf_init)
}
}
+ else
+ {
+ p_dec->fmt_out.video.i_width = p_dec->fmt_in.video.i_width;
+ p_dec->fmt_out.video.i_height = p_dec->fmt_in.video.i_height;
+ }
p_sys->cat = VIDEO_ES;
}
else
_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits