From adb08adc83dfe9dc5d6170c2322952d77a93c510 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期三, 03 四月 2019 09:54:33 +0800
Subject: [PATCH] Merge branch 'yw.1.2' into yangwu1.3

---
 QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h |   26 +++++++++++++++++++++++---
 1 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h
index 1f495fc..a7dbb3f 100644
--- a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h
+++ b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h
@@ -13,13 +13,12 @@
 #include <iostream>
 #include <unistd.h>
 #include <MyQueue.h>
-#include <Debug.h>
 #include <atomic>
-#include "GlobalSignalWaitLock.hpp"
 
 #include "opencv2/core.hpp"
 #include "opencv2/highgui.hpp"
 #include <list>
+#include "GlobalSignalWaitLock.hpp"
 #include "basic_struct_for_video_image.h"
 
 extern "C"
@@ -38,6 +37,7 @@
 }
 
 #include <mutex>
+#include <basic/pipe/TimerElement.h>
 
 namespace BASICGB28181 {
 
@@ -49,6 +49,11 @@
 
     static void initFFmpeg();
 
+    /***
+     * AVframe杞琧vmat
+     * @param frame
+     * @return
+     */
     static cv::Mat avframe_to_cvmat(AVFrame *frame);
 
     typedef struct _buffInfo {
@@ -57,6 +62,7 @@
         std::string camIdx;
     } frameBuffInfo;
 
+    //************褰曞儚妯″潡浣跨敤鐨勭粨鏋勪綋********************//
     struct FrameIdPackage_s_t {
         int64_t m_frameId;
         AVPacket m_packet;
@@ -83,6 +89,7 @@
         RECORDING_VIDEO,
         STOP_RECORD,
     };
+    //********************************//
 //    std::map<std::string, MyQueue<frameBuffInfo *> > MapMyQueue;
 
     static std::mutex g_mutex;
@@ -167,7 +174,18 @@
         //瀵规敹鍒扮殑甯ц繘琛岃鏁�
         int64_t m_frameIndex = 0;
 
+//*******************************************
+        AVFormatContext *ic;
+        unsigned char *iobuffer;
+        AVIOContext *avio;
+        AVStream *stream;
+        AVCodecContext *ctx;
+        AVCodec *codec;
+        AVCodec *codec_cuvid;
+        AVPacket pkt;
+        AVFrame *frame;
 
+        //*******************************************
         //灏嗗抚淇濆瓨鍒板抚鏁扮粍
         void SaveToPacketVector(AVPacket &packet);
 
@@ -189,7 +207,8 @@
         int stopWrite();
 
         //瀵筽acket鍋氳浆鎹�
-        void conversion(void *packet, const long int &firstKeyPts, const long int &firstKeyDts, void *inVideoStream);
+        void conversion(void *packet, const long int &firstKeyPts, const long int &firstKeyDts, void *inVideoStream,
+                        unsigned long int frame_index = 0);
 
         bool m_bstartWrite = {false};
         bool m_bFirstKeyFrame = {false};
@@ -216,6 +235,7 @@
         int m_gpuIdx;
         int m_fps;
         bool m_PackageState;
+        bool m_SnapshotNotSaveRet{true};
         std::string m_camIdx;
 
         MyQueue<frameBuffInfo *> m_rtpQueue;

--
Gitblit v1.8.0