From ae5899dc884d8d7e1427e45c35e865d7ca51c34b Mon Sep 17 00:00:00 2001
From: miyanhui <dennismi1024@gmail.com>
Date: 星期五, 15 二月 2019 14:56:24 +0800
Subject: [PATCH] 新的方式解决视频不录的问题

---
 QiaoJiaSystem/StructureApp/AppPipeController.h |   55 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 29 insertions(+), 26 deletions(-)

diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.h b/QiaoJiaSystem/StructureApp/AppPipeController.h
index 648b766..ab0e738 100644
--- a/QiaoJiaSystem/StructureApp/AppPipeController.h
+++ b/QiaoJiaSystem/StructureApp/AppPipeController.h
@@ -15,9 +15,11 @@
 #include "PerimeterElement.h"
 #include "JudgmentRetrogradeTool.h"
 #include "NewRecordVideoElement.h"
+#include "PersonElement.h"
+#include "PerStaticElement.h"
 #include <jsoncpp/json/json.h>
-
-
+#include "DBStruct.h"
+#include "SaveVideoRpc.h"
 class AppPipeController : public PipeController {
 public:
     /***
@@ -25,11 +27,14 @@
      * @param folderPath 浠诲姟鏍圭洰褰曪紝鐢ㄤ簬鍋氬叡浜唴瀛榠d
      * @param json 鍙傛暟涓簉tsp娴佸湴鍧� sdk鏄惁鍚敤鐨勬爣璇�
      */
-    AppPipeController(std::string folderPath, const Json::Value &json);
+  //  AppPipeController(std::string folderPath, const Json::Value &json);
+    AppPipeController(std::string folderPath, const SdkRuleMap& ruleMap);
 
-    AppPipeController(int index, const Json::Value &json, bool RecordVideoEnable = false);
+  //  AppPipeController(int index, const Json::Value &json, bool RecordVideoEnable = false);
 
-    AppPipeController(std::string camId, const Json::Value &json, bool RecordVideoEnable);
+  //  AppPipeController(std::string camId, const Json::Value &json, bool RecordVideoEnable);
+
+    AppPipeController(std::string camId, const SdkRuleMap& ruleMap, bool RecordVideoEnable);
 
     virtual ~AppPipeController();
 
@@ -41,9 +46,9 @@
 
     void setfdfsClient(FastFdsWithLock *p_fdfsClient);
 
+    void setWeekRule(const std::map<int, std::vector<LActRuleWeekRecord>>& weekRuleMap);
 private:
     void init();
-
 private://Perimete
     PerimeterElement perimeterElement;
    // TriggerElement peTriggerElement;
@@ -55,7 +60,7 @@
     //TriggerElement crowdTriggerElement;
 
     void initCrowd();
-
+    void RecordVideo();
 private://KeepRight
     JudgmentRetrogradeTool leftJudgment;
     JudgmentRetrogradeTool rightJudgment;
@@ -63,9 +68,18 @@
 //    TriggerElement leftTriggerElement;
 //    TriggerElement rightTriggerElement;
 
-    void intKeepRight();
+    void initKeepRight();
 
 private:
+    PerStaticElement perStaticElement;
+    void initPerStatic();
+private://Perimete
+    PerimeterElement perHubElement;
+   // TriggerElement peTriggerElement;
+
+    void initPerHub();
+private:
+    SaveVideoRpcClient_t m_rpcClient;
     ffmpeg::VideoCaptureElement videoCaptureElement;
     YoloRpcElement yoloRpcElement;
     FaceRpcElement faceRpcElement;
@@ -73,6 +87,7 @@
     ImageDrawElement imageDrawElement;
     RecordVideoElement recordVideoElement;
     NewRecordVideoElement newRecordVideoElement;
+    PersonElement personElement;
 
     int m_index;
     std::string m_camId;
@@ -91,25 +106,13 @@
 
     QDateTime m_dt;
 
+    std::map<int, std::vector<LActRuleWeekRecord>> m_weekRuleMap;
+    SdkRuleMap m_sdkRuleMap;
+    std::string m_localIp;
     std::string getFullFileName();
-
-
-    void recordInit(int videoMin, int videoMax);
-    void setSdkTrigger();
-    void doRecord();
-    int fileMin;
-    int fileMax;
-    bool sdkTrigger;
-    int triggerDelay;
-
-#define RECORD_STOP (0)
-#define RECORD_DOING (1)
-#define RECORD_ENDING (2)
-
-    int recordStatus;
-    int videoLength;
-    int recordDelay;
-
+    std::mutex mutex;
+    bool m_bSetWH;
+    HiredisTool m_hiredisTool;
 
 };
 

--
Gitblit v1.8.0