派生自 development/c++

xuxiuxi
2019-03-04 93fcc2eb2db5038ca1944acde9f4c8b751aca930
QiaoJiaSystem/StructureApp/NewRecordVideoElement.h
@@ -1,12 +1,13 @@
#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;
};
#include "HiredisTool.h"
//struct ImgInfo
//{
//    std::string time;
//    cv::Mat img;
//};
class NewRecordVideoElement {
public:
@@ -16,23 +17,42 @@
    ~NewRecordVideoElement();
    std::string startRecord();
    void setSdkTrigger(bool isTrigger);
    void pushImgBuf(const std::string& time,cv::Mat& img);
    void doRecord();
    void endRecord();
    void pushImgBuf(const std::string& time,cv::Mat img);
    void getImg(ImgInfo& info);
//private:
//    virtual void threadFunc() override;
//    virtual void threadInitial() override;
private:
    std::string getFileName(std::string timeStamp);
    std::string makeDir();
    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;
    bool m_bSaveWH;
};
#endif // RECORDVIDEOELEMENT_H