MUZLATAN / ffmpeg_rtsp_mpp

ffmpeg 拉取rtsp h264流, 使用mpp解码, 目前在firefly 板子上跑通了
179 stars 53 forks source link

h265多路rtsp解码报错,导致程序异常退出 #9

Open SpiceGL opened 4 months ago

SpiceGL commented 4 months ago

你好,我参考你的例子,自己改成了4路拉流解码,在拉取h264时没有问题。但是在拉取h265时(已修改解码类型:MppCodingType type = MPP_VIDEO_CodingHEVC;),发现有两种报错退出方式:free() invalid pointer、corrupted size vs. prev size。 我开始以为是我自己的改写有问题,于是使用本项目的原版例子,将main函数改名为thread0,然后在新的main函数中以4个线程分别调用,结果还是触发了上述报错。而在h264的解码时并没有遇到这个问题。 我的测试设备是rv1109和rv1126,mpp版本是最新1.0.4,均存在上述问题。请问这个是什么原因导致的呢?

新的main函数:

int main(int argc, char* argv[])
{
    std::string mode = "0";
    if (argc >= 2)
        mode = argv[1];

    if (mode == "0")
    {
        std::thread td0(thread0);
        td0.detach();

        std::thread td1(thread0);
        td1.detach();

        std::thread td2(thread0);
        td2.detach();

        std::thread td3(thread0);
        td3.detach();
    }

    while (1)
    {
        printf("send buffer\n");
        msleep(36);
    }
}