mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-22 19:00:01 +08:00
使用抛异常替代asset,提高代码稳定性
This commit is contained in:
parent
fb4435fca9
commit
31ad2caa6b
31
3rdpart/assert.h
Normal file
31
3rdpart/assert.h
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2016 The ZLMediaKit project authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This file is part of ZLMediaKit(https://github.com/xiongziliang/ZLMediaKit).
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by MIT license that can be found in the
|
||||||
|
* LICENSE file in the root of the source tree. All contributing project authors
|
||||||
|
* may be found in the AUTHORS file in the root of the source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ZLMEDIAKIT_ASSERT_H
|
||||||
|
#define ZLMEDIAKIT_ASSERT_H
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#ifndef NDEBUG
|
||||||
|
#ifdef assert
|
||||||
|
#undef assert
|
||||||
|
#endif//assert
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
extern void Assert_Throw(int failed, const char *exp, const char *func, const char *file, int line);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define assert(exp) Assert_Throw(!(exp), #exp, __FUNCTION__, __FILE__, __LINE__);
|
||||||
|
#endif//NDEBUG
|
||||||
|
|
||||||
|
#endif //ZLMEDIAKIT_ASSERT_H
|
@ -43,6 +43,7 @@ INCLUDE_DIRECTORIES(${MediaServer_Root}/libmpeg/include)
|
|||||||
INCLUDE_DIRECTORIES(${MediaServer_Root}/libmov/include)
|
INCLUDE_DIRECTORIES(${MediaServer_Root}/libmov/include)
|
||||||
INCLUDE_DIRECTORIES(${MediaServer_Root}/libflv/include)
|
INCLUDE_DIRECTORIES(${MediaServer_Root}/libflv/include)
|
||||||
INCLUDE_DIRECTORIES(${MediaServer_Root}/librtp/include)
|
INCLUDE_DIRECTORIES(${MediaServer_Root}/librtp/include)
|
||||||
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/3rdpart)
|
||||||
|
|
||||||
set(ENABLE_HLS true)
|
set(ENABLE_HLS true)
|
||||||
set(ENABLE_OPENSSL true)
|
set(ENABLE_OPENSSL true)
|
||||||
|
@ -295,3 +295,10 @@ const string kBenchmarkMode = "benchmark_mode";
|
|||||||
} // namespace mediakit
|
} // namespace mediakit
|
||||||
|
|
||||||
|
|
||||||
|
void Assert_Throw(int failed, const char *exp, const char *func, const char *file, int line){
|
||||||
|
if(failed) {
|
||||||
|
_StrPrinter printer;
|
||||||
|
printer << "Assertion failed: (" << exp << "), function " << func << ", file " << file << ", line " << line << ".";
|
||||||
|
throw std::runtime_error(printer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user