This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的ti专家您好,我们使用dm365的解码器完成h264视频流播放。
由于输入的264码流因传输环境的影响,可能存在误码的问题。我们发现在译码器运行过程中,
经常有Dmai_EBITERROR错误,并发现解码器占用中间结果buffer没有释放的情况。
具体如下:
ret = Vdec2_process(hVd2, hInBuf, hDstBuf); // 调用解码器对输入数据解码
if (ret == Dmai_EBITERROR && Buffer_getNumBytesUsed(hInBuf) == 0) // EBITERROR应该是非致命错误
{
...
}
bufsSent = handleCodecBufs(hVd2, envp->hDisplayInFifo); // 每次解码后,将解码器的显示buffer和释放的buffer分离出来
解码器由于输入数据的原因占用的中间数据buffer越占越大,最后导致无buffer可用的情况。
请问上述问题,是否有手段强制解码器释放中间buffer?
或者,有什么办法可用避免解码器出现中间buffer不断膨胀的情况?
问题已经困扰我们很久了,请百忙中给与回复,非常感谢!
zhaohg 20130401
我也遇到了类似的问题,事实上只要网络传输过程中出现丢帧,就会出现类似的问题,解码器似乎不能处理视频帧不连续的情况,最终会导致解码器锁死,请问楼上的这个问题最终解决没有?