From 6e485ad31aedaed173322b20aac32182c91dcf9f Mon Sep 17 00:00:00 2001 From: ShineSea <50630163+ShineSea@users.noreply.github.com> Date: Thu, 22 Jan 2026 16:31:05 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(RtpSender):=20=E4=BF=AE=E5=A4=8D=20SSRC?= =?UTF-8?q?=20=E8=A7=A3=E6=9E=90=E6=BA=A2=E5=87=BA=E9=97=AE=E9=A2=98=20(#4?= =?UTF-8?q?646)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Rtp/RtpSender.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Rtp/RtpSender.cpp b/src/Rtp/RtpSender.cpp index fb142862..3ae929e7 100644 --- a/src/Rtp/RtpSender.cpp +++ b/src/Rtp/RtpSender.cpp @@ -51,9 +51,9 @@ void RtpSender::startSend(const MediaSourceEvent &sender, const MediaSourceEvent // Do not recreate the object when reconnecting auto lam = [this](std::shared_ptr> list) { onFlushRtpList(std::move(list)); }; switch (args.data_type) { - case MediaSourceEvent::SendRtpArgs::kRtpPS: _interface = std::make_shared(lam, atoi(args.ssrc.data()), args.pt, true); break; - case MediaSourceEvent::SendRtpArgs::kRtpTS: _interface = std::make_shared(lam, atoi(args.ssrc.data()), args.pt, false); break; - case MediaSourceEvent::SendRtpArgs::kRtpES: _interface = std::make_shared(lam, atoi(args.ssrc.data()), args.pt, args.only_audio); break; + case MediaSourceEvent::SendRtpArgs::kRtpPS: _interface = std::make_shared(lam, stoll(args.ssrc), args.pt, true); break; + case MediaSourceEvent::SendRtpArgs::kRtpTS: _interface = std::make_shared(lam, stoll(args.ssrc), args.pt, false); break; + case MediaSourceEvent::SendRtpArgs::kRtpES: _interface = std::make_shared(lam, stoll(args.ssrc), args.pt, args.only_audio); break; default: CHECK(0, "invalid rtp type: " + to_string(args.data_type)); break; } } @@ -386,7 +386,7 @@ void RtpSender::onSendRtpUdp(const toolkit::Buffer::Ptr &buf, bool check) { _rtcp_send_ticker.resetTime(); // rtcp ssrcä¸ērtp ssrc + 1 [AUTO-TRANSLATED:318fada3] // rtcp ssrc is rtp ssrc + 1 - auto sr = _rtcp_context->createRtcpSR(atoi(_args.ssrc.data()) + 1); + auto sr = _rtcp_context->createRtcpSR(stoll(_args.ssrc) + 1); // send sender report rtcp _socket_rtcp->send(sr); } From da9deb352c39f51fc018c465428486d9dd74d228 Mon Sep 17 00:00:00 2001 From: xia-chu <771730766@qq.com> Date: Sat, 24 Jan 2026 23:57:36 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E6=9F=90=E4=BA=9Brtsp?= =?UTF-8?q?=E6=B5=81sdp=E4=B8=ADaac=20config=E4=B8=8D=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E7=9A=84bug=20(#4642)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ext-codec/AAC.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ext-codec/AAC.cpp b/ext-codec/AAC.cpp index b6cc8a61..1a406c9b 100644 --- a/ext-codec/AAC.cpp +++ b/ext-codec/AAC.cpp @@ -396,6 +396,12 @@ Track::Ptr getTrackBySdp(const SdpTrack::Ptr &track) { // If aac config information cannot be obtained from sdp, then it cannot be obtained from rtp either, so ignore this Track return nullptr; } + while (aac_cfg_str.size() < 4) { + aac_cfg_str = '0' + aac_cfg_str; + } + if (aac_cfg_str.size() > 4) { + aac_cfg_str = aac_cfg_str.substr(0, 4); + } string aac_cfg; for (size_t i = 0; i < aac_cfg_str.size() / 2; ++i) { unsigned int cfg;