From a852ef0ab315114640bdea15908780ab6e23fa58 Mon Sep 17 00:00:00 2001
From: sujinwen <sujinwen@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 25 七月 2017 16:31:08 +0800
Subject: [PATCH] Failed commit: Default
---
VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp | 147 +++++++++++++++++++++---------------------------
1 files changed, 64 insertions(+), 83 deletions(-)
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
index d25de07..cbf9227 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
@@ -17,12 +17,9 @@
#include <stdlib.h>
#include "DebugNetwork.h"
+#include "TeleWrapper.h"
-
-extern "C"
-{
-#include "serial.h"
-}
+#include "cpu_sched_test.h"
//#include <mediastreamer2/include/mediastreamer2/msjava.h>
@@ -37,12 +34,16 @@
CaptureCamera g_CaptureCamera;
+TeleWrapper g_TeleWrapper;
+
extern "C"
{
void Java_cn_com_basic_face_util_RtspFaceNative_init(JNIEnv *env, jclass clazz)
{
g_logger.set_level(INFO);
+
+ cpu_sched();
#ifdef USE_ST_SDK
PipeLine::register_global_elem_creator("PL_SensetimeFaceTrack", create_PL_SensetimeFaceTrack);
@@ -57,6 +58,8 @@
g_CameraWrappers[i].pipeLineRender = new PipeLine;
//PipeLine& pipeLine(*(g_CameraWrappers[i].pipeLineDecoderDetector));
}
+
+ g_TeleWrapper.start();
}
void
@@ -189,16 +192,14 @@
static void *getSurfaceHolderGetSurface(JNIEnv *env, jobject jobjSurfaceHolder)
{
jclass jcSurfaceHolder = env->FindClass("android/view/SurfaceHolder");
- jmethodID jmSurfaceHolder_getSurface = env->GetMethodID(jcSurfaceHolder, "getSurface",
- "()Landroid/view/Surface;");
+ jmethodID jmSurfaceHolder_getSurface = env->GetMethodID(jcSurfaceHolder, "getSurface", "()Landroid/view/Surface;");
jobject surface = env->CallObjectMethod(jobjSurfaceHolder, jmSurfaceHolder_getSurface);
return surface;
}
// set the surface
-void
-Java_cn_com_basic_face_util_RtspFaceNative_setSurface(JNIEnv *env, jclass clazz, jint cameraIdx,
- jobject surfaceRender)
+void Java_cn_com_basic_face_util_RtspFaceNative_setSurface(JNIEnv *env, jclass clazz, jint cameraIdx,
+ jobject surfaceRender)
{
LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_setSurface" << LOG_ENDL;
assert(cameraIdx > 0 && cameraIdx <= CAMERA_COUNT);
@@ -224,6 +225,22 @@
cameraWrapper.windowRender = ANativeWindow_fromSurface(env, surfaceRender);
cameraWrapper.asvrConfig.windowSurface = cameraWrapper.windowRender; // support reset
//cameraWrapper.windowRender = ANativeWindow_fromSurface(env, (jobject)getSurfaceHolderGetSurface(env, surfaceRender));
+
+ {
+ ANativeWindow* window = (ANativeWindow*)(cameraWrapper.windowRender);
+ ANativeWindow_Buffer buffer;
+ if(cameraWrapper.windowRender != nullptr && ANativeWindow_lock(window, &buffer, NULL) == 0)
+ {
+ cameraWrapper.plScaleCfg.toHeight=buffer.height;
+ cameraWrapper.plScaleCfg.toWidth=buffer.stride;
+ ANativeWindow_unlockAndPost(window);
+ }
+ else
+ {
+ cameraWrapper.plScaleCfg.toHeight=480;
+ cameraWrapper.plScaleCfg.toWidth=640;
+ }
+ }
LOGP(DEBUG, "@@@ setsurface %p,%p", cameraWrapper.windowDecode, cameraWrapper.windowRender);
}
@@ -303,7 +320,8 @@
cameraWrapper.asvrConfig.outputOriginFrame = true;
cameraWrapper.asvrConfig.outputRenderFrame = true;
cameraWrapper.asvrConfig.scaleToWidth = 0;
- cameraWrapper.asvrConfig.scaleToHeight = 0;
+ cameraWrapper.asvrConfig.scaleToHeight = 0;
+ cameraWrapper.asvrConfig.directlyDisplay = true;
}
{
@@ -322,7 +340,9 @@
cameraWrapper.sftConfig.score_min = 0.2f;
}
- bool ret = cameraWrapper.initPl();
+ cameraWrapper.fontPath = "/data/msyh.ttc";
+
+ bool ret = cameraWrapper.initPl();
if (ret)
return (cameraWrapper.start() ? JNI_TRUE : JNI_FALSE);
else
@@ -337,7 +357,7 @@
assert(cameraIdx > 0 && cameraIdx <= CAMERA_COUNT);
cameraIdx -= 1;
- CameraWrapper &cameraWrapper(g_CameraWrappers[cameraIdx]);
+ CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]);
cameraWrapper.stop();
}
@@ -481,9 +501,7 @@
evpHeader->size = sizeof(EVPHeader) + sizeof(FDP_FaceDetectPB) + buffSize;
buffSize = evpHeader->size;
- FDP_FaceDetectPB *fdpFaceDetectPB = new(buffer + sizeof(EVPHeader)) FDP_FaceDetectPB(dbId,
- cameraIdx +
- 1);
+ FDP_FaceDetectPB *fdpFaceDetectPB = new(buffer + sizeof(EVPHeader)) FDP_FaceDetectPB(dbId, cameraIdx + 1);
evpHeader->hton();
fdpFaceDetectPB->hton();
@@ -736,88 +754,51 @@
}
-static void callNum(int fd, char phone)
+bool Java_cn_com_basic_face_util_RtspFaceNative_teleCall(JNIEnv *env, jclass clazz, jstring phone)
{
- switch (phone)
- {
- case '1':
- serialWriteString(fd, "DA");//1
- break;
- case '2':
- serialWriteString(fd, "DB");//2
- break;
- case '3':
- serialWriteString(fd, "DC");//3
- break;
- case '4':
- serialWriteString(fd, "DD");//4
- break;
- case '5':
- serialWriteString(fd, "DE");//5
- break;
- case '6':
- serialWriteString(fd, "DF");//6
- break;
- case '7':
- serialWriteString(fd, "DG");//7
- break;
- case '8':
- serialWriteString(fd, "DH");//8
- break;
- case '9':
- serialWriteString(fd, "DI");//9
- break;
- case '0':
- serialWriteString(fd, "DJ");//0
- break;
- }
+ std::string _phone;
+ {
+ const char *utfFunc = env->GetStringUTFChars(phone, NULL);
+ _phone = utfFunc;
+ env->ReleaseStringUTFChars(phone, utfFunc);
+ }
+
+ const char *phoneNum = _phone.c_str();
+ TeleTask task;
+ task.command= TeleTask::CALL;
+ task.param = phoneNum;
+ LOG_INFO << "Java_cn_com_basic_face_util_RtspFaceNative_telCall::jni" << LOG_ENDL;
+ //
+ g_TeleWrapper.pushTask(task);
}
-bool Java_cn_com_basic_face_util_RtspFaceNative_telCall(JNIEnv *env, jclass clazz, jstring phone)
+void Java_cn_com_basic_face_util_RtspFaceNative_teleHang(JNIEnv *env, jclass clazz)
{
- int fd = serialOpen("/dev/ttyS4", 2400);
- serialWriteString(fd, "AA");
- sleep(1);
-
- std::string _phone;
- {
- const char *utfFunc = env->GetStringUTFChars(phone, NULL);
- _phone = utfFunc;
- env->ReleaseStringUTFChars(phone, utfFunc);
- }
-
- const char *phoneNum = _phone.c_str();
-
- while (*phoneNum)
- {
- sleep(1);
- callNum(fd, *(phoneNum++));
- }
-
- return false;
+ TeleTask task;
+ task.command =TeleTask::HANGUP;
+ //
+ g_TeleWrapper.pushTask(task);
}
-void Java_cn_com_basic_face_util_RtspFaceNative_Hang(JNIEnv *env, jclass clazz)
+void Java_cn_com_basic_face_util_RtspFaceNative_teleShutdown(JNIEnv *env, jclass clazz)
{
- int fd = serialOpen("/dev/ttyS4", 2400);
- serialWriteString(fd, "BA");
+ LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_telShutdown" << LOG_ENDL;
+ g_TeleWrapper.stop();
}
-void Java_cn_com_basic_face_util_RtspFaceNative_setFaceLabel(JNIEnv *env, jclass clazz, jint cameraIdx, jint stTrackId, jstring phoneNumber)
+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;
assert(cameraIdx > 0 && cameraIdx <= CAMERA_COUNT);
cameraIdx -= 1;
CameraWrapper &cameraWrapper(g_CameraWrappers[cameraIdx]);
- std::string _phoneNumber;
- {
- const char *utfFunc = env->GetStringUTFChars(phoneNumber, NULL);
- _phoneNumber = utfFunc;
- env->ReleaseStringUTFChars(phoneNumber, utfFunc);
- }
-
- cameraWrapper.setFaceLabel(stTrackId, _phoneNumber);
+ const char *utfChars = env->GetStringUTFChars(label, NULL);
+ std::string labelstr(utfChars);
+ std::wstring wlabelstr;
+ wlabelstr.assign(labelstr.begin(), labelstr.end());
+ env->ReleaseStringUTFChars(label, utfChars);
+ cameraWrapper.setFaceLabel(stTrackId, wlabelstr);
}
} // extern C
--
Gitblit v1.8.0