【发布时间】:2017-12-06 00:13:50
【问题描述】:
我正在使用新的 API MediaCodec 和 MediaExtractor(可从 API 16 获得)构建一个 android 视频播放器应用。它通常运行良好,但有时我会崩溃并显示非常无意义的消息:
09-30 16:39:13.985: A/MediaCodec(6508): frameworks/av/media/libstagefright/MediaCodec.cpp:423 CHECK(buffer->meta()->findInt64("timeUs", &timeUs)) failed.
09-30 16:39:13.985: A/libc(6508): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 12769 (MediaCodec_loop)
如果有人能让我更好地了解出了什么问题,那就太好了。崩溃通常发生在我打开视频、播放一点、退出、转到另一个视频时。它只发生很少的时间,但很烦人。
【问题讨论】:
-
这是媒体编解码器代码中的失败断言。它期望找到一个时间戳并失败。 (libstagefright 实现与名称/值对消息在内部进行通信。)您使用的是哪个版本的 Android?行号略有偏差,但 JB-MR1/JB-MR1.1 接近:android.googlesource.com/platform/frameworks/av/+/…(见第 421 行)。
标签: android android-mediacodec mediaextractor