1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

WebRTC: Support configure CANDIDATE by env (#3470)

In dockerfile, we can set the default RTC candidate to env:

```
ENV SRS_RTC_SERVER_CANDIDATE=\$CANDIDATE
CMD ["./objs/srs", "-e"]
```

When starts a docker container, user can setup the candidate by env:

```
docker run --rm -it --env CANDIDATE=1.2.3.4 ossrs/srs:5
```

We should parse the content of SRS_RTC_SERVER_CANDIDATE as env variable name and parse it again.

---------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
This commit is contained in:
Winlin 2023-03-27 19:24:08 +08:00 committed by GitHub
parent b574ad1a07
commit b34255c3d0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 43 additions and 4 deletions

View file

@ -4311,6 +4311,23 @@ VOID TEST(ConfigEnvTest, CheckEnvValuesRtcServer)
SrsSetEnvConfig(rtc_server_black_hole_addr, "SRS_RTC_SERVER_BLACK_HOLE_ADDR", "xxx");
EXPECT_STREQ("xxx", conf.get_rtc_server_black_hole_addr().c_str());
}
if (true) {
MockSrsConfig conf;
SrsSetEnvConfig(rtc_server_candidates, "SRS_RTC_SERVER_CANDIDATE", "192.168.0.1");
EXPECT_STREQ("192.168.0.1", conf.get_rtc_server_candidates().c_str());
SrsSetEnvConfig(rtc_server_candidates2, "SRS_RTC_SERVER_CANDIDATE", "MY_CANDIDATE");
EXPECT_STREQ("MY_CANDIDATE", conf.get_rtc_server_candidates().c_str());
SrsSetEnvConfig(rtc_server_candidates3, "SRS_RTC_SERVER_CANDIDATE", "$MY_CANDIDATE");
EXPECT_STREQ("*", conf.get_rtc_server_candidates().c_str());
SrsSetEnvConfig(candidates, "MY_CANDIDATE", "192.168.0.11");
SrsSetEnvConfig(rtc_server_candidates4, "SRS_RTC_SERVER_CANDIDATE", "$MY_CANDIDATE");
EXPECT_STREQ("192.168.0.11", conf.get_rtc_server_candidates().c_str());
}
}
VOID TEST(ConfigEnvTest, CheckEnvValuesVhostRtc)