5

我正在为 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)

谁能告诉我这是什么?以及如何解决?

4

1 回答 1

6

您提供的信息不多,所以答案如下:

看起来这是 libstagefright 库的内部检查。

我在解码器配置的三星 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);
于 2013-05-20T13:16:35.023 回答