Я создаю приложение для плеера для Android с новым API MediaCodec и MediaExtractor (доступно по API 16). Как правило, она работает хорошо, но иногда у меня есть аварии с очень бессмысленных сообщений:Android mediacodec crash
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 близок: https://android.googlesource.com/platform/frameworks/av/+/jb-mr1.1-release/media/libstagefright/ MediaCodec.cpp (см. Строку 421). – fadden