新增Assert异常类型,解决国标重复推流不注销问题 (#2393)

Co-authored-by: wangcheng <wangcheng@xwmail.com>
Co-authored-by: xia-chu <771730766@qq.com>
This commit is contained in:
王成 2023-04-14 15:10:48 +08:00 committed by GitHub
parent 24eaaf68fb
commit 3a6f660619
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 2 deletions

View File

@ -26,7 +26,7 @@ void Assert_Throw(int failed, const char *exp, const char *func, const char *fil
printer << ", " << str;
}
printer << "), function " << func << ", file " << file << ", line " << line << ".";
throw std::runtime_error(printer);
throw mediakit::AssertFailedException(printer);
}
}
}

View File

@ -80,6 +80,13 @@ extern void Assert_Throw(int failed, const char *exp, const char *func, const ch
namespace mediakit {
class AssertFailedException : public std::runtime_error {
public:
template<typename ...T>
AssertFailedException(T && ...args) : std::runtime_error(std::forward<T>(args)...) {}
~AssertFailedException() override = default;
};
extern const char kServerName[];
template <typename... ARGS>

View File

@ -63,7 +63,7 @@ const char *PSDecoder::onSearchPacketTail(const char *data, size_t len) {
//解析失败,丢弃所有数据
return data + len;
} catch (std::exception &ex) {
} catch (AssertFailedException &ex) {
InfoL << "解析 ps 异常: bytes=" << len
<< ", exception=" << ex.what()
<< ", hex=" << hexdump(data, MIN(len, 32));