From fcdd7bd990f82d6540079613bee234ff7125ac56 Mon Sep 17 00:00:00 2001 From: "GW.J" Date: Mon, 13 Jul 2026 11:02:39 +0800 Subject: [PATCH] =?UTF-8?q?bugfix:=20MediaSource=20=E7=BB=8F=20listener->g?= =?UTF-8?q?etMuxer()=20=E7=9A=84=E7=A9=BA=E6=8C=87=E9=92=88=E7=AB=9E?= =?UTF-8?q?=E6=80=81=E5=B4=A9=E6=BA=83=20(#4775)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Common/MediaSource.cpp | 5 ++++- src/Common/MediaSource.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) 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; }