整理媒体事件相关代码,删除无须重载时的多余代码逻辑

This commit is contained in:
xiongzilaing
2022-08-28 17:25:56 +08:00
committed by ziyue
parent 67ad2a49c3
commit 679c79802f
23 changed files with 48 additions and 103 deletions

View File

@@ -88,6 +88,7 @@ const std::string &MultiMediaSourceMuxer::getStreamId() const {
}
MultiMediaSourceMuxer::MultiMediaSourceMuxer(const string &vhost, const string &app, const string &stream, float dur_sec, const ProtocolOption &option) {
_poller = EventPollerPool::Instance().getPoller();
_vhost = vhost;
_app = app;
_stream_id = stream;
@@ -187,7 +188,12 @@ int MultiMediaSourceMuxer::totalReaderCount(MediaSource &sender) {
if (!listener) {
return totalReaderCount();
}
return listener->totalReaderCount(sender);
try {
return listener->totalReaderCount(sender);
} catch (MediaSourceEvent::NotImplemented &) {
//listener未重载totalReaderCount
return totalReaderCount();
}
}
//此函数可能跨线程调用
@@ -290,6 +296,19 @@ vector<Track::Ptr> MultiMediaSourceMuxer::getMediaTracks(MediaSource &sender, bo
return getTracks(trackReady);
}
EventPoller::Ptr MultiMediaSourceMuxer::getOwnerPoller(MediaSource &sender) {
auto listener = getDelegate();
if (!listener) {
return _poller;
}
try {
return listener->getOwnerPoller(sender);
} catch (MediaSourceEvent::NotImplemented &) {
// listener未重载getOwnerPoller
return _poller;
}
}
bool MultiMediaSourceMuxer::onTrackReady(const Track::Ptr &track) {
if (CodecL16 == track->getCodecId()) {
WarnL << "L16音频格式目前只支持RTSP协议推流拉流!!!";