派生自 development/c++

pans
2019-03-30 25928e3093a7c0257128192d7785ec3f74e89e81
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{1000};
        int m_gpuIdx;
        int m_fps;
        int m_streamTransType;
@@ -47,6 +64,7 @@
        FFmpegDecoderJPG m_fFmpegDecoderJPG;
        cv::Mat m_image;
        long m_userdata;
        RtspAnalysManager *m_pManager;
        std::atomic<bool> m_running;
        std::atomic<bool> m_waitSignal;
@@ -69,7 +87,7 @@
        /***
         * rtp组包回调函数
         * GB28181 SDK rtp组包回调函数
         * @param handle
         * @param datatype
         * @param frametype