diff --git a/src/Common/MediaSource.cpp b/src/Common/MediaSource.cpp index 659c157c..e9575374 100644 --- a/src/Common/MediaSource.cpp +++ b/src/Common/MediaSource.cpp @@ -238,7 +238,10 @@ toolkit::EventPoller::Ptr MediaSource::getOwnerPoller() { std::shared_ptr MediaSource::getMuxer() const { auto listener = _listener.lock(); - return listener ? listener->getMuxer(const_cast(*this)) : nullptr; + if (listener) { + return listener->getMuxer(const_cast(*this)); + } + throw std::runtime_error("MediaSourceEvent is empty"); } std::shared_ptr MediaSource::getRtpProcess() const { diff --git a/src/Common/MediaSource.h b/src/Common/MediaSource.h index fc7f77d2..591215c2 100644 --- a/src/Common/MediaSource.h +++ b/src/Common/MediaSource.h @@ -96,7 +96,7 @@ public: // 获取MultiMediaSourceMuxer对象 [AUTO-TRANSLATED:2de96d44] // Get MultiMediaSourceMuxer object - virtual std::shared_ptr getMuxer(MediaSource &sender) const { return nullptr; } + virtual std::shared_ptr getMuxer(MediaSource &sender) const { throw NotImplemented(toolkit::demangle(typeid(*this).name()) + "::getMuxer not implemented"); } // 获取RtpProcess对象 [AUTO-TRANSLATED:c6b7da43] // Get RtpProcess object virtual std::shared_ptr getRtpProcess(MediaSource &sender) const { return nullptr; }