From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001 From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 18 八月 2017 18:12:17 +0800 Subject: [PATCH] H264 NALU解析 并在RTSPServer判断 --- VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp | 88 +++++++++++++++++++++++++++++++++++--------- 1 files changed, 70 insertions(+), 18 deletions(-) diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp index eabf9dc..1636105 100644 --- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp +++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp @@ -2,52 +2,104 @@ // Created by pansen on 2017/8/4. // #include "AppConfig.h" -#include "RemoteFunc.h" #include "RemoteFuncServer.h" +#include "RemoteFunc.h" #include "RtspNativeCodecJNIServer.h" -RemoteServer<RtspFaceViewImpl> remoteServer("127.0.0.1", 8112); -RtspFaceDetectClient rtspFaceDetectClient; +#include <string> +#include <iostream> +using namespace std; + +AppConfig config("data/config.cfg"); +RemoteServer<RtspFaceViewImpl> remoteServer(config.getStringValue("local_ip"), config.getIntValue("local_port")); +//RemoteServer<RtspFaceViewImpl> remoteServer("192.168.1.97", 8112); +static RtspFaceDetectClient* rtspFaceDetectClient = nullptr; void startRemoteServer() { - AppConfig config; - config.loadConfig("data/config.cfg"); - remoteServer.start(); + remoteServer.start(); } -RtspFaceDetectClient &getRtspFaceDetectClient() +RtspFaceDetectClient * getRtspFaceDetectClient() { - return rtspFaceDetectClient; + if(rtspFaceDetectClient == nullptr) + rtspFaceDetectClient = new RtspFaceDetectClient; + return rtspFaceDetectClient; } -//#todo +//#todo 鏋勯�犲嚱鏁颁慨鏀� RtspFaceDetectClient::RtspFaceDetectClient() : - rpcClient("127.0.0.1", 8111), RtspFaceDetect::Client(rpcClient.getMain<RtspFaceDetect>()) -{} + rpcClient(nullptr) +{ +} + +RtspFaceDetect::Client* RtspFaceDetectClient::getClient() +{ + LOG_INFO << "new client @ " << (int*)client << LOG_ENDL; + + if (client == nullptr) { + LOG_INFO << "new client 2" << LOG_ENDL; + try + { + client = new RtspFaceDetect::Client(getEzRpcClient()->getMain<RtspFaceDetect>()); + } + catch (const kj::Exception& e) + { + LOG_ERROR << "new client error" << LOG_ENDL; + delete client; + client = nullptr; + throw e; + } + } + return client; +} ::kj::WaitScope &RtspFaceDetectClient::getWaitScope() { - return rpcClient.getWaitScope(); + return getEzRpcClient()->getWaitScope(); +} + +capnp::EzRpcClient * RtspFaceDetectClient::getEzRpcClient() +{ + if (rpcClient == nullptr) { + try + { + // rpcClient = new capnp::EzRpcClient("192.168.1.97", 8111); + rpcClient = new capnp::EzRpcClient(config.getStringValue("server_ip"), config.getIntValue("server_port")); + } + catch (const kj::Exception& e) + { + delete rpcClient; + rpcClient = nullptr; + throw e; + } + } + return rpcClient; } ::kj::Promise<void> RtspFaceViewImpl::getFaceList(GetFaceListContext context) { + LOG_ERROR <<"getFaceList :start !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<< LOG_ENDL; auto results = context.getResults(); remoteGetFaceList(context.getParams(), results); - context.setResults(results); + + return kj::READY_NOW; } ::kj::Promise<void> RtspFaceViewImpl::getFaceImages(GetFaceImagesContext context) { - auto results = context.getResults(); + auto results = context.getResults(); remoteGetFaceListImage(context.getParams(), results); - context.setResults(results); + LOG_ERROR <<"getFaceImages : !!!!!!!!!!!!!!"<< LOG_ENDL; + return kj::READY_NOW; } ::kj::Promise<void> RtspFaceViewImpl::setFaceLabel(SetFaceLabelContext context) { - auto results = context.getResults(); - remoteSetFaceLabel(context.getParams(), results); - context.setResults(results); + LOG_ERROR <<"setFaceLabel : !!!!!!!!!!!!"<< LOG_ENDL; + auto results = context.getResults(); + + remoteSetFaceLabel(context.getParams(), results); + + return kj::READY_NOW; } -- Gitblit v1.8.0