派生自 development/c++

pans
2019-04-03 da184ac7eef8ca74e12bdc63abf205e2fd5f9917
QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
@@ -7,10 +7,11 @@
using std::string;
void *gRtspAnalysManagerCamera = nullptr;
RtspAnalysManager::RtspAnalysManager(LDBTool *_dbTool) : m_lDBTool(nullptr), m_maxCount(50), m_currentCount(0) {
    INFO("MYH DEBUG HERE");
    m_lDBTool = new LDBTool;
//    INFO("MYH DEBUG HERE");
    m_lDBTool = _dbTool;
    init();
}
@@ -39,7 +40,10 @@
//初始化函数
void RtspAnalysManager::init() {
    INFO("MYH DEBUG HERE")
//    INFO("MYH DEBUG HERE")
    gRtspAnalysManagerCamera = this;
    DBG("gRtspAnalysManagerCamera ADDR:" << gRtspAnalysManagerCamera);
    m_GB28181_Enable = appPref.getIntData("GB28181_Enable");
    //#todo GB28181
@@ -72,9 +76,9 @@
        appPref.setIntData("n_cut_max_duration", lst_dev.n_cut_max_duration);
        appPref.setIntData("n_cut_min_duration", lst_dev.n_cut_min_duration);
        if (lst.size() > 0) {
            int startCamNO = appPref.getIntData("CamStart") * appPref.getIntData("CamStep");
            int CamCount = appPref.getIntData("CamStep");
            INFO("StartCamNO: " << startCamNO << " CamStep: " << CamCount);
            int startCamNO = appPref.getIntData("CamStartNO");
            int CamCount = appPref.getIntData("CamEndNO") - appPref.getIntData("CamStartNO") + 1;
            INFO("StartCamNO: " << startCamNO << " CamCount: " << CamCount);
            auto itor = lst.begin();
            if (startCamNO >= lst.size()) {
@@ -153,7 +157,7 @@
        //#todo end
        if (m_controllers_videoCapElem.find(index) == m_controllers_videoCapElem.end()) {
            INFO("MYH DEBUG HERE");
//            INFO("MYH DEBUG HERE");
            if (m_currentCount >= m_maxCount) {
                ERR("addCamera faild, camera's num is full!")
                return -1;
@@ -255,7 +259,7 @@
 * @return
 */
int RtspAnalysManager::removeAll() {
    INFO("MYH DEBUG HERE");
//    INFO("MYH DEBUG HERE");
    if (m_GB28181_Enable) {
        for (auto controller: m_controllers_videoCapElem) {
@@ -276,7 +280,7 @@
        }
        m_controllers.clear();
    }
    INFO("MYH DEBUG HERE");
//    INFO("MYH DEBUG HERE");
    m_imgRedisCRwLock.wrlock();
    for (auto controller: m_imgRedisControllers) {
@@ -291,7 +295,7 @@
    m_currentCount = 0;
    INFO("MYH DEBUG HERE");
//    INFO("MYH DEBUG HERE");
    return 0;
}
@@ -334,18 +338,18 @@
//保存视频到RtspImageRedis的队列,由RtspCaptureElement调用
bool RtspAnalysManager::SaveImageToRedis(const std::string &camId, const std::string &imageName, const cv::Mat &img) {
    INFO("MYH DEBUG HERE  " << camId);
//    INFO("MYH DEBUG HERE  " << camId);
//    m_imgRedisCRwLock.rdlock();
    auto item = m_imgRedisControllers.find(camId);
    if (item != m_imgRedisControllers.end()) {
        INFO("Save Succeed Cam: " << camId << " ImageKey: " << imageName);
//        INFO("Save Succeed Cam: " << camId << " ImageKey: " << imageName);
        item->second->SaveImage(imageName, img);
    } else {
        ERR("Save Failed Cam: " << camId << " ImageKey: " << imageName);
//        ERR("Save Failed Cam: " << camId << " ImageKey: " << imageName);
    }
//    m_imgRedisCRwLock.unlock();
    INFO("MYH DEBUG HERE");
//    INFO("MYH DEBUG HERE");
    return true;
}