rockchip-linux/mpp

MPP内存无法释放

Closed this issue · 1 comments

写了一个摄像头实时检测的demo,每次切换分辨率的时候,mpp貌似都无法释放内存,报错如下
image
但是我明明已经释放了内存,代码如下:
//释放RKMPP
void Scanner_Cam::MppFree()
{
if (packet)
{
mpp_packet_deinit(&packet);
packet = NULL;
// qDebug()<<"packet is free";
}

if (frame)
{
    mpp_frame_deinit(&frame);
    frame = NULL;
    // qDebug()<<"frame is free";

}

if (mCtx)
{
    // mpp_destroy(mCtx);
    // mCtx = NULL;
    mApi->reset(mCtx);
    mpp_buffer_group_put(frmGrp);
    frmGrp = NULL;
    mpp_destroy(mCtx);
    // qDebug()<<"mCtx is free";

}

if (pktBuf)
{
    mpp_buffer_put(pktBuf);
    pktBuf = NULL;
    // qDebug()<<"pktBuf is free";
}

if (frmBuf)
{
    mpp_buffer_put(frmBuf);
    frmBuf = NULL;
    // qDebug()<<"frmBuf is free";

}

if (pktGrp) {
    mpp_buffer_group_put(pktGrp);
    pktGrp = NULL;
    // qDebug()<<"pktGrp is free";

}

}

先释放 buffer 再释放 group