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