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 | 113 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 88 insertions(+), 25 deletions(-) diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp index 963b60c..1636105 100644 --- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp +++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp @@ -2,41 +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; -void startRemoteServer(){ - AppConfig config; - config.loadConfig("data/config.cfg"); + +#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() +{ remoteServer.start(); } -RtspFaceDetectClient& getRtspFaceDetectClient(){ - return rtspFaceDetectClient; -} -//#todo -RtspFaceDetectClient::RtspFaceDetectClient():rpcClient("127.0.0.1",8111), - RtspFaceDetect::Client(rpcClient.getMain<RtspFaceDetect>()) -{} -::kj::WaitScope& RtspFaceDetectClient::getWaitScope() { - return rpcClient.getWaitScope(); + +RtspFaceDetectClient * getRtspFaceDetectClient() +{ + if(rtspFaceDetectClient == nullptr) + rtspFaceDetectClient = new RtspFaceDetectClient; + return rtspFaceDetectClient; } -::kj::Promise<void> RtspFaceViewImpl::getFaceList(GetFaceListContext context) { - auto results = context.getResults(); - remoteGetFaceList(context.getParams(), results); - context.setResults(results); +//#todo 鏋勯�犲嚱鏁颁慨鏀� +RtspFaceDetectClient::RtspFaceDetectClient() : + rpcClient(nullptr) +{ } -::kj::Promise<void> RtspFaceViewImpl::getFaceImages(GetFaceImagesContext context){ - auto results = context.getResults(); - remoteGetFaceListImage(context.getParams(), results); - context.setResults(results); +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::Promise<void> RtspFaceViewImpl::setFaceLabel(SetFaceLabelContext context) { +::kj::WaitScope &RtspFaceDetectClient::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); + + return kj::READY_NOW; +} + +::kj::Promise<void> RtspFaceViewImpl::getFaceImages(GetFaceImagesContext context) +{ auto results = context.getResults(); + remoteGetFaceListImage(context.getParams(), results); + LOG_ERROR <<"getFaceImages : !!!!!!!!!!!!!!"<< LOG_ENDL; + return kj::READY_NOW; +} + +::kj::Promise<void> RtspFaceViewImpl::setFaceLabel(SetFaceLabelContext context) +{ + LOG_ERROR <<"setFaceLabel : !!!!!!!!!!!!"<< LOG_ENDL; + auto results = context.getResults(); + remoteSetFaceLabel(context.getParams(), results); - context.setResults(results); + + return kj::READY_NOW; } -- Gitblit v1.8.0