mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-07-05 10:58:11 +08:00
简化事件参数
This commit is contained in:
@@ -86,12 +86,7 @@ void MediaSource::setTrackSource(const std::weak_ptr<TrackSource> &track_src) {
|
||||
if (!strongPtr) {
|
||||
return;
|
||||
}
|
||||
NoticeCenter::Instance().emitEvent(Broadcast::kBroadcastMediaResetTracks,
|
||||
_strSchema,
|
||||
_strVhost,
|
||||
_strApp,
|
||||
_strId,
|
||||
*this);
|
||||
NoticeCenter::Instance().emitEvent(Broadcast::kBroadcastMediaResetTracks, *this);
|
||||
},false);
|
||||
}
|
||||
|
||||
@@ -228,7 +223,11 @@ void findAsync_l(const MediaInfo &info,
|
||||
return;
|
||||
}
|
||||
|
||||
if(!bRegist || schema != info._schema || vhost != info._vhost || app != info._app ||stream != info._streamid){
|
||||
if (!bRegist ||
|
||||
sender.getSchema() != info._schema ||
|
||||
sender.getVhost() != info._vhost ||
|
||||
sender.getApp() != info._app ||
|
||||
sender.getId() != info._streamid) {
|
||||
//不是自己感兴趣的事件,忽略之
|
||||
return;
|
||||
}
|
||||
@@ -312,13 +311,7 @@ void MediaSource::regist() {
|
||||
if (!strongPtr) {
|
||||
return;
|
||||
}
|
||||
NoticeCenter::Instance().emitEvent(Broadcast::kBroadcastMediaChanged,
|
||||
true,
|
||||
_strSchema,
|
||||
_strVhost,
|
||||
_strApp,
|
||||
_strId,
|
||||
*this);
|
||||
NoticeCenter::Instance().emitEvent(Broadcast::kBroadcastMediaChanged, true, *this);
|
||||
},false);
|
||||
}
|
||||
bool MediaSource::unregist() {
|
||||
@@ -341,13 +334,7 @@ bool MediaSource::unregist() {
|
||||
}
|
||||
void MediaSource::unregisted(){
|
||||
InfoL << "" << _strSchema << " " << _strVhost << " " << _strApp << " " << _strId;
|
||||
NoticeCenter::Instance().emitEvent(Broadcast::kBroadcastMediaChanged,
|
||||
false,
|
||||
_strSchema,
|
||||
_strVhost,
|
||||
_strApp,
|
||||
_strId,
|
||||
*this);
|
||||
NoticeCenter::Instance().emitEvent(Broadcast::kBroadcastMediaChanged, false, *this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -69,11 +69,11 @@ namespace Broadcast {
|
||||
|
||||
//注册或反注册MediaSource事件广播
|
||||
extern const string kBroadcastMediaChanged;
|
||||
#define BroadcastMediaChangedArgs const bool &bRegist, const string &schema,const string &vhost,const string &app,const string &stream,MediaSource &sender
|
||||
#define BroadcastMediaChangedArgs const bool &bRegist, MediaSource &sender
|
||||
|
||||
//MediaSource重置Track事件
|
||||
extern const string kBroadcastMediaResetTracks;
|
||||
#define BroadcastMediaResetTracksArgs const string &schema,const string &vhost,const string &app,const string &stream,MediaSource &sender
|
||||
#define BroadcastMediaResetTracksArgs MediaSource &sender
|
||||
|
||||
//录制mp4文件成功后广播
|
||||
extern const string kBroadcastRecordMP4;
|
||||
|
||||
@@ -221,13 +221,13 @@ private:
|
||||
_notice_center = NoticeCenter::Instance().shared_from_this();
|
||||
_notice_center->addListener(this,Broadcast::kBroadcastMediaChanged,[this](BroadcastMediaChangedArgs){
|
||||
if(bRegist){
|
||||
onRegist(schema,vhost,app,stream,sender);
|
||||
onRegist(sender);
|
||||
}else{
|
||||
onUnRegist(schema,vhost,app,stream,sender);
|
||||
onUnRegist(sender);
|
||||
}
|
||||
});
|
||||
_notice_center->addListener(this,Broadcast::kBroadcastMediaResetTracks,[this](BroadcastMediaResetTracksArgs){
|
||||
onRegist(schema,vhost,app,stream,sender);
|
||||
onRegist(sender);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -236,8 +236,8 @@ private:
|
||||
_notice_center->delListener(this,Broadcast::kBroadcastMediaResetTracks);
|
||||
}
|
||||
|
||||
void onRegist(const string &schema,const string &vhost,const string &app,const string &stream,MediaSource &sender){
|
||||
auto key = getRecorderKey(vhost,app,stream);
|
||||
void onRegist(MediaSource &sender){
|
||||
auto key = getRecorderKey(sender.getVhost(),sender.getApp(),sender.getId());
|
||||
lock_guard<decltype(_recorder_mtx)> lck(_recorder_mtx);
|
||||
auto it = _recorder_map.find(key);
|
||||
if(it == _recorder_map.end()){
|
||||
@@ -245,20 +245,20 @@ private:
|
||||
return;
|
||||
}
|
||||
|
||||
if(!it->second->isRecording() || it->second->getSchema() == schema){
|
||||
if(!it->second->isRecording() || it->second->getSchema() == sender.getSchema()){
|
||||
// 绑定的协议一致或者并未正在录制则替换tracks
|
||||
auto tracks = sender.getTracks(true);
|
||||
if (!tracks.empty()) {
|
||||
it->second->attachTracks(std::move(tracks),schema);
|
||||
it->second->attachTracks(std::move(tracks),sender.getSchema());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void onUnRegist(const string &schema,const string &vhost,const string &app,const string &stream,MediaSource &sender){
|
||||
auto key = getRecorderKey(vhost,app,stream);
|
||||
void onUnRegist(MediaSource &sender){
|
||||
auto key = getRecorderKey(sender.getVhost(),sender.getApp(),sender.getId());
|
||||
lock_guard<decltype(_recorder_mtx)> lck(_recorder_mtx);
|
||||
auto it = _recorder_map.find(key);
|
||||
if(it == _recorder_map.end() || it->second->getSchema() != schema){
|
||||
if(it == _recorder_map.end() || it->second->getSchema() != sender.getSchema()){
|
||||
// 录像记录不存在或绑定的协议不一致
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user