From afcb649c8a2785c6095be5762c6077f9e15afd1a Mon Sep 17 00:00:00 2001 From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 02 八月 2017 10:33:31 +0800 Subject: [PATCH] c++ dupl image --- VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h | 46 +++++++++++++++++++++++++--------------------- 1 files changed, 25 insertions(+), 21 deletions(-) diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h index bb8ad6b..7628226 100644 --- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h +++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h @@ -10,11 +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_Scale.h> -#include <PL_Queue.h> - //#include "looper.h" #include <android/native_window_jni.h> #include <media/NdkMediaCodec.h> @@ -29,40 +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::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() { } @@ -71,7 +72,7 @@ bool start(); void stop(); bool initPl(); - + void lockFace(); void releaseFace(); @@ -79,7 +80,10 @@ 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