diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md index 887d0bb14..864e563f0 100644 --- a/trunk/doc/CHANGELOG.md +++ b/trunk/doc/CHANGELOG.md @@ -7,6 +7,7 @@ The changelog for SRS. ## SRS 5.0 Changelog +* v5.0, 2023-12-14, Merge [#3910](https://github.com/ossrs/srs/pull/3910): RTC: Support OPUS stereo SDP option. v5.0.203 (#3910) * v5.0, 2023-12-14, Merge [#3902](https://github.com/ossrs/srs/pull/3902): Security: Support IP whitelist for HTTP-FLV, HLS, WebRTC, and SRT. v5.0.202 (#3902) * v5.0, 2023-11-22, Merge [#3891](https://github.com/ossrs/srs/pull/3891): fix 'sed' error in options.sh. v5.0.201 (#3891) * v5.0, 2023-11-19, Merge [#3886](https://github.com/ossrs/srs/pull/3886): Change the hls_aof_ratio to 2.1. v5.0.200 (#3886) diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index bf2990cb9..bbcb5fcdd 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -1979,6 +1979,7 @@ SrsAudioPayload::SrsAudioPayload(uint8_t pt, std::string encode_name, int sample channel_ = channel; opus_param_.minptime = 0; opus_param_.use_inband_fec = false; + opus_param_.stereo = false; opus_param_.usedtx = false; } @@ -2020,6 +2021,9 @@ SrsMediaPayloadType SrsAudioPayload::generate_media_payload_type() if (opus_param_.use_inband_fec) { format_specific_param << ";useinbandfec=1"; } + if (opus_param_.stereo) { + format_specific_param << ";stereo=1"; + } if (opus_param_.usedtx) { format_specific_param << ";usedtx=1"; } @@ -2039,6 +2043,8 @@ srs_error_t SrsAudioPayload::set_opus_param_desc(std::string fmtp) opus_param_.minptime = (int)::atol(kv[1].c_str()); } else if (kv[0] == "useinbandfec") { opus_param_.use_inband_fec = (kv[1] == "1") ? true : false; + } else if (kv[0] == "stereo") { + opus_param_.stereo = (kv[1] == "1") ? true : false; } else if (kv[0] == "usedtx") { opus_param_.usedtx = (kv[1] == "1") ? true : false; } diff --git a/trunk/src/app/srs_app_rtc_source.hpp b/trunk/src/app/srs_app_rtc_source.hpp index 7f702ff2e..b066f0fb9 100644 --- a/trunk/src/app/srs_app_rtc_source.hpp +++ b/trunk/src/app/srs_app_rtc_source.hpp @@ -383,11 +383,13 @@ class SrsAudioPayload : public SrsCodecPayload { int minptime; bool use_inband_fec; + bool stereo; bool usedtx; SrsOpusParameter() { minptime = 0; use_inband_fec = false; + stereo = false; usedtx = false; } }; diff --git a/trunk/src/core/srs_core_version5.hpp b/trunk/src/core/srs_core_version5.hpp index c59a6c1f8..d6693bdc8 100644 --- a/trunk/src/core/srs_core_version5.hpp +++ b/trunk/src/core/srs_core_version5.hpp @@ -1,5 +1,5 @@ // -// Copyright (c) 2023-2023 The SRS Authors +// Copyright (c) 2033-2033 The SRS Authors // // SPDX-License-Identifier: MIT or MulanPSL-2.0 // @@ -9,6 +9,6 @@ #define VERSION_MAJOR 5 #define VERSION_MINOR 0 -#define VERSION_REVISION 202 +#define VERSION_REVISION 203 #endif