From f946a62d3921e86b44ff8e2973138304b9cd53cd Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期二, 16 四月 2019 16:36:32 +0800
Subject: [PATCH] 解决修改参数和推流画面跳跃问题

---
 QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h |   39 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h
index 2612548..6e942ea 100644
--- a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h
+++ b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h
@@ -9,14 +9,20 @@
 #include <map>
 #include "RtspCaptureElement.h"
 #include "RtspImageRedis.h"
-#include <VideoCaptureElementWithRtp.h>
+//#include "../GB28181DecoderModel/VideoCaptureElementWithRtp.h"
+#include "pushStream/PushStreamAppPipeController.h"
+//#include <VideoCaptureElementWithRtp.h>
 #include <QiaoJia/DB/LDBTool.h>
 #include <basic/util/app/AppPreference.hpp>
 #include "RtspAnalysServer.h"
+
+#include "NsqMsgTool.hpp"
 //#include <GB28181DecoderModel/VideoCaptureElementWithRtp.h>
 //#include <VideoToImageMulth/rpc/RtspAnalysServer.h>
 
 //using BASICGB28181::VideoCaptureElementWithRtp;
+//澶栭儴浣跨敤鐨勫叏灞�鎸囬拡
+extern void *gRtspAnalysManagerCamera;
 
 //鐢ㄦ潵瀹炵幇recordVideo鐨凴PC鐨勬帴鍙g被
 class RtspAnalysManager : public ::RtspAnalys::RtspAnalysServer {
@@ -26,6 +32,25 @@
     RtspAnalysManager() : m_maxCount(50), m_currentCount(0) {
         m_lDBTool = new LDBTool;
         init();
+        IMPORT_APP_ARGS;
+        //nsq   set callback func
+        DBG("NsqMsgConsumer Init");
+        DBG("argv[0]:" << argv[0]);
+        if(argv[0][0] == '.' && argv[0][1] == '/'){
+            string pName(argv[0]+2, argv[0]+strlen(argv[0]));
+            DBG("pName:" << pName);
+            nsqMsgConsumer = new BasicMsg::Nsq::NsqMsgConsumer("127.0.0.1", "4150", pName,
+                                                               to_string(appPref.getIntData("RpcVTIMPort")));
+        }else{
+            string pName(argv[0]);
+            DBG("pName:" << pName);
+            nsqMsgConsumer = new BasicMsg::Nsq::NsqMsgConsumer("127.0.0.1", "4150", pName,
+                                                               to_string(appPref.getIntData("RpcVTIMPort")));
+        }
+
+        nsqMsgConsumer->setMessageCallback(std::bind(&OnMsgFunc, std::placeholders::_1, this));
+        nsqMsgConsumer->init();
+        DBG("NsqMsgConsumer Init END!!");
     }
 
     RtspAnalysManager(LDBTool *_dbTool);
@@ -50,15 +75,25 @@
 private:
     void init();
 
+    static void OnMsgFunc(void *msgPtr, void *pThisPtr);
+
 private:
 
+    //nsq
+    BasicMsg::Nsq::NsqMsgConsumer *nsqMsgConsumer;
+
+    RWLock m_imgRedisCRwLock;
+
     LDBTool *m_lDBTool;
+
+    int m_GB28181_Enable;
 
     //淇濆瓨CamID鍜孯tspCaptureElement鐨勬槧灏勫叧绯�
     std::map<std::string, RtspCaptureElement *> m_controllers;
 
     //淇濆瓨CamID鍜孷ideoCaptureElementWithRtp鐨勬槧灏勫叧绯�
-    std::map<std::string, BASICGB28181::VideoCaptureElementWithRtp *> m_controllers_videoCapElem;
+//    std::map<std::string, BASICGB28181::VideoCaptureElementWithRtp *> m_controllers_videoCapElem;
+    std::map<std::string, PushStreamAppPipeController *> m_controllers_videoCapElem;
 
     //淇濆瓨CamID鍜孯tspImageRedisElement鐨勬槧灏勫叧绯�
     std::map<std::string, RtspImageRedisElement *> m_imgRedisControllers;

--
Gitblit v1.8.0