video analysis2.0拆分,ffmpeg封装go接口库
chenshijun
2019-09-24 e80ef6acf886a67fa9136fdc8312971cef91b534
增加addCamera的返回值校验
2个文件已修改
24 ■■■■■ 已修改文件
csrc/ffmpeg/format/FormatIn.cpp 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
csrc/thirdparty/gb28181/include/PsToEs.hpp 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
csrc/ffmpeg/format/FormatIn.cpp
@@ -64,25 +64,25 @@
    int FormatIn::openWithCustomIO(void *opaque, read_packet fn, AVDictionary **options/*=NULL*/){
        ctx_ = avformat_alloc_context();
        if(!ctx_){
            logIt("open with custom io create format error");
            logIt("open with custom io create format error\n");
            return -1;
        }
        read_io_buff_ = (uint8_t*)av_malloc(read_io_buff_size_);
        if(!read_io_buff_){
            logIt("open with custom io alloc read io buff error");
            logIt("open with custom io alloc read io buff error\n");
            return -1;
        }
        io_ctx_ = avio_alloc_context(read_io_buff_, read_io_buff_size_, 0, opaque, fn, NULL, NULL);//opaque
        if(!io_ctx_){
            logIt("open with custom io create custom avio error");
            logIt("open with custom io create custom avio error\n");
            return -1;
        }
        ctx_->pb = io_ctx_;
        auto err = av_probe_input_buffer(ctx_->pb, &ctx_->iformat, NULL, NULL, 0, read_io_buff_size_);
        if(err != 0){
            logIt("open with custom io prob input buffer error:%d", err);
            logIt("open with custom io prob input buffer error:%d\n", err);
            logIt("failed:%s", getAVErrorDesc(err).c_str());
            return -1;
        }
@@ -98,7 +98,10 @@
            delete handle_gb28181;
        }
        handle_gb28181 = new GB28181API;
        handle_gb28181->addCamera(fn);
        if(handle_gb28181->addCamera(fn) == -1){
            logIt("do addCamera Error\n");
            return -1;
        }
        int ret = openWithCustomIO(handle_gb28181, handle_gb28181->readData, options);
        if(ret < 0){
csrc/thirdparty/gb28181/include/PsToEs.hpp
@@ -174,16 +174,19 @@
        }
    }
    void addCamera(string &rtsp){
    long addCamera(string &rtsp){
//        long userdata = 1001;//
        printf("RTSPSTREAM_Open\n");
        handle = RTSPSTREAM_Open(rtsp.c_str(), streamCallBack, (long)this);
//        return handle;
        printf("RTSPSTREAM_Open, handle:%ld \n", handle);
        return handle;
    }
    void deleteCamera(){
        printf("RTSPSTREAM_Close\n");
        RTSPSTREAM_Close(handle);
        if(handle != -1){
            RTSPSTREAM_Close(handle);
        }
        handle = -1;
    }    
private: