我试图使用mediaCodec从openGl ES表面创建mp4视频。我有一个eglSurface,eglSurface的源面是MediaCodec输入面。
对于eglSurface,我可以有不同的大小,当一个尺寸(宽度或高度)太大时(例如宽度= 5000和高度= 512 ),MediaCodec就会崩溃。
这是一个崩溃日志
android.media.MediaCodec$CodecException: Error 0xfffffc0e
at android.media.MediaCodec.native_configure(Native Method)
at android.media.MediaCodec.configure(MediaCodec.java:588)
……
在一些设备上(Galaxy ),它不会崩溃,但在下一代之后,s7不播放视频。
对于小尺寸(例如屏幕大小),它在所有设备上都是正确工作的。
发布于 2016-09-29 17:07:35
你的纹理太宽了。AFAIK,最大纹理大小为4096x4096。而且根据设备的不同,它可能会低于这个值。
发布于 2019-12-14 03:51:25
似乎奇怪的宽度或高度是不支持的。为了避免Error 0xfffffc0e
出现在小米红7手机上,我被迫这样做:
DisplayMetrics metrics = getResources().getDisplayMetrics();
int width = (metrics.widthPixels / 2) * 2;
int height = (metrics.heightPixels / 2) * 2;
https://stackoverflow.com/questions/39775843
复制相似问题