| | |
| | | |
| | | const size_t _faceImagesSize = MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT * 3; |
| | | uint8_t _faceImages[_faceImagesSize]; // android stack is small |
| | | const size_t _faceListBufferSize = sizeof(MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT*3); |
| | | //const size_t _faceListBufferSize = sizeof(MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT*3); |
| | | const size_t _faceListBufferSize = MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT*3; |
| | | uint8_t faceListBuffer[_faceListBufferSize] = {0}; |
| | | |
| | | void remoteGetFaceListImage(const RtspFaceView::GetFaceImagesParams::Reader& params, RtspFaceView::GetFaceImagesResults::Builder& results){ |
| | |
| | | memset(_faceImages, 0, _faceImagesSize); |
| | | bool ret = cameraWrapper.faceCache.getFaceListImage(imgIdxes, _faceImages, faceImagesSize); |
| | | if (imgIdxes.size() == 0){ |
| | | LOG_INFO << "No face image captured" << LOG_ENDL; |
| | | LOG_INFO << "No face image captured!!!!!" << LOG_ENDL; |
| | | return; |
| | | } |
| | | int imgIdxesSize = imgIdxes.size() * sizeof(NativeImgIdx); |
| | |
| | | memcpy(imgIndexData.begin(), imgIdxes.data(), imgIdxesSize); |
| | | auto imgData = results.initImgData(_faceImagesSize); |
| | | memcpy(imgData.begin(), _faceImages, _faceImagesSize); |
| | | results.setImgData(imgData); |
| | | results.setImgIndexData(imgIndexData); |
| | | LOG_ERROR <<"c++ server : remoteGetFaceListImage!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; |
| | | } |
| | | |
| | | void remoteGetFaceList(const RtspFaceView::GetFaceListParams::Reader& params, RtspFaceView::GetFaceListResults::Builder& results){ |
| | | |
| | | const int cameraIdx = params.getCameraIndex() - 1; |
| | | CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]); |
| | | uint8_t *pBufPB = faceListBuffer + sizeof(EVPHeader) + sizeof(FDP_FaceDetectPB); |
| | |
| | | cameraWrapper.faceCache.getFaceListPb(pBufPB, faceListBufferSize); |
| | | auto buffer = results.initFaceList(faceListBufferSize); |
| | | memcpy(buffer.begin(), pBufPB, faceListBufferSize); |
| | | results.setFaceList(buffer); |
| | | } |
| | | |
| | | void remoteSetFaceLabel(const RtspFaceView::SetFaceLabelParams::Reader& params, RtspFaceView::SetFaceLabelResults::Builder& results){ |
| | | const int cameraIdx = params.getCameraIndex() - 1; |
| | | CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]); |
| | | LOG_DEBUG<<"!!!!lable"<< params.toString().flatten().cStr() <<LOG_ENDL; |
| | | cameraWrapper.setFaceLabel(params.getTrackId(),std::wstring((wchar_t*)params.getLabel().begin())); |
| | | } |
| | | |