我写了一个小应用程序,它只显示来自 rtsp-stream 的视频数据(使用 MediaPlayer-class 和 SurfaceView-class)。Rtsp-stream 是使用 vlc 2.0.0 创建的。
它工作正常,但在 1 分钟播放结束后。
在 logcat 中,我发现了以下几行:
// ...
E/Overlay (138): Overlay 没有准备好排队缓冲区
I/MyHandler(138):在轨道索引 0 上收到 BYE
E/OMX-VDEC-720P(138):Rxd i/p EOS,通知驱动程序已到达 EOS
E/OMX-VDEC-720P(138):已达到输出 EOS
E/OMX-VDEC-720P(138):Rxd OMX_COMPONENT_GENERATE_EOS_DONE
D/XXX (10485): onCompletion() 调用
// ...
似乎(解码器?)缓冲区已满,因此播放结束。我可以处理这些缓冲区,以便接收新数据吗?
这次我通过等待 onCompletion-Event 重置/重新启动 MediaPlayer 解决了这个问题,但这并不是真正的方法,对吧?
有没有人对此有解决方案/想法?
Greetzn + thanx 提前...