From 7fe46306ac577db11ba8a8bbf20653861fcb1a1a Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期二, 22 十月 2019 15:31:29 +0800 Subject: [PATCH] rec bug fix --- csrc/worker/decoder.cpp | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/csrc/worker/decoder.cpp b/csrc/worker/decoder.cpp index f5e95b5..558d871 100644 --- a/csrc/worker/decoder.cpp +++ b/csrc/worker/decoder.cpp @@ -4,6 +4,7 @@ #include "../ffmpeg/format/FormatIn.hpp" #include "../ffmpeg/data/CodedData.hpp" #include "../ffmpeg/log/log.hpp" +#include "../common.hpp" extern "C"{ #include <libavformat/avformat.h> @@ -46,7 +47,7 @@ return 0; } - int decoder::saveFrame(AVFrame *frame, int64_t &id){ + int decoder::saveFrame(AVFrame *frame, const int64_t &id){ FRM frm; frm.width = frame->width; frm.height = frame->height; @@ -67,7 +68,8 @@ return list_frm_.size(); } - int decoder::SetFrame(std::shared_ptr<ffwrapper::CodedData> data, int64_t &id){ + int decoder::SetFrame(const CPacket &pkt){ + auto data = pkt.data; if (!data) return -10; if (!decRef_->isVideoPkt(&data->getAVPacket())) return -20; @@ -83,7 +85,7 @@ av_packet_unref(&np); if (ret == 0){ - saveFrame(frame, id); + saveFrame(frame, pkt.v_id); } av_frame_free(&frame); return ret; -- Gitblit v1.8.0