video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2020-07-24 f93ee1a42e8c47e472332287b7350b66a6b0fa11
csrc/worker/decoder.cpp
@@ -57,7 +57,6 @@
        std::lock_guard<std::mutex> l(mutex_pkt_);
        if (data->getAVPacket().flags & AV_PKT_FLAG_KEY){
            logIt("new list cpacket start, next %lld, cur %lld", next_idx_, pkt.id);
            list_pkt_.clear();
        }
        list_pkt_.push_back(pkt);
@@ -66,6 +65,8 @@
    }
    void decoder::GetFrame(unsigned char **data, int *w, int *h, int *format, int *length, int64_t *id){
        *data = NULL;
        *length = 0;
        AVFrame *frame = NULL;
@@ -75,13 +76,11 @@
            auto check = list_pkt_.front();
            if (check.id > next_idx_){
                next_idx_ = -1;
                logIt("decoder new list cpacket");
            }
            
            for (auto &i : list_pkt_){
                if (i.id < next_idx_){
                    continue;
                    logIt("decoder same list cpacket");
                }
                *id = i.v_id;