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