diff --git a/src/Common/MultiMediaSourceMuxer.cpp b/src/Common/MultiMediaSourceMuxer.cpp index 4493a8fe..992d6ff1 100644 --- a/src/Common/MultiMediaSourceMuxer.cpp +++ b/src/Common/MultiMediaSourceMuxer.cpp @@ -513,6 +513,18 @@ EventPoller::Ptr MultiMediaSourceMuxer::getOwnerPoller(MediaSource &sender) { } } +bool MultiMediaSourceMuxer::close(MediaSource &sender) { + _rtmp = nullptr; + _rtsp = nullptr; + _fmp4 = nullptr; + _ts = nullptr; + _mp4 = nullptr; + _hls = nullptr; + _hls_fmp4 = nullptr; + _rtp_sender.clear(); + return true; +} + std::shared_ptr MultiMediaSourceMuxer::getMuxer(MediaSource &sender) const { return const_cast(this)->shared_from_this(); } diff --git a/src/Common/MultiMediaSourceMuxer.h b/src/Common/MultiMediaSourceMuxer.h index 16aba668..58de6a06 100644 --- a/src/Common/MultiMediaSourceMuxer.h +++ b/src/Common/MultiMediaSourceMuxer.h @@ -181,6 +181,12 @@ public: * [AUTO-TRANSLATED:a4dc847e] */ toolkit::EventPoller::Ptr getOwnerPoller(MediaSource &sender) override; + + /** + * 关闭流 + * @return 是否成功 + */ + bool close(MediaSource &sender) override; /** * 获取本对象