From 514795c44cbad68fe213c5f00c902d370464c022 Mon Sep 17 00:00:00 2001 From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674> Date: 星期一, 24 七月 2017 20:18:21 +0800 Subject: [PATCH] add panshen TeleWrapper --- VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 56 insertions(+), 2 deletions(-) diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp index 3174a0b..b0bb8e1 100644 --- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp +++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp @@ -17,6 +17,7 @@ #include <stdlib.h> #include "DebugNetwork.h" +#include "TeleWrapper.h" #include "cpu_sched_test.h" @@ -32,6 +33,8 @@ CameraWrapper g_CameraWrappers[CAMERA_COUNT]; CaptureCamera g_CaptureCamera; + +TeleWrapper g_TeleWrapper; extern "C" { @@ -221,6 +224,22 @@ 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); } @@ -299,7 +318,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; } { @@ -318,7 +338,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 @@ -730,6 +752,38 @@ } +bool Java_cn_com_basic_face_util_RtspFaceNative_teleCall(JNIEnv *env, jclass clazz, jstring phone) +{ + 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); +} + +void Java_cn_com_basic_face_util_RtspFaceNative_teleHang(JNIEnv *env, jclass clazz) +{ + TeleTask task; + task.command =TeleTask::HANGUP; + // + g_TeleWrapper.pushTask(task); +} + +void Java_cn_com_basic_face_util_RtspFaceNative_teleShutdown(JNIEnv *env, jclass clazz) +{ + 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 label) { LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_setFaceLabel" << LOG_ENDL; -- Gitblit v1.8.0