From 92cbb1f072550be119569081c04b86adadd47209 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 7 Aug 2021 23:33:20 +0800 Subject: [PATCH 1/4] Refine code --- trunk/src/app/srs_app_latest_version.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/trunk/src/app/srs_app_latest_version.cpp b/trunk/src/app/srs_app_latest_version.cpp index bcaa26e87..0ec10f1d2 100644 --- a/trunk/src/app/srs_app_latest_version.cpp +++ b/trunk/src/app/srs_app_latest_version.cpp @@ -75,13 +75,15 @@ void srs_build_features(stringstream& ss) SrsConfDirective* conf = root->at(i); if (!rtsp && conf->is_stream_caster() && _srs_config->get_stream_caster_enabled(conf)) { - if (_srs_config->get_stream_caster_engine(conf) == "rtsp") { + string engine = _srs_config->get_stream_caster_engine(conf); + if (engine == "rtsp") { rtsp = true; } } if (conf->is_vhost() && _srs_config->get_vhost_enabled(conf)) { nn_vhosts++; + if (!forward && _srs_config->get_forward_enabled(conf)) { forward = true; } @@ -113,14 +115,19 @@ void srs_build_features(stringstream& ss) security = true; } - for (int j = 0; j < (int)conf->directives.size(); j++) { + for (int j = 0; j < (int)conf->directives.size() && j < 64; j++) { SrsConfDirective* prop = conf->directives.at(j); + if (!ingest && prop->name == "ingest" && _srs_config->get_ingest_enabled(prop)) { ingest = true; } if (!transcode && prop->name == "transcode" && _srs_config->get_transcode_enabled(prop)) { transcode = true; } + + if (ingest && transcode) { + break; + } } } } From c0487310499cc1333f7c61f39c1d42ede327c6fb Mon Sep 17 00:00:00 2001 From: Haibo Chen Date: Sat, 7 Aug 2021 23:37:18 +0800 Subject: [PATCH 2/4] Get original ip instead of proxy ip, for rtc api (#2514) v4.0.150 --- trunk/src/app/srs_app_rtc_api.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/trunk/src/app/srs_app_rtc_api.cpp b/trunk/src/app/srs_app_rtc_api.cpp index 1dac31a31..db2289284 100644 --- a/trunk/src/app/srs_app_rtc_api.cpp +++ b/trunk/src/app/srs_app_rtc_api.cpp @@ -14,7 +14,7 @@ #include #include #include - +#include #include #include using namespace std; @@ -96,6 +96,11 @@ srs_error_t SrsGoApiRtcPlay::do_serve_http(ISrsHttpResponseWriter* w, ISrsHttpMe } if (clientip.empty()) { clientip = dynamic_cast(r)->connection()->remote_ip(); + // Overwrite by ip from proxy. + string oip = srs_get_original_ip(r); + if (!oip.empty()) { + clientip = oip; + } } string api; @@ -314,6 +319,11 @@ srs_error_t SrsGoApiRtcPublish::do_serve_http(ISrsHttpResponseWriter* w, ISrsHtt } if (clientip.empty()){ clientip = dynamic_cast(r)->connection()->remote_ip(); + // Overwrite by ip from proxy. + string oip = srs_get_original_ip(r); + if (!oip.empty()) { + clientip = oip; + } } string api; From 42872e25008596398d45a02740b04a591ce2e176 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 7 Aug 2021 23:43:24 +0800 Subject: [PATCH 3/4] Release v4.0.150 dev2 --- CHANGELOG.md | 1 + README.md | 1 + trunk/src/core/srs_core_version4.hpp | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 741067d53..55b97588f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ The changelog for SRS. ## SRS 4.0 Changelog +* 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 * v4.0, 2021-08-07, Fix [#2508](https://github.com/ossrs/srs/pull/2508), Support features query by API. 4.0.149 * v4.0, 2021-07-25, Fix build failed. 4.0.146 * v4.0, 2021-07-24, Merge [#2373](https://github.com/ossrs/srs/pull/2373), RTC: Fix NACK negotiation bug for Firefox. 4.0.145 diff --git a/README.md b/README.md index 2ea592dd0..5671f1bf8 100755 --- a/README.md +++ b/README.md @@ -223,6 +223,7 @@ Please read [CHANGELOG](CHANGELOG.md#changelog). ## Releases +* 2020-08-07, Release [v4.0.150](https://github.com/ossrs/srs/releases/tag/v4.0.150), 4.0 dev2, v4.0.150, 145289 lines. * 2020-07-25, Release [v4.0.146](https://github.com/ossrs/srs/releases/tag/v4.0.146), 4.0 dev1, v4.0.146, 144026 lines. * 2020-07-04, Release [v4.0.139](https://github.com/ossrs/srs/releases/tag/v4.0.139), 4.0 dev0, v4.0.139, 143245 lines. * 2020-06-27, [Release v3.0-r0][r3.0r0], 3.0 release0, 3.0.141, 122674 lines. diff --git a/trunk/src/core/srs_core_version4.hpp b/trunk/src/core/srs_core_version4.hpp index e74d7a919..5735eb4e4 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 149 +#define VERSION_REVISION 150 #endif From 57f6eb09c168f17a5dcd0411a390ab93e3a051f0 Mon Sep 17 00:00:00 2001 From: winlin Date: Sun, 8 Aug 2021 00:24:01 +0800 Subject: [PATCH 4/4] Use 4.0 docker srs:4 --- README.md | 2 +- trunk/3rdparty/signaling/README.md | 2 +- trunk/3rdparty/srs-bench/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5671f1bf8..d8f6298ff 100755 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ please set the CANDIDATE ([CN][v4_CN_WebRTC#config-candidate],[EN][v4_EN_WebRTC# ```bash docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \ --env CANDIDATE=$(ifconfig en0 inet| grep 'inet '|awk '{print $2}') -p 8000:8000/udp \ - ossrs/srs:v4.0.139 ./objs/srs -c conf/srs.conf + ossrs/srs:4 ./objs/srs -c conf/srs.conf ``` diff --git a/trunk/3rdparty/signaling/README.md b/trunk/3rdparty/signaling/README.md index f20c724f9..b534457f0 100644 --- a/trunk/3rdparty/signaling/README.md +++ b/trunk/3rdparty/signaling/README.md @@ -9,7 +9,7 @@ WebRTC signaling for https://github.com/ossrs/srs ```bash docker run --rm --env CANDIDATE=$(ifconfig en0 inet| grep 'inet '|awk '{print $2}') \ -p 1935:1935 -p 8080:8080 -p 1985:1985 -p 8000:8000/udp \ - registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.95 \ + registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4 \ objs/srs -c conf/rtc.conf ``` diff --git a/trunk/3rdparty/srs-bench/README.md b/trunk/3rdparty/srs-bench/README.md index d45820cc8..9fb5ff9ca 100644 --- a/trunk/3rdparty/srs-bench/README.md +++ b/trunk/3rdparty/srs-bench/README.md @@ -105,7 +105,7 @@ ffmpeg -re -i doc/source.200kbps.768x320.flv -c copy -f flv -y rtmp://localhost/ if [[ ! -z $(ifconfig en0 inet| grep 'inet '|awk '{print $2}') ]]; then docker run -p 1935:1935 -p 8080:8080 -p 1985:1985 -p 8000:8000/udp \ --rm --env CANDIDATE=$(ifconfig en0 inet| grep 'inet '|awk '{print $2}')\ - registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.76 objs/srs -c conf/rtc.conf + registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4 objs/srs -c conf/rtc.conf fi ```