| | |
| | | const size_t _faceImagesSize = MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT * 3; |
| | | uint8_t _faceImages[_faceImagesSize]; // android stack is small |
| | | |
| | | // #todo optimize not copy data here, set data to jbyteArray directly |
| | | //Java_cn_com_basic_face_util_RtspFaceNative_getFaceList |
| | | // Y channel of YUV420p, packed in protobuf |
| | | static uint8_t buffer[MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT] = {0}; |
| | | static size_t buffSize = sizeof(buffer); |
| | | |
| | | void remoteFireFaceCountListener(const RtspFaceDetect::FireFaceCountListenerParams::Reader& params, RtspFaceDetect::FireFaceCountListenerResults::Builder& results){ |
| | | int count = params.getFaceCount(); |
| | | int index = params.getCameraIndex(); |
| | | g_CameraWrappers[index].fireFaceCount(count); |
| | | LOG_INFO <<count<< "+" << index<< LOG_ENDL; |
| | | g_CameraWrappers[index - 1].fireFaceCount(count); |
| | | } |
| | | extern "C" |
| | | { |
| | | |
| | | void Java_cn_com_basic_face_util_RtspFaceNative_init(JNIEnv *env, jclass clazz) |
| | | { |
| | | g_logger.set_level(INFO); |
| | | g_logger.set_level(VERBOSE); |
| | | |
| | | cpu_sched(); |
| | | |
| | |
| | | cameraIdx -= 1; |
| | | CameraWrapper &cameraWrapper(g_CameraWrappers[cameraIdx]); |
| | | |
| | | // #todo optimize not copy data here, set data to jbyteArray directly |
| | | // Y channel of YUV420p, packed in protobuf |
| | | uint8_t buffer[MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT] = {0}; |
| | | size_t buffSize = sizeof(buffer); |
| | | |
| | | |
| | | bool ret = false; |
| | | |
| | |
| | | LOG_ERROR <<"client : i want getFaceList!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; |
| | | RtspFaceViewClient* client = getRtspFaceViewClient(); |
| | | RtspFaceView::Client rClient = client->getEzRpcClient()->getMain<RtspFaceView>(); |
| | | //auto& waitScope =client->getEzRpcClient()->getWaitScope(); |
| | | auto& waitScope =client->getWaitScope(); |
| | | |
| | | auto request = rClient.getFaceListRequest(); |
| | | request.setCameraIndex(cameraIdx); |
| | | auto sendAct = request.send(); |
| | | auto result =sendAct.wait(waitScope); |
| | | auto result = sendAct.wait(waitScope); |
| | | ret = result.getFaceList().size() > 0; |
| | | LOG_DEBUG << "@@@ getFaceList get data" << LOG_ENDL; |
| | | memcpy(pBufPB,result.getFaceList().begin(),buffSize); |
| | | memcpy(pBufPB,result.getFaceList().begin(),result.getFaceList().size()); |
| | | } |
| | | catch (const kj::Exception& e) |
| | | { |
| | | catch (const kj::Exception& e){ |
| | | LOG_ERROR <<e.getDescription().cStr()<< LOG_ENDL; |
| | | ret = false; |
| | | } |
| | | catch (...) |
| | | { |
| | | ret = false; |
| | | } |
| | | //-------end------- |
| | | LOG_ERROR <<"client : i want getFaceList end!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; |
| | | //ret = cameraWrapper.faceCache.getFaceListPb(pBufPB, buffSize); |