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 |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h
index 870c262..6e942ea 100644
--- a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h
+++ b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.h
@@ -15,12 +15,15 @@
 #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 {
 
@@ -29,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);
@@ -53,8 +75,13 @@
 private:
     void init();
 
+    static void OnMsgFunc(void *msgPtr, void *pThisPtr);
+
 private:
 
+    //nsq
+    BasicMsg::Nsq::NsqMsgConsumer *nsqMsgConsumer;
+
     RWLock m_imgRedisCRwLock;
 
     LDBTool *m_lDBTool;

--
Gitblit v1.8.0