houxiao
2017-08-09 83cfdf5ea0259f1fdf4ee3ea6046a7b694134161
VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapperServer.cpp
@@ -1,4 +1,5 @@
#include "CameraWrapperServer.h"
#include "RemoteFuncServer.h"
#include <logger.h>
#include <Logger/src/logger.hpp>
#include <MaterialBuffer.h>
@@ -10,7 +11,6 @@
#include <PL_ColorConv.h>
#include <PL_AndroidMediaCodecEncoder.h>
#include <PL_RTSPServer.h>
CameraWrapper::~CameraWrapper()
{
   stop();
@@ -372,17 +372,21 @@
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);
    //remote call start, 为了保证通用性,未将以下步骤封入RtspFaceDetectClient
    RtspFaceDetectClient &client = getRtspFaceDetectClient();
    auto request = client.fireFaceCountListenerRequest();
    request.setCameraIndex(cameraWrapper.cameraIdx);
    request.setFaceCount(cameraWrapper.faceCache.getFaceCount(*pm));
    auto sendAct = request.send();
    sendAct.wait(client.getWaitScope());
    //remote call end
    return false;
}
@@ -409,14 +413,6 @@
    cameraWrapper.plplContext.params.push_back(100);
    cameraWrapper.plplContext.params.push_back(100);
}
//struct ScopeMutexLocker
//{
//    pthread_mutex_t* mut;
//    ScopeMutexLocker(pthread_mutex_t* _mut) : mut(_mut){pthread_mutex_lock(mut);};
//    ~ScopeMutexLocker(){pthread_mutex_unlock(mut);}
//    //ScopeMutexLocker(&(cameraWrapper.live_daemon_mut));
//};
void cw_elem_destory_func(PipeLineElem* elem)
{