houxiao
2017-07-24 514795c44cbad68fe213c5f00c902d370464c022
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);
}
@@ -300,6 +319,7 @@
        cameraWrapper.asvrConfig.outputRenderFrame = true;
        cameraWrapper.asvrConfig.scaleToWidth = 0;
        cameraWrapper.asvrConfig.scaleToHeight = 0;
      cameraWrapper.asvrConfig.directlyDisplay = true;
    }
    {
@@ -317,6 +337,8 @@
        cameraWrapper.sftConfig.visionConeAngle = 35.0f;
        cameraWrapper.sftConfig.score_min = 0.2f;
    }
   cameraWrapper.fontPath = "/data/msyh.ttc";
    bool ret = cameraWrapper.initPl();
    if (ret)
@@ -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;