From 602b3b2a792d65e49dba07920b100b5feb39d36f Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期一, 16 九月 2019 13:43:40 +0800 Subject: [PATCH] remove log --- csrc/buz/recorder.cpp | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/csrc/buz/recorder.cpp b/csrc/buz/recorder.cpp index 1dd71ab..a7086fe 100644 --- a/csrc/buz/recorder.cpp +++ b/csrc/buz/recorder.cpp @@ -3,6 +3,7 @@ #include <thread> #include <unistd.h> +#include <chrono> extern "C"{ #include <libavcodec/avcodec.h> @@ -32,6 +33,7 @@ ,file_path_("") ,func_rec_info_(nullptr) ,thrd_(nullptr) + ,error_occured_(false) { // logIt("RECODER ID: %s", id_.c_str()); } @@ -41,8 +43,11 @@ try { if (thrd_){ - stop_recorder_.store(true); - cv_.notify_one(); + { + std::unique_lock<std::mutex> locker(mutex_pkt_); + stop_recorder_.store(true); + cv_.notify_one(); + } thrd_->join(); logIt("REC THREAD JOINED, QUIT!!!"); } @@ -119,7 +124,7 @@ //callback to frame index and path if(func_rec_info_){ - func_rec_info_(id_,file_frame_index_, file_path_); + func_rec_info_(id_, file_frame_index_, file_path_); } } @@ -138,9 +143,15 @@ std::list<avpacket> pkts; { std::unique_lock<std::mutex> locker(mutex_pkt_); - cv_.wait(locker,[&]{ + auto status = cv_.wait_for(locker, std::chrono::seconds(10), [&]{ return !list_pkt_.empty() || stop_recorder_.load(); }); + + if (!status){ + end_writer(); + error_occured_ = true; + break; + } if(stop_recorder_.load()){ end_writer(); break; -- Gitblit v1.8.0