From ffa3485e9d36911f3b6aeac7ddbcca61c3e3dde6 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期四, 10 一月 2019 20:12:15 +0800
Subject: [PATCH] Merge svn 3352

---
 QiaoJiaSystem/StructureApp/NewRecordVideoElement.h |   58 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 39 insertions(+), 19 deletions(-)

diff --git a/QiaoJiaSystem/StructureApp/NewRecordVideoElement.h b/QiaoJiaSystem/StructureApp/NewRecordVideoElement.h
index 8da45c7..17a40f9 100644
--- a/QiaoJiaSystem/StructureApp/NewRecordVideoElement.h
+++ b/QiaoJiaSystem/StructureApp/NewRecordVideoElement.h
@@ -1,13 +1,14 @@
 #ifndef NEWRECORDVIDEOELEMENT_H
 #define NEWRECORDVIDEOELEMENT_H
-
+#include <basic/pipe/PipeElement.h>
 #include <basic/pipe_element/ffmpeg/FfmpegElement.h>
-struct ImgInfo
-{
-    std::string time;
-    cv::Mat img;
-};
-class NewRecordVideoElement {
+#include "HiredisTool.h"
+//struct ImgInfo
+//{
+//    std::string time;
+//    cv::Mat img;
+//};
+class NewRecordVideoElement : public basic::PipeElement{
 
 public:
 
@@ -16,23 +17,42 @@
 
     ~NewRecordVideoElement();
 
-    std::string startRecord();
-
-    void doRecord();
-
-    void endRecord();
-
-    void pushImgBuf(const std::string& time,cv::Mat img);
-
-    void getImg(ImgInfo& info);
+    void setSdkTrigger(bool isTrigger);
+    void pushImgBuf(const std::string& time,cv::Mat& img);
 
 private:
-    std::string getFileName(std::string timeStamp);
-    std::string makeDir();
+    virtual void threadFunc() override;
+    virtual void threadInitial() override;
+private:
+    void recordInit(int videoMin, int videoMax);
+    void Record();
+
+    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;
+private:
+    std::string startRecord();
+    void doRecord();
+    void endRecord();
+    void getImg(ImgInfo& info);
+    std::string getFileName(const std::string& timeStamp);
+    std::string makeDir(const std::string& timeStamp);
+
     ffmpeg::VideoEncodeElement videoEncoderElement;
     std::string camID;
     std::string m_cutPath;
-    std::list<ImgInfo> m_imgBufQue;
+    std::queue<ImgInfo> m_imgBufQue;
+    HiredisTool m_hiredisTool;
+    std::string m_filename;
 };
 
 #endif // RECORDVIDEOELEMENT_H

--
Gitblit v1.8.0