From e80ef6acf886a67fa9136fdc8312971cef91b534 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期二, 24 九月 2019 16:41:55 +0800
Subject: [PATCH] 增加addCamera的返回值校验

---
 csrc/ffmpeg/format/FormatIn.cpp            |   13 ++++++++-----
 csrc/thirdparty/gb28181/include/PsToEs.hpp |   11 +++++++----
 2 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/csrc/ffmpeg/format/FormatIn.cpp b/csrc/ffmpeg/format/FormatIn.cpp
index bdcaa53..6313eda 100644
--- a/csrc/ffmpeg/format/FormatIn.cpp
+++ b/csrc/ffmpeg/format/FormatIn.cpp
@@ -64,25 +64,25 @@
 	int FormatIn::openWithCustomIO(void *opaque, read_packet fn, AVDictionary **options/*=NULL*/){
 		ctx_ = avformat_alloc_context();
 		if(!ctx_){
-			logIt("open with custom io create format error");
+			logIt("open with custom io create format error\n");
 			return -1;
 		}
 		read_io_buff_ = (uint8_t*)av_malloc(read_io_buff_size_);
 		if(!read_io_buff_){
-			logIt("open with custom io alloc read io buff error");
+			logIt("open with custom io alloc read io buff error\n");
 			return -1;
 		}
 
 		io_ctx_ = avio_alloc_context(read_io_buff_, read_io_buff_size_, 0, opaque, fn, NULL, NULL);//opaque
 		if(!io_ctx_){
-			logIt("open with custom io create custom avio error");
+			logIt("open with custom io create custom avio error\n");
 			return -1;
 		}
 		ctx_->pb = io_ctx_;
 
 		auto err = av_probe_input_buffer(ctx_->pb, &ctx_->iformat, NULL, NULL, 0, read_io_buff_size_);
 		if(err != 0){
-			logIt("open with custom io prob input buffer error:%d", err);
+			logIt("open with custom io prob input buffer error:%d\n", err);
             logIt("failed:%s", getAVErrorDesc(err).c_str());
 			return -1;
 		}
@@ -98,7 +98,10 @@
 			delete handle_gb28181;
 		}
 		handle_gb28181 = new GB28181API;
-		handle_gb28181->addCamera(fn);
+		if(handle_gb28181->addCamera(fn) == -1){
+			logIt("do addCamera Error\n");
+			return -1;
+		}
 
         int ret = openWithCustomIO(handle_gb28181, handle_gb28181->readData, options);
         if(ret < 0){
diff --git a/csrc/thirdparty/gb28181/include/PsToEs.hpp b/csrc/thirdparty/gb28181/include/PsToEs.hpp
index a46f516..2ac629d 100644
--- a/csrc/thirdparty/gb28181/include/PsToEs.hpp
+++ b/csrc/thirdparty/gb28181/include/PsToEs.hpp
@@ -174,16 +174,19 @@
 		}
 	}
 
-	void addCamera(string &rtsp){
+	long addCamera(string &rtsp){
 //		long userdata = 1001;//
-		printf("RTSPSTREAM_Open\n");
 		handle = RTSPSTREAM_Open(rtsp.c_str(), streamCallBack, (long)this);
-//		return handle;
+		printf("RTSPSTREAM_Open, handle:%ld \n", handle);
+		return handle;
 	}
 
 	void deleteCamera(){
 		printf("RTSPSTREAM_Close\n");
-		RTSPSTREAM_Close(handle);
+		if(handle != -1){
+			RTSPSTREAM_Close(handle);
+		}
+
 		handle = -1;
 	}	
 private:

--
Gitblit v1.8.0