From 1c80b529f88c7e1f3d90415e3c6e67bce2225b02 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 24 Jul 2021 08:20:05 +0800 Subject: [PATCH 1/2] Squash: Merge SRS 4.0 --- CHANGELOG.md | 1 + trunk/src/core/srs_core_version4.hpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0862267ad..c5cf73851 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ The changelog for SRS. ## SRS 4.0 Changelog +* v4.0, 2021-07-24, Merge [#2483](https://github.com/ossrs/srs/pull/2483), RTC: Support statistic for HTTP-API, HTTP-Callback and Security. 4.0.144 * v4.0, 2021-07-21, Merge [#2474](https://github.com/ossrs/srs/pull/2474), SRT: Use thread-safe log for multiple-threading SRT module. 4.0.143 * v4.0, 2021-07-17, Fix bugs and enhance code. 4.0.142 * v4.0, 2021-07-16, Support [CLion and cmake](https://github.com/ossrs/srs/wiki/v4_CN_IDE#clion) to build and debug SRS. 4.0.141 diff --git a/trunk/src/core/srs_core_version4.hpp b/trunk/src/core/srs_core_version4.hpp index 8ec29f75f..f827cde0f 100644 --- a/trunk/src/core/srs_core_version4.hpp +++ b/trunk/src/core/srs_core_version4.hpp @@ -9,6 +9,6 @@ #define VERSION_MAJOR 4 #define VERSION_MINOR 0 -#define VERSION_REVISION 143 +#define VERSION_REVISION 144 #endif From fb73d42c38d37d0a5911f86364a12feef5510d65 Mon Sep 17 00:00:00 2001 From: Haibo Chen <495810242@qq.com> Date: Sat, 24 Jul 2021 20:47:34 +0800 Subject: [PATCH 2/2] explicitly enable nack, for firefox (#2373) --- trunk/src/app/srs_app_rtc_conn.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index 3aa6f18e9..42e2d7a14 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -3114,6 +3114,10 @@ srs_error_t SrsRtcConnection::negotiate_play_capability(SrsRtcUserConfig* ruc, s // We should clear the extmaps of source(publisher). // @see https://github.com/ossrs/srs/issues/2370 track->extmaps_.clear(); + + // We should clear the rtcp_fbs of source(publisher). + // @see https://github.com/ossrs/srs/issues/2371 + track->media_->rtcp_fbs_.clear(); // Use remote/source/offer PayloadType. track->media_->pt_of_publisher_ = track->media_->pt_; @@ -3131,7 +3135,7 @@ srs_error_t SrsRtcConnection::negotiate_play_capability(SrsRtcUserConfig* ruc, s uint32_t publish_ssrc = track->ssrc_; vector rtcp_fb; - track->media_->rtcp_fbs_.swap(rtcp_fb); + remote_payload.rtcp_fb_.swap(rtcp_fb); for (int j = 0; j < (int)rtcp_fb.size(); j++) { if (nack_enabled) { if (rtcp_fb.at(j) == "nack" || rtcp_fb.at(j) == "nack pli") {