mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-26 20:47:08 +08:00
修正不使用resetWhenReplay选项时, MediaSource会重复注册的问题 (#1330)
This commit is contained in:
parent
80d24d2884
commit
a441168004
@ -419,7 +419,8 @@ void MediaSource::regist() {
|
|||||||
//减小互斥锁临界区
|
//减小互斥锁临界区
|
||||||
lock_guard<recursive_mutex> lock(s_media_source_mtx);
|
lock_guard<recursive_mutex> lock(s_media_source_mtx);
|
||||||
auto &ref = s_media_source_map[_schema][_vhost][_app][_stream_id];
|
auto &ref = s_media_source_map[_schema][_vhost][_app][_stream_id];
|
||||||
if (ref.lock()) {
|
// 增加判断, 防止当前流已注册时再次注册
|
||||||
|
if (ref.lock() && ref.lock().get() != this) {
|
||||||
throw std::invalid_argument("media source already existed:" + _schema + "/" + _vhost + "/" + _app + "/" + _stream_id);
|
throw std::invalid_argument("media source already existed:" + _schema + "/" + _vhost + "/" + _app + "/" + _stream_id);
|
||||||
}
|
}
|
||||||
ref = shared_from_this();
|
ref = shared_from_this();
|
||||||
|
Loading…
Reference in New Issue
Block a user