代码之家  ›  专栏  ›  技术社区  ›  vodkhang

Android媒体编解码器崩溃

  •  0
  • vodkhang  · 技术社区  · 11 年前

    我正在使用新的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)
    

    如果有人能让我更好地了解出了什么问题,那就太好了。崩溃通常发生在我打开视频,播放一点,退出它,转到另一个视频时。这种情况只发生很少的时间,但很烦人。

    1 回复  |  直到 11 年前
        1
  •  1
  •   vodkhang    11 年前

    我终于找到了解决办法。我在这里回答,这样发现同样问题的人就可以解决它。

    当我的mediacodec在接近文件末尾时播放,它不会将更多的输入缓冲区排入inputQueue,因此当它需要将缓冲区出列时,它找不到任何缓冲区来播放