派生自 development/c++

chenshijun
2019-03-30 4fe1f731d48ac2e33bc8fd2eb11362ffe46955e1
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
@@ -58,9 +62,10 @@
//                                                 item.str_password.toStdString(), item.str_brand.toStdString());
                INFO("cam add is " << item.str_addr.toStdString());
                addCamera(t_camIdex, rtsp_url);
                sleep(1);
            }
        } else {
            ERR("searchCamDevTableAll size is 0");
            ERR("searchCamDevTableByType size is 0");
        }
    } else {
@@ -115,7 +120,7 @@
//
//        }
        } else {
            ERR("searchCamDevTableAll size is 0");
            ERR("searchCamDevTableByType size is 0");
        }
    }
}
@@ -152,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;
@@ -254,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) {
@@ -275,7 +280,7 @@
        }
        m_controllers.clear();
    }
    INFO("MYH DEBUG HERE");
//    INFO("MYH DEBUG HERE");
    m_imgRedisCRwLock.wrlock();
    for (auto controller: m_imgRedisControllers) {
@@ -290,7 +295,7 @@
    m_currentCount = 0;
    INFO("MYH DEBUG HERE");
//    INFO("MYH DEBUG HERE");
    return 0;
}
@@ -333,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;
}