Toybrick

mpp持续解码,偶发解码为null的异常

qq1993106

注册会员

积分
129
楼主
发表于 2020-7-14 15:48:20    查看: 7394|回复: 0 | [复制链接]    打印 | 只看该作者
程序的基本流程为:建立UDP通讯获取RTP包,RTP拨包成H264裸流,推至dec->enqueue(pBufOut, pOutLen);另开线程,执行frame = dec->dequeue();
异常现象:偶发持续运行几分钟或几十分钟后,出现frame持续解码为null,将UDP通讯接收到的数据进行保存查看无异常。

获取frame的逻辑如下:
DecFrame* mpp_get_frame(mpp_decoder* dec)
{
    int retry = 10;
    DecFrame* frame = NULL;

    while (retry--)
    {
        /* TODO: Dequeue and get decoded frame */
        frame = dec->dequeue();

        if (frame)
        {
            rk_write_log("get frame OK");
            return frame;
        }

        usleep(1000);
    }

    rk_write_log("get frame null");
    return NULL;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表