From d81a5dd7415707137147ab6490162322df6f6363 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 28 七月 2017 13:49:09 +0800
Subject: [PATCH]
---
VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h | 52 +++++++++++++++++++++++++++++-----------------------
1 files changed, 29 insertions(+), 23 deletions(-)
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
index 8bb9f05..7628226 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
@@ -10,10 +10,9 @@
#include <PL_RTSPClient.h>
#include <PL_AndroidMediaCodecDecoder.h>
#include <PL_AndroidSurfaceViewRender.h>
-#include <PL_SensetimeFaceTrack.h>
+#include <PL_SensetimeFaceTrackMultiTrd.h>
#include <PL_Paint.h>
-#include <PL_Queue.h>
-
+#include <PL_Scale.h>
//#include "looper.h"
#include <android/native_window_jni.h>
#include <media/NdkMediaCodec.h>
@@ -28,39 +27,43 @@
PipeLine* pipeLineAnalyzer;
PipeLine* pipeLineRender;
- PL_Queue* queueFrame;
-
- PL_RTSPClient_Config rtspConfig;
- PL_AndroidMediaCodecDecoder_Config amcdConfig;
- PL_AndroidSurfaceViewRender_Config asvrConfig;
- SensetimeFaceTrackConfig sftConfig;
+ PL_RTSPClient_Config rtspConfig;
+ PL_AndroidMediaCodecDecoder_Config amcdConfig;
+ PL_AndroidSurfaceViewRender_Config asvrConfig;
+ SensetimeFaceTrackConfig sftConfig;
+ PL_Scale_Config plScaleCfg;
int cameraIdx;
- JavaVM* javaVM;
- JNIEnv* javaEnv;
+ JavaVM* javaVM;
+ JNIEnv* javaEnv;
jclass faceCallbackClazz;
jmethodID faceCallbackFunc;
void* windowRender;
void* windowDecode;
pthread_t decoder_thid;
- pthread_t analyzer_thid;
+ pthread_t live_daemon_thid;
+ pthread_mutex_t live_daemon_mut;
bool running;
-
+ volatile bool killed;
+ time_t lastAliveTime;
+
bool faceCacheLocked;
- //FaceCache faceCache;
- FaceCacheForPLBG faceCache;
+ //FaceCache faceCache;
+ FaceCacheForPLBG faceCache;
PLPLContext plplContext;
- std::map<int, std::string> faceLabels;
+ std::map<int, std::wstring> faceLabels;
+
+ std::string fontPath;
CameraWrapper() :
- 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),
+ pipeLineDecoderDetector(nullptr), pipeLineAnalyzer(nullptr), pipeLineRender(nullptr), rtspConfig(), amcdConfig(), asvrConfig(), sftConfig(),
+ cameraIdx(0), javaVM(nullptr), javaEnv(nullptr), faceCallbackClazz(0), faceCallbackFunc(0), windowRender(nullptr), windowDecode(nullptr),
+ decoder_thid(0), live_daemon_thid(0), live_daemon_mut(), running(false), killed(false), lastAliveTime(0),
faceCacheLocked(false), faceCache(),
- plplContext(), faceLabels()
+ plplContext(), faceLabels(), fontPath()
{
}
@@ -69,15 +72,18 @@
bool start();
void stop();
bool initPl();
-
+
void lockFace();
void releaseFace();
- void setFaceLabel(int st_track_id, const std::string& label);
+ void setFaceLabel(int st_track_id, const std::wstring& label);
private:
static void* decoder_thd(void *arg);
- static void* analyzer_thd(void *arg);
+ static void* live_daemon_thd(void *arg);
+
+ bool resetPl();
+ bool initPl_DecoderPl();
};
#endif
--
Gitblit v1.8.0