From c6968ba2fbd5e9f4e32fd5f62fd587f9a7d2ebc1 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 11 八月 2017 18:52:31 +0800
Subject: [PATCH] bug fix for rtsp server

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp |   72 ++++++++++++++++++++++++------------
 1 files changed, 48 insertions(+), 24 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp
index 963b60c..ad412e8 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteFuncServer.cpp
@@ -5,38 +5,62 @@
 #include "RemoteFunc.h"
 #include "RemoteFuncServer.h"
 #include "RtspNativeCodecJNIServer.h"
-RemoteServer<RtspFaceViewImpl> remoteServer("127.0.0.1",8112);
-RtspFaceDetectClient rtspFaceDetectClient;
-void startRemoteServer(){
-    AppConfig config;
-    config.loadConfig("data/config.cfg");
-    remoteServer.start();
+
+RemoteServer<RtspFaceViewImpl> remoteServer("127.0.0.1", 8112);
+static RtspFaceDetectClient* rtspFaceDetectClient = nullptr;
+
+void startRemoteServer()
+{
+	AppConfig config;
+	config.loadConfig("data/config.cfg");
+	remoteServer.start();
 }
-RtspFaceDetectClient& getRtspFaceDetectClient(){
-   return rtspFaceDetectClient;
+
+RtspFaceDetectClient* getRtspFaceDetectClient()
+{
+	if (rtspFaceDetectClient != nullptr)
+	{
+		try
+		{
+			rtspFaceDetectClient = new RtspFaceDetectClient;
+		}
+		catch(...)
+		{
+			delete rtspFaceDetectClient;
+			rtspFaceDetectClient = nullptr;
+			LOG_ERROR << "aaaaaaaa"<<LOG_ENDL;//#todo
+		}
+	}
+	return rtspFaceDetectClient;
 }
+
 //#todo
-RtspFaceDetectClient::RtspFaceDetectClient():rpcClient("127.0.0.1",8111),
-                                             RtspFaceDetect::Client(rpcClient.getMain<RtspFaceDetect>())
+RtspFaceDetectClient::RtspFaceDetectClient() :
+		rpcClient("127.0.0.1", 8111), RtspFaceDetect::Client(rpcClient.getMain<RtspFaceDetect>())
 {}
-::kj::WaitScope& RtspFaceDetectClient::getWaitScope() {
-    return rpcClient.getWaitScope();
+
+::kj::WaitScope &RtspFaceDetectClient::getWaitScope()
+{
+	return rpcClient.getWaitScope();
 }
 
-::kj::Promise<void> RtspFaceViewImpl::getFaceList(GetFaceListContext context) {
-    auto results = context.getResults();
-    remoteGetFaceList(context.getParams(), results);
-    context.setResults(results);
+::kj::Promise<void> RtspFaceViewImpl::getFaceList(GetFaceListContext context)
+{
+	auto results = context.getResults();
+	remoteGetFaceList(context.getParams(), results);
+	context.setResults(results);
 }
 
-::kj::Promise<void> RtspFaceViewImpl::getFaceImages(GetFaceImagesContext context){
-    auto results = context.getResults();
-    remoteGetFaceListImage(context.getParams(), results);
-    context.setResults(results);
+::kj::Promise<void> RtspFaceViewImpl::getFaceImages(GetFaceImagesContext context)
+{
+	auto results = context.getResults();
+	remoteGetFaceListImage(context.getParams(), results);
+	context.setResults(results);
 }
 
-::kj::Promise<void> RtspFaceViewImpl::setFaceLabel(SetFaceLabelContext context) {
-    auto results = context.getResults();
-    remoteSetFaceLabel(context.getParams(), results);
-    context.setResults(results);
+::kj::Promise<void> RtspFaceViewImpl::setFaceLabel(SetFaceLabelContext context)
+{
+	auto results = context.getResults();
+	remoteSetFaceLabel(context.getParams(), results);
+	context.setResults(results);
 }

--
Gitblit v1.8.0