| | |
| | | #include "CameraWrapperServer.h"
|
| | | #include "RemoteFuncServer.h"
|
| | | #include <logger.h>
|
| | | #include <Logger/src/logger.hpp>
|
| | | #include <MaterialBuffer.h>
|
| | |
| | | #include <PL_ColorConv.h>
|
| | | #include <PL_AndroidMediaCodecEncoder.h>
|
| | | #include <PL_RTSPServer.h>
|
| | |
|
| | | CameraWrapper::~CameraWrapper()
|
| | | {
|
| | | stop();
|
| | |
| | | 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;
|
| | | }
|
| | |
|
| | |
| | | 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)
|
| | | {
|