From 2f52ba12c4518a0de2478fca130997e73e514e09 Mon Sep 17 00:00:00 2001
From: qvyuanxin <qvyuanxin@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 10 七月 2017 16:23:24 +0800
Subject: [PATCH] 

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h |   55 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 39 insertions(+), 16 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
index 9e41b51..8bb9f05 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
@@ -9,38 +9,58 @@
 #include <PipeLine.h>
 #include <PL_RTSPClient.h>
 #include <PL_AndroidMediaCodecDecoder.h>
+#include <PL_AndroidSurfaceViewRender.h>
 #include <PL_SensetimeFaceTrack.h>
+#include <PL_Paint.h>
+#include <PL_Queue.h>
 
 //#include "looper.h"
 #include <android/native_window_jni.h>
 #include <media/NdkMediaCodec.h>
 
 #include <pthread.h>
+#include <jni.h>
 
 class CameraWrapper
 {
 public:
-	PipeLine* pipeLine;
-	
-	PL_RTSPClient_Config rtspConfig;
-	PL_AndroidMediaCodecDecoder_Config amcdConfig;
-	SensetimeFaceTrackConfig sftConfig;
-	
+	PipeLine* pipeLineDecoderDetector;
+	PipeLine* pipeLineAnalyzer;
+	PipeLine* pipeLineRender;
+
+    PL_Queue* queueFrame;
+
+    PL_RTSPClient_Config rtspConfig;
+    PL_AndroidMediaCodecDecoder_Config amcdConfig;
+    PL_AndroidSurfaceViewRender_Config asvrConfig;
+    SensetimeFaceTrackConfig sftConfig;
+
 	int cameraIdx;
-	jmethodID faceCallback;
-	ANativeWindow* window;
-	
-	pthread_t live_daemon_thid;
+    JavaVM* javaVM;
+    JNIEnv* javaEnv;
+	jclass faceCallbackClazz;
+	jmethodID faceCallbackFunc;
+	void* windowRender;
+	void* windowDecode;
+
+	pthread_t decoder_thid;
+	pthread_t analyzer_thid;
 	bool running;
 	
 	bool faceCacheLocked;
-	FaceCache faceCache;
+    //FaceCache faceCache;
+    FaceCacheForPLBG faceCache;
+
+	PLPLContext plplContext;
+
+	std::map<int, std::string> faceLabels;
 
 	CameraWrapper() : 
-		pipeLine(nullptr), rtspConfig(), amcdConfig(), sftConfig(), 
-		cameraIdx(0), faceCallback(0), window(nullptr), 
-		live_daemon_thid(0), running(false),
-		faceCacheLocked(false), faceCache()
+		pipeLineDecoderDetector(nullptr), pipeLineAnalyzer(nullptr), pipeLineRender(nullptr), queueFrame(nullptr), rtspConfig(), amcdConfig(), asvrConfig(), sftConfig(),
+        cameraIdx(0), javaVM(nullptr), javaEnv(nullptr), faceCallbackClazz(0), faceCallbackFunc(0), windowRender(nullptr), windowDecode(nullptr),
+		decoder_thid(0), analyzer_thid(0), running(false),
+		faceCacheLocked(false), faceCache(),
+		plplContext(), faceLabels()
 	{
 	}
 	
@@ -53,8 +73,11 @@
 	void lockFace();
 	void releaseFace();
 
+	void setFaceLabel(int st_track_id, const std::string& label);
+
 private:
-	static void* live_daemon_thd(void* arg);
+	static void* decoder_thd(void *arg);
+	static void* analyzer_thd(void *arg);
 };
 
 #endif

--
Gitblit v1.8.0