From 6f9531c5fa570aaca665e71fbc85e0e7f62ac5b7 Mon Sep 17 00:00:00 2001 From: xia-chu <771730766@qq.com> Date: Sun, 3 May 2026 12:04:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dmp4=5Fas=5Fplayer=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=BA1=E6=97=B6=EF=BC=8Con=5Fstream=5Fnone=5Freade?= =?UTF-8?q?r=E5=9B=9E=E8=B0=83=E6=97=A0=E6=95=88=E6=B5=81=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=9A=84=E9=97=AE=E9=A2=98=20(#4725)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Common/MediaSource.cpp | 6 +++--- src/Common/MediaSource.h | 3 ++- src/Common/MultiMediaSourceMuxer.cpp | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Common/MediaSource.cpp b/src/Common/MediaSource.cpp index f1f210bd..8b7a1b61 100644 --- a/src/Common/MediaSource.cpp +++ b/src/Common/MediaSource.cpp @@ -67,12 +67,12 @@ ProtocolOption::ProtocolOption() { ////////////////////////////////////////////////////////////////////////////////////////////////////////////// struct MediaSourceNull : public MediaSource { - MediaSourceNull() : MediaSource("schema", MediaTuple{"vhost", "app", "stream", ""}) {}; + MediaSourceNull(const MediaTuple &tuple) : MediaSource("schema", tuple) {}; int readerCount() override { return 0; } }; -MediaSource &MediaSource::NullMediaSource() { - static std::shared_ptr s_null = std::make_shared(); +MediaSource &MediaSource::NullMediaSource(const MediaTuple &tuple) { + static std::shared_ptr s_null = std::make_shared(tuple); return *s_null; } diff --git a/src/Common/MediaSource.h b/src/Common/MediaSource.h index fc7f77d2..621c859e 100644 --- a/src/Common/MediaSource.h +++ b/src/Common/MediaSource.h @@ -397,7 +397,8 @@ bool equalMediaTuple(const MediaTuple& a, const MediaTuple& b); */ class MediaSource: public TrackSource, public std::enable_shared_from_this { public: - static MediaSource& NullMediaSource(); + static MediaSource &NullMediaSource(const MediaTuple &tuple = {"vhost", "app", "stream" }); + using Ptr = std::shared_ptr; MediaSource(const std::string &schema, const MediaTuple& tuple); diff --git a/src/Common/MultiMediaSourceMuxer.cpp b/src/Common/MultiMediaSourceMuxer.cpp index 52a6705d..4c1f10eb 100644 --- a/src/Common/MultiMediaSourceMuxer.cpp +++ b/src/Common/MultiMediaSourceMuxer.cpp @@ -319,7 +319,7 @@ bool MultiMediaSourceMuxer::setupRecord(Recorder::type type, bool start, const s if (_option.mp4_as_player && type == Recorder::type_mp4) { // 开启关闭mp4录制,触发观看人数变化相关事件 [AUTO-TRANSLATED:b63a8deb] // Turn on/off mp4 recording, trigger events related to changes in the number of viewers - onReaderChanged(MediaSource::NullMediaSource(), totalReaderCount()); + onReaderChanged(MediaSource::NullMediaSource(_tuple), totalReaderCount()); } }); switch (type) {