From b73029149580370e62dd6c14a270aea902f85cf2 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期三, 18 九月 2019 09:52:30 +0800 Subject: [PATCH] fix rec bug --- csrc/buz/recorder.hpp | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-) diff --git a/csrc/buz/recorder.hpp b/csrc/buz/recorder.hpp index ba9cea4..8c3b550 100644 --- a/csrc/buz/recorder.hpp +++ b/csrc/buz/recorder.hpp @@ -22,10 +22,12 @@ namespace cffmpeg_wrap{ namespace buz{ - struct avpacket{ + // 缂撳瓨鐨勮棰戝抚,绛夊緟fire瑙﹀彂寮�濮嬪綍鍍� + typedef struct _cache_pkt{ std::shared_ptr<ffwrapper::CodedData> data; int64_t id; - }; + }CPacket; + class Recorder{ public: @@ -34,7 +36,8 @@ public: int Run(const char* output, const int mind, const int maxd); - int CachePacket(const avpacket &pkt); + int PushPacket(const CPacket &pkt); + int PushPackets(std::list<CPacket> &lst); int FireRecorder(const int64_t &id); void SetCallback(FUNC_REC_INFO cb){ @@ -42,12 +45,12 @@ } const bool ErrorOcurred(){return error_occured_;} + const std::string& RecID()const{return id_;} private: void run_thread(); int init_writer(); - void start_writer(); - int write_correctly(const avpacket &pkt); + int write_correctly(const CPacket &pkt); void end_writer(); void maybe_dump_gop(); @@ -60,7 +63,7 @@ int end_frame; int cur_frame; - std::list<avpacket> list_pkt_; + std::list<CPacket> list_pkt_; std::atomic_bool stop_recorder_; std::mutex mutex_pkt_; @@ -72,7 +75,7 @@ std::string id_; int64_t id_frame_; - int file_frame_index_; + int id_frame_in_file_; std::string file_path_; FUNC_REC_INFO func_rec_info_; -- Gitblit v1.8.0