diff --git a/CHANGELOG.md b/CHANGELOG.md index bfd05672c..973b1fedc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ The changelog for SRS. ## SRS 4.0 Changelog +* v4.0, 2021-08-14, RTC: Merge [#2533](https://github.com/ossrs/srs/pull/2533), fix SDP comparison bug. 4.0.154 * v4.0, 2021-08-13, RTC: Merge [#2526](https://github.com/ossrs/srs/pull/2526), fix codec issue for G.711 or H.263. 4.0.152 * v4.0, 2021-08-10, RTC: Merge [#2509](https://github.com/ossrs/srs/pull/2514), support http hooks n_play/stop/publish/unpublish. 4.0.151 * v4.0, 2021-08-07, Merge [#2514](https://github.com/ossrs/srs/pull/2514), Get original client ip instead of proxy ip, for rtc api #2514. 4.0.150 diff --git a/trunk/src/app/srs_app_rtc_sdp.cpp b/trunk/src/app/srs_app_rtc_sdp.cpp index e9e549393..fbaa70111 100644 --- a/trunk/src/app/srs_app_rtc_sdp.cpp +++ b/trunk/src/app/srs_app_rtc_sdp.cpp @@ -145,7 +145,7 @@ srs_error_t SrsSessionInfo::encode(std::ostringstream& os) return err; } -bool SrsSessionInfo::operator=(const SrsSessionInfo& rhs) +bool SrsSessionInfo::operator==(const SrsSessionInfo& rhs) { return ice_ufrag_ == rhs.ice_ufrag_ && ice_pwd_ == rhs.ice_pwd_ && @@ -155,6 +155,16 @@ bool SrsSessionInfo::operator=(const SrsSessionInfo& rhs) setup_ == rhs.setup_; } +SrsSessionInfo &SrsSessionInfo::operator=(SrsSessionInfo other) { + std::swap(ice_ufrag_, other.ice_ufrag_); + std::swap(ice_pwd_, other.ice_pwd_); + std::swap(ice_options_, other.ice_options_); + std::swap(fingerprint_algo_, other.fingerprint_algo_); + std::swap(fingerprint_, other.fingerprint_); + std::swap(setup_, other.setup_); + return *this; +} + SrsSSRCInfo::SrsSSRCInfo() { ssrc_ = 0; diff --git a/trunk/src/app/srs_app_rtc_sdp.hpp b/trunk/src/app/srs_app_rtc_sdp.hpp index 4484bfdc8..52cff2656 100644 --- a/trunk/src/app/srs_app_rtc_sdp.hpp +++ b/trunk/src/app/srs_app_rtc_sdp.hpp @@ -36,7 +36,9 @@ public: srs_error_t parse_attribute(const std::string& attribute, const std::string& value); srs_error_t encode(std::ostringstream& os); - bool operator=(const SrsSessionInfo& rhs); + bool operator==(const SrsSessionInfo& rhs); + // user-defined copy assignment (copy-and-swap idiom) + SrsSessionInfo& operator=(SrsSessionInfo other); public: std::string ice_ufrag_; std::string ice_pwd_; diff --git a/trunk/src/core/srs_core_version4.hpp b/trunk/src/core/srs_core_version4.hpp index a68ea7de4..f55277c86 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 153 +#define VERSION_REVISION 154 #endif