| | |
| | |
|
| | | PipeLinePool g_PipeLinePool;
|
| | |
|
| | | FaceDBPool g_FaceDBPool;//#todo config
|
| | | FaceDBPool g_faceAPIPool;//#todo config
|
| | |
|
| | | evclient_proc_t evclient_proc;
|
| | |
|
| | |
| | |
|
| | | FDP_Image* fdpImage = (FDP_Image*)(client.recvBuff + sizeof(EVPHeader));
|
| | |
|
| | | faceAPI* _faceDB = g_FaceDBPool.get_free(fdpImage->school_id);
|
| | | if (_faceDB == nullptr)
|
| | | faceAPI* _faceAPI = g_faceAPIPool.get_free(fdpImage->school_id);
|
| | | if (_faceAPI == nullptr)
|
| | | {
|
| | | LOG_WARN << "can't get face db";
|
| | | ev_send_status_packet(client, EVPStatus::EVPS_PARAMETER_ERROR);
|
| | | return false;
|
| | | }
|
| | |
|
| | | PoolElemLocker<FaceDBPool*, int> _lock_faceDB(&g_FaceDBPool, fdpImage->school_id);
|
| | | PoolElemLocker<FaceDBPool*, int> _lock_faceAPI(&g_faceAPIPool, fdpImage->school_id);
|
| | |
|
| | | PipeLine* pipeLine = g_PipeLinePool.get_free();
|
| | | if (pipeLine == nullptr)
|
| | |
| | | dbFrame.width = fdpImage->width;
|
| | | dbFrame.height = fdpImage->height;
|
| | | dbFrame.school_id = fdpImage->school_id;
|
| | | dbFrame._faceDB = _faceDB;
|
| | | dbFrame._faceAPI = _faceAPI;
|
| | |
|
| | | PipeMaterial pm;
|
| | | pm.type = PipeMaterial::PMT_FRAME;
|