From abacd680ba989a2f997ce5ae34067a6b629c5103 Mon Sep 17 00:00:00 2001 From: winlin Date: Thu, 30 Oct 2025 19:29:03 -0400 Subject: [PATCH] WebRTC: Use realtime for TWCC timestamp accuracy. v7.0.114 --- trunk/doc/CHANGELOG.md | 1 + trunk/src/app/srs_app_rtc_conn.cpp | 9 ++++----- trunk/src/core/srs_core_version7.hpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md index 9a1a09f98..0a623f25f 100644 --- a/trunk/doc/CHANGELOG.md +++ b/trunk/doc/CHANGELOG.md @@ -7,6 +7,7 @@ The changelog for SRS. ## SRS 7.0 Changelog +* v7.0, 2025-10-30, WebRTC: Use realtime for TWCC timestamp accuracy. v7.0.114 * v7.0, 2025-10-30, AI: HLS: Fix crash when segment is not open by adding NULL checks. v7.0.113 (#3431) * v7.0, 2025-10-29, AI: AAC: Fix mono audio reported as stereo in HTTP API. v7.0.112 (#3556) * v7.0, 2025-10-27, HLS/DASH: Skip unpublish if disabled; add protection in SrsPath::unlink. v7.0.111 diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index 5b6f2bad6..3036d708d 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -1532,7 +1532,10 @@ srs_error_t SrsRtcPublishStream::on_twcc(uint16_t sn) { srs_error_t err = srs_success; - srs_utime_t now = srs_time_now_cached(); + // To get more accurate timestamp, and avoid deviation caused by coroutine scheduler, + // we use realtime for TWCC. + srs_utime_t now = srs_time_now_realtime(); + err = rtcp_twcc_->recv_packet(sn, now); return err; @@ -1584,10 +1587,6 @@ srs_error_t SrsRtcPublishStream::on_rtp_plaintext(char *plaintext, int nb_plaint { srs_error_t err = srs_success; - if (_srs_blackhole->blackhole_) { - _srs_blackhole->sendto(plaintext, nb_plaintext); - } - // Allocate packet form cache. SrsRtpPacket *pkt = new SrsRtpPacket(); diff --git a/trunk/src/core/srs_core_version7.hpp b/trunk/src/core/srs_core_version7.hpp index f1ec28521..4a15376a6 100644 --- a/trunk/src/core/srs_core_version7.hpp +++ b/trunk/src/core/srs_core_version7.hpp @@ -9,6 +9,6 @@ #define VERSION_MAJOR 7 #define VERSION_MINOR 0 -#define VERSION_REVISION 113 +#define VERSION_REVISION 114 #endif \ No newline at end of file