派生自 development/c++

pans
2019-04-03 da184ac7eef8ca74e12bdc63abf205e2fd5f9917
QiaoJiaSystem/GB28181DecoderModel/VideoCaptureElementWithRtp.h
@@ -8,16 +8,27 @@
#include "FFmpegDecoderJPG.h"
#include "28181SDK.h"
#include <basic/pipe/PipeElement.h>
#include "GlobalSignalWaitLock.hpp"
//#include <RtspAnalysManager.h>
//#include <VideoToImageMulth/RtspAnalysManager.h>
class RtspAnalysManager;
namespace BASICGB28181 {
    class VideoCaptureElementWithRtp : public basic::PipeElement {
    public:
        explicit VideoCaptureElementWithRtp(std::string &chanPubID, int fps, int streamTransType, int gpuIdx = -1);
        /***
         * VideoCaptureElementWithRtp 视频解码
         * @param chanPubID 通道地(摄像机id)
         * @param fps
         * @param streamTransType 请求的视频流类型
         * @param gpuIdx gpuindex
         * @param manager 上层类的指针
         */
        explicit VideoCaptureElementWithRtp(std::string &chanPubID, int fps, int streamTransType, int gpuIdx = -1,
                                            RtspAnalysManager *manager = nullptr);
        virtual ~VideoCaptureElementWithRtp();
        /***
         * 获取当前实时流接收数据线程运行状态
@@ -25,6 +36,11 @@
         */
        bool getRunning();
        /***
         * 获取图片
         * @return
         */
        cv::Mat getImage();
        //保存视频接口,从RtspAnalysManager发起调用
@@ -37,6 +53,7 @@
        std::string MakeDir(const std::string &timeStamp);
    private:
        int reopenTime{10};
        int m_gpuIdx;
        int m_fps;
        int m_streamTransType;
@@ -47,9 +64,11 @@
        FFmpegDecoderJPG m_fFmpegDecoderJPG;
        cv::Mat m_image;
        long m_userdata;
        RtspAnalysManager *m_pManager;
        std::atomic<bool> m_running;
        std::atomic<bool> m_waitSignal;
        std::atomic<bool> m_waitSignalrunning;
        //用来保存录像视频的路径
        std::string m_cutPath;
@@ -69,7 +88,7 @@
        /***
         * rtp组包回调函数
         * GB28181 SDK rtp组包回调函数
         * @param handle
         * @param datatype
         * @param frametype