From 01d9022b47e5e20f39ca1115d334c43774378dfc Mon Sep 17 00:00:00 2001 From: zhangmeng <zhangmeng@aiiot.com> Date: 星期三, 25 三月 2020 13:56:16 +0800 Subject: [PATCH] add log for local video --- csrc/worker/decoder.hpp | 22 ++++++++-------------- 1 files changed, 8 insertions(+), 14 deletions(-) diff --git a/csrc/worker/decoder.hpp b/csrc/worker/decoder.hpp index d157d25..7f87180 100644 --- a/csrc/worker/decoder.hpp +++ b/csrc/worker/decoder.hpp @@ -12,6 +12,8 @@ struct AVFrame; struct AVCodecContext; +class CPacket; + namespace ffwrapper { class FormatIn; @@ -20,30 +22,22 @@ namespace cffmpeg_wrap { - typedef struct _frm{ - uint8_t *data; - int length; - int width; - int height; - int format; - int64_t id; - }FRM; - class decoder { private: ffwrapper::FormatIn *decRef_; - - std::list<FRM> list_frm_; - std::mutex mutex_frm_; + std::list<CPacket> list_pkt_; + std::mutex mutex_pkt_; + + int64_t next_idx_; + private: int initDecoder(); - int saveFrame(AVFrame *frame, int64_t &id); public: void Start(); - int SetFrame(std::shared_ptr<ffwrapper::CodedData> data, int64_t &id); + int SetFrame(const CPacket &pkt); void GetFrame(unsigned char **data, int *w, int *h, int *format, int *length, int64_t *id); public: -- Gitblit v1.8.0