From 5cf652629fb40796cd2e0ab17c3617ed52365473 Mon Sep 17 00:00:00 2001
From: pans <pans@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 18 八月 2017 10:32:05 +0800
Subject: [PATCH] capnp client fix bug

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp |   71 ++++++++++++++++++++---------------
 1 files changed, 40 insertions(+), 31 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp
index ae204ec..afffcb8 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNIClient.cpp
@@ -39,9 +39,9 @@
 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
+//// #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);
 
@@ -73,12 +73,11 @@
         //PipeLine& pipeLine(*(g_CameraWrappers[i].pipeLineDecoderDetector));
     }
 
+
     g_TeleWrapper.start();
-    //pansen test Client start
-    LOG_ERROR << "pansen test Client start" << std::endl;
+
+    //capnp server start
     startRemoteServer();
-    LOG_ERROR << "pansen test Client end" << std::endl;
-    //pansen test Client end
 
 }
 
@@ -368,29 +367,34 @@
     LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_getFaceList" << LOG_ENDL;
     assert(cameraIdx > 0 && cameraIdx <= CAMERA_COUNT);
     cameraIdx -= 1;
+    if(cameraIdx <0){
+        cameraIdx += 1;
+    }
     CameraWrapper &cameraWrapper(g_CameraWrappers[cameraIdx]);
 
-
+    // Change to Global variable
+    //   uint8_t buffer[MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT] = {0};
+    //  size_t buffSize = sizeof(buffer);
 
     bool ret = false;
 
     uint8_t *pBufPB = buffer + sizeof(EVPHeader) + sizeof(FDP_FaceDetectPB);
     buffSize = sizeof(buffer) - sizeof(EVPHeader) - sizeof(FDP_FaceDetectPB);
 
-// ps add -----8.11-----
+// add -----8.11-----calling getfacelist
     try
     {
-        LOG_ERROR <<"client : i want getFaceList!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL;
+        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);
+        request.setCameraIndex(cameraIdx+1);
         auto sendAct = request.send();
         auto  result = sendAct.wait(waitScope);
         ret = result.getFaceList().size() > 0;
-        LOG_DEBUG << "@@@ getFaceList get data" << LOG_ENDL;
+        LOG_DEBUG << "@@@ getFaceList get data!!!!!!!!!!!!!" << LOG_ENDL;
         memcpy(pBufPB,result.getFaceList().begin(),result.getFaceList().size());
     }
     catch (const kj::Exception& e){
@@ -402,7 +406,7 @@
         ret = false;
     }
     //-------end-------
-    LOG_ERROR <<"client : i want getFaceList   end!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL;
+    LOG_ERROR <<"client : i want getFaceList   end!!!!!!!!!!!!!"<< LOG_ENDL;
     //ret = cameraWrapper.faceCache.getFaceListPb(pBufPB, buffSize);
 
     if (!ret)
@@ -464,8 +468,8 @@
 
 #ifdef USE_ST_SDK
 
-    //#ps add --------8.11-------
-    LOG_ERROR <<"client : i want getFaceImages!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL;
+    //#ps add --------8.11------- calling getfaceimages
+    LOG_ERROR <<"client : i want getFaceImages!!!!!!!!!!!!!!!!"<< LOG_ENDL;
     try
     {
         RtspFaceViewClient* client = getRtspFaceViewClient();
@@ -473,15 +477,17 @@
         auto& waitScope =client->getWaitScope();
 
         auto  request = rClient.getFaceImagesRequest();
-        request.setCameraIndex(cameraIdx);
+        request.setCameraIndex(cameraIdx+1);
         auto sendAct = request.send();
         auto result = sendAct.wait(waitScope);
         if(result.getImgIndexData().size() >0 && result.getImgData().size()>0)
         {
             ret =true;
-            LOG_DEBUG << "@@@ getFaceImages  get data" << LOG_ENDL;
+            LOG_DEBUG << "@@@ getFaceImages  get data!!!!!!!" << LOG_ENDL;
             memcpy(_faceImages,result.getImgData().begin(),result.getImgData().size());
-            memcpy(&imgIdxes ,result.getImgIndexData().begin() ,result.getImgIndexData().size());
+
+            imgIdxes.resize(result.getImgIndexData().size()/sizeof(NativeImgIdx));
+            memcpy(imgIdxes.data() ,result.getImgIndexData().begin() ,result.getImgIndexData().size());
         }
     }
     catch (const kj::Exception& e)
@@ -490,9 +496,9 @@
         ret = false;
         LOG_ERROR << "Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages try fail" << LOG_ENDL;
     }
-    LOG_ERROR <<"client : i want getFaceImages    end!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL;
+    LOG_ERROR <<"client : i want getFaceImages    end!!!!!!!!!!!!!!!!!"<< LOG_ENDL;
     //-------end-------
-    ret = cameraWrapper.faceCache.getFaceListImage(imgIdxes, _faceImages, _faceImagesSize);
+    //ret = cameraWrapper.faceCache.getFaceListImage(imgIdxes, _faceImages, _faceImagesSize);
 #endif
 
     if (imgIdxes.size() == 0)
@@ -664,13 +670,12 @@
 void Java_cn_com_basic_face_util_RtspFaceNative_setFaceLabel(JNIEnv *env, jclass clazz, jint cameraIdx, jint stTrackId, jstring label)
 {
     LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_setFaceLabel" << LOG_ENDL;
-    LOG_ERROR <<"ps ------------start"<< LOG_ENDL;
+
     assert(cameraIdx > 0 && cameraIdx <= CAMERA_COUNT);
     cameraIdx -= 1;
     CameraWrapper &cameraWrapper(g_CameraWrappers[cameraIdx]);
     const jchar* jchars = env->GetStringChars(label, nullptr);
     std::wstring wstr;
-    LOG_ERROR <<"ps ------------4"<< LOG_ENDL;
     int lenth = env->GetStringLength(label);
 
     for (int i = 0; i < lenth; ++i) {
@@ -681,8 +686,8 @@
 
     env->ReleaseStringChars(label,jchars);
 
-    // ps add ------8.11---------
-    LOG_ERROR <<"client : i want setFacelable!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL;
+    // ps add ------8.11--------- calling setfacelable
+    LOG_ERROR <<"client : i want setFacelable!!!!!!!"<< LOG_ENDL;
     try
     {
 //        auto& waitScope = getRtspFaceViewClient()->getWaitScope();
@@ -694,12 +699,17 @@
 
         auto  request = rClient.setFaceLabelRequest();
         request.setCameraIndex(cameraIdx);
-        const capnp::Data::Builder &labelData = request.initLabel(wstr.size());
-        LOG_ERROR <<"ps ------------3"<< LOG_ENDL;
-        memcpy((char*)labelData.begin(), wstr.c_str(), wstr.size());
-        request.setLabel(labelData);
+        auto labelData = request.initLabel(wstr.size()*4);
+
+        char temp[100];char temp1[100];
+        memcpy(labelData.begin(), wstr.c_str(), wstr.size()*4);
+
+        memcpy(temp, labelData.begin(), wstr.size()*4);
+
+        memcpy(temp1, request.getLabel().begin(), wstr.size()*4);
         request.setTrackId(stTrackId);
-        LOG_ERROR <<"ps ------------2"<< LOG_ENDL;
+
+        const std::wstring &string = std::wstring((wchar_t*)labelData.begin());
         auto sendAct = request.send();
         sendAct.wait(waitScope);
     }
@@ -708,9 +718,8 @@
         std::cout << e.getDescription().cStr() << std::endl;
         return;
     }
-    LOG_ERROR <<"client : i want setFacelable   end!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL;
+    LOG_ERROR <<"client : i want setFacelable   end!!!!!!!!!!!!!!"<< LOG_ENDL;
 
     //-------end-------
-    //cameraWrapper.setFaceLabel(stTrackId, wstr);
 }
 } // extern C

--
Gitblit v1.8.0