我正在使用媒体编解码器在jelly-bean上使用.mp4文件并在logcat中获取此文件
02-27 12:12:13.645: A/ACodec(6760): frameworks/av/media/libstagefright/ACodec.cpp:1041 CHECK(def.nBufferSize >= size) failed.
02-27 12:12:13.645: A/libc(6760): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 6778 (CodecLooper)
谁能告诉我这是什么? 以及如何解决它?
答案 0 :(得分:6)
您提供的信息不多,所以答案如下:
看起来它是libstagefright库的内部检查。
在解码器的配置上,我在Samsung Tab 2上遇到了同样的错误。
mDecoder = MediaCodec.createDecoderByType(mime);
创建解码器后,它将根据从提取器(也称为解复用器)
接收的输入格式进行配置MediaFormat inputFormat = extractor.getTrackFormat(i);
mDecoder.configure(inputFormat, null, null, 0); // <-- crashes here
修复(将其放在mDecoder.configure之前):
inputFormat.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, 0);