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

@ -4030,7 +4030,12 @@ int SrsConfig::get_rtc_server_listen()
std::string SrsConfig::get_rtc_server_candidates()
{
SRS_OVERWRITE_BY_ENV_STRING("srs.rtc_server.candidate"); // SRS_RTC_SERVER_CANDIDATE
// Note that the value content might be an environment variable.
std::string eval = srs_getenv("srs.rtc_server.candidate"); // SRS_RTC_SERVER_CANDIDATE
if (!eval.empty()) {
if (!srs_string_starts_with(eval, "$")) return eval;
SRS_OVERWRITE_BY_ENV_STRING(eval);
}
static string DEFAULT = "*";