From 784f977cc7f9b9aad8cc3528a4f2026c1f686a0a Mon Sep 17 00:00:00 2001 From: chenke <chenke@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 09 八月 2017 13:44:20 +0800 Subject: [PATCH] JsonCpp和CapnpProtocol功能初步实现 --- VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.cpp | 66 ++++++++++++++++----------------- 1 files changed, 32 insertions(+), 34 deletions(-) diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.cpp index c5bb607..2e3a0fb 100644 --- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.cpp +++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperClient.cpp @@ -267,33 +267,31 @@ faceLabels.insert(std::make_pair(st_track_id, label)); } -static void invokeCallback(CameraWrapper& cameraWrapper, int faceCount) +void CameraWrapper::fireFaceCount(int faceCount) { - //jni thread may not able to invoke java callback // double check it's all ok - int getEnvStat = cameraWrapper.javaVM->GetEnv((void **)&(cameraWrapper.javaEnv), JNI_VERSION_1_6); + int getEnvStat = javaVM->GetEnv((void **)&(javaEnv), JNI_VERSION_1_6); if (getEnvStat == JNI_EDETACHED) { //LOG_WARN << "GetEnv: not attached" << std::endl; - if (cameraWrapper.javaVM->AttachCurrentThread(&(cameraWrapper.javaEnv), NULL) != 0) + if (javaVM->AttachCurrentThread(&(javaEnv), NULL) != 0) LOG_WARN << "Failed to attach" << LOG_ENDL; else getEnvStat = JNI_OK; } - else if (getEnvStat == JNI_OK) - { + else if (getEnvStat == JNI_OK){ } else if (getEnvStat == JNI_EVERSION) LOG_WARN << "GetEnv: version not supported" << LOG_ENDL; else if (getEnvStat == JNI_ERR) LOG_WARN << "GetEnv: JNI_ERR" << LOG_ENDL; - cameraWrapper.javaEnv->CallStaticVoidMethod(cameraWrapper.faceCallbackClazz, cameraWrapper.faceCallbackFunc, cameraWrapper.cameraIdx, faceCount); + javaEnv->CallStaticVoidMethod(faceCallbackClazz, faceCallbackFunc, cameraIdx, faceCount); - if (cameraWrapper.javaEnv->ExceptionCheck()) - cameraWrapper.javaEnv->ExceptionDescribe(); + if (javaEnv->ExceptionCheck()) + javaEnv->ExceptionDescribe(); - cameraWrapper.javaVM->DetachCurrentThread(); + javaVM->DetachCurrentThread(); } bool cw_pm_breaker_ptr_paint(const PipeMaterial* pm, void* args) @@ -357,22 +355,22 @@ return false; } -bool cw_pm_breaker_ptr_face(const PipeMaterial* pm, void* args) -{ - CameraWrapper& cameraWrapper = *(CameraWrapper*)args; - - if (cameraWrapper.faceCacheLocked) - return false; - - int faceCount = cameraWrapper.faceCache.getFaceCount(*pm); - if (faceCount <= 0 || cameraWrapper.faceCallbackFunc == 0) - return false; - - cameraWrapper.faceCache.cachePm(*pm); - invokeCallback(cameraWrapper, faceCount); - - return false; -} +//bool cw_pm_breaker_ptr_face(const PipeMaterial* pm, void* args) +//{ +// CameraWrapper& cameraWrapper = *(CameraWrapper*)args; +// +// if (cameraWrapper.faceCacheLocked) +// return false; +// +// int faceCount = cameraWrapper.faceCache.getFaceCount(*pm); +// if (faceCount <= 0 || cameraWrapper.faceCallbackFunc == 0) +// return false; +// +// cameraWrapper.faceCache.cachePm(*pm); +// invokeCallback(cameraWrapper, faceCount); +// +// return false; +//} void test_paint(CameraWrapper& cameraWrapper) { @@ -447,14 +445,14 @@ cameraWrapper.lastAliveTime = time(nullptr); - if (! cameraWrapper.faceCacheLocked) - { - PipeMaterial pmAnalizer(pm); - PipeLineElem* last = cameraWrapper.pipeLineAnalyzer->pipe(&pmAnalizer); - bool ret = last->gain(pmAnalizer); - if (ret) - pmAnalizer.breake(PipeMaterial::PMT_PTR, MB_Frame::MBFT__FIRST, cw_pm_breaker_ptr_face, &(cameraWrapper)); - } + //if (! cameraWrapper.faceCacheLocked) + //{ + // PipeMaterial pmAnalizer(pm); + // PipeLineElem* last = cameraWrapper.pipeLineAnalyzer->pipe(&pmAnalizer); + // bool ret = last->gain(pmAnalizer); + // if (ret) + // pmAnalizer.breake(PipeMaterial::PMT_PTR, MB_Frame::MBFT__FIRST, cw_pm_breaker_ptr_face, &(cameraWrapper)); + //} pm.breake(PipeMaterial::PMT_PTR, MB_Frame::MBFT__FIRST, cw_pm_breaker_ptr_paint, &(cameraWrapper)); -- Gitblit v1.8.0