From de702b0ad9f7d24f9cc6792fa7a64e73c6a9fcc3 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期二, 01 九月 2020 13:33:57 +0800 Subject: [PATCH] bug fixed --- csrc/wrapper.cpp | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/csrc/wrapper.cpp b/csrc/wrapper.cpp index a46886b..0a0e84f 100644 --- a/csrc/wrapper.cpp +++ b/csrc/wrapper.cpp @@ -45,6 +45,7 @@ ,audio_(false) ,gb_(0) ,cpu_(0) + ,devid_(-1) ,run_dec_(false) ,run_stream_(true) ,run_rec_(false) @@ -66,6 +67,7 @@ ,audio_(false) ,gb_(0) ,cpu_(0) + ,devid_(-1) ,run_dec_(false) ,run_stream_(true) ,run_rec_(false) @@ -108,6 +110,7 @@ prop.url_ = input; prop.rtsp_tcp_ = true; prop.gpu_acc_ = !cpu_; + prop.gpu_index_ = devid_; std::unique_ptr<FormatIn> in(new FormatIn(prop.gpuAccl())); int flag = -1; @@ -222,7 +225,7 @@ bool exist = access(input_url_.c_str(), 0) == 0; if (exist){ - wTime <<= 1; + wTime += wTime/2; file_rebootime++; } @@ -259,10 +262,10 @@ id++; //鏈湴鏂囦欢澶揩sleep涓�涓� - if (exist){ - usleep(wTime); + if (exist && in->isVideoPkt(&data->getAVPacket())){ // 璁板綍瑙g爜鐨勬枃浠舵湁澶氬皯甯� file_frame++; + usleep(wTime); } } @@ -271,13 +274,17 @@ if (exist) { // 涓夋涓�甯ч兘娌¤В鍑烘潵锛岄��鍑� if (file_frame == 0 && file_rebootime < 3){ + logIt("libcffmpeg.so-> run %lld time, current frames %lld", file_rebootime, file_frame); continue; } // 鏈�灏忛渶瑕佽В鍑哄灏戝抚 if (file_frame < min_duration_ * fps_){ + logIt("libcffmpeg.so-> run %lld time, current frames %lld, mind %d, fps: %d", + file_rebootime, file_frame, min_duration_, fps_); continue; } - logIt("libcffmpeg.so-> local file %s run %lld time, all frames %lld", input_url_.c_str(), file_rebootime, file_frame); + logIt("libcffmpeg.so-> local file %s run %lld time, all frames %lld, mind %d, fps: %d", + input_url_.c_str(), file_rebootime, file_frame, min_duration_, fps_); file_finished_ = true; break; } -- Gitblit v1.8.0