qvyuanxin
2017-07-10 2f52ba12c4518a0de2478fca130997e73e514e09
VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
@@ -11,6 +11,8 @@
#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>
@@ -22,9 +24,13 @@
class CameraWrapper
{
public:
   PipeLine* pipeLine;
   PL_RTSPClient_Config rtspConfig;
   PipeLine* pipeLineDecoderDetector;
   PipeLine* pipeLineAnalyzer;
   PipeLine* pipeLineRender;
    PL_Queue* queueFrame;
    PL_RTSPClient_Config rtspConfig;
    PL_AndroidMediaCodecDecoder_Config amcdConfig;
    PL_AndroidSurfaceViewRender_Config asvrConfig;
    SensetimeFaceTrackConfig sftConfig;
@@ -34,20 +40,27 @@
    JNIEnv* javaEnv;
   jclass faceCallbackClazz;
   jmethodID faceCallbackFunc;
   ANativeWindow* windowRender;
   ANativeWindow* windowDecode;
   void* windowRender;
   void* windowDecode;
   pthread_t live_daemon_thid;
   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(), asvrConfig(),
      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),
      live_daemon_thid(0), running(false),
      faceCacheLocked(false), faceCache()
      decoder_thid(0), analyzer_thid(0), running(false),
      faceCacheLocked(false), faceCache(),
      plplContext(), faceLabels()
   {
   }
   
@@ -60,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