1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-12 19:31:53 +00:00
Commit graph

654 commits

Author SHA1 Message Date
Haibo Chen
ef5d216dbc Enhancing the compatibility of options.sh. v5.0.204 (#3916)
Accommodate certain complex parameters that include the "=" character,
for example.
`configure --extra-flags="-O2 -D_FORTIFY_SOURCE=2"`

---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-12-30 09:13:01 +08:00
john
0808be18ad fix 'sed' error in options.sh. v5.0.201 (#3891)
The `-` character, when placed in the middle of a regular expression, is
interpreted as a range. It must be placed at the beginning or end to be
interpreted as a literal character.

---------

`TRANS_BY_GPT4`

---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-11-23 13:32:42 +08:00
Haibo Chen
4e4cce867b Support configure with --extra-ldflags. v5.0.199 (#3879)
1. add --extra-ldflags
2. support  commas in configure file
3. support link system library for utest

```
./configure --extra-ldflags=-Wl,-z,now
```
2023-11-15 17:45:26 +08:00
Haibo Chen
316f4641ac Don't compile libopus when enable sys-ffmpeg. v5.0.198 (#3851) 2023-11-06 14:54:13 +08:00
chundonglinlin
f1db76011b RTC: Refine FFmpeg opus audio noisy issue. v5.0.197 (#3852)
When converting between AAC and Opus formats (aac2opus or opus2aac), the
`av_frame_get_buffer` API is frequently called.

The goal is to optimize the code logic and reduce the frequent
allocation and deallocation of memory.

In the case of aac2opus, av_frame_get_buffer is still frequently called.
In the case of opus2aac, the goal is to avoid calling
av_frame_get_buffer and reduce memory allocations.

Before calling the `av_audio_fifo_read` API, use
`av_frame_make_writable` to check if the frame is writable. If it is not
writable, create a new frame.

---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-11-04 16:28:52 +08:00
chundonglinlin
35f479c6bc Support build without cache to test if actions fail. v5.0.196 (#3858)
By default, caching is enabled during compilation, which means that data
is cached in Docker. This helps to avoid compiling third-party
dependency libraries. However, sometimes when updating third-party
libraries, it's necessary to disable caching to temporarily verify if
the pipeline can succeed. Therefore, a configure option should be added.
When this option is enabled, the compilation cache will not be used, and
all third-party libraries will be compiled from scratch.

---------

Co-authored-by: winlin <winlinvip@gmail.com>
2023-11-01 17:49:51 +08:00
john
a9223ebe47 Added system library option for ffmpeg, srtp, srt libraries. v5.0.193 (#3846)
---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-10-20 22:35:18 +08:00
肖志宏
8b80566f78 Use new cache image name. v5.0.186 2023-10-08 21:13:47 +08:00
Haibo Chen
3ddacdb47b Build: Support sys-ssl for srt. v5.0.184 (#3806)
support sys-ssl for srt

---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-09-21 23:06:14 +08:00
john
21ae618c48 SRT: Log level to debug when no socket to accept. v5.0.180 (#3696) 2023-09-21 15:11:55 +08:00
Mr. Li
08147f81bf Bugfix: Eliminate the redundant declaration of the _srs_rtc_manager variable. v5.0.169 (#3699)
It is advised to eliminate any instances of _srs_rtc_manager that occur
multiple times.

---------

Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-07-26 20:17:23 +08:00
chundonglinlin
29271a46d3 Compile: Fix typo for 3rdparty. v5.0.166, v6.0.59 (#3615)
---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-07-10 08:22:34 +08:00
panda
3a14bb4620 Upgrade jquery from 1.10.2 to 1.12.2 (#3571)
---------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-06-30 06:29:50 +08:00
Haibo Chen
fbccdb92b7 Fix Permission Issue in depend.sh for OpenSSL Compilation. v5.0.160, v6.0.53 (#3592)
---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-06-20 15:32:38 +08:00
Winlin
fdaab863dc 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.

PICK b34255c3d0

---------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
2023-03-27 19:25:20 +08:00
Winlin
47aa42f1e2 Support configure for generic linux. v5.0.145, v6.0.32 (#3445)
If your OS is not CentOS, Ubuntu, macOS, cygwin64, run of configure will fail with:

```
Your OS Linux is not supported.
```

For other linux systems, we should support an option:

```
./configure --generic-linux=on
```

Please note that you might still fail for other issues while configuring or building.

PICK b31940a15a

-------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-03-07 19:12:06 +08:00
winlin
a27ce1d50f FFmpeg: Support build with FFmpeg native opus. v5.0.131 (#3140) 2023-01-06 17:44:00 +08:00
winlin
372390f8d1 Build: Refine install tips. 2023-01-06 17:43:41 +08:00
ChenGH
dd0f398296
Asan: Disable asan for CentOS and use statically link if possible. v5.0.127 (#3347) (#3352)
* Asan: Disable asan for CentOS and use statically link if possible. v5.0.127 (#3347)

1. Disable asan for all CentOS by default, however user could enable it.
2. Link asan statically if possible.

* Update version to v5.0.127

Co-authored-by: winlin <winlin@vip.126.com>
2023-01-02 14:57:47 +08:00
winlin
e690c93bcf Script: Refine depends tools. v5.0.124
1. Never auto install tools now, user should do it.
2. Support --help and --version for SRS.
3. Install tools for cygwin64.
2023-01-01 13:40:28 +08:00
winlin
7bdb7270cf Asan: Refine asan warning message for macOS. 2022-12-31 19:36:56 +08:00
winlin
4b09a7d686 Configure: Reorder the functions, nothing changed. 2022-12-31 12:22:06 +08:00
winlin
5559ac25fe Refine configure to guess OS automatically. v5.0.121
1. Guess for macOS and cygwin64.
2. Refine options for configure.
2022-12-31 12:22:06 +08:00
winlin
87a2ef100a Script: Discover version from code. 2022-12-28 14:32:18 +08:00
winlin
386bb41f63 Script: Fix configure help bug. 2022-12-26 16:03:13 +08:00
winlin
37867533cd MP3: Convert RTMP(MP3) to WebRTC(OPUS). v5.0.118 (#296) (#3340) 2022-12-26 13:24:07 +08:00
winlin
23b7939574 Actions: Fix GitHub actions warnings. 2022-12-25 20:19:20 +08:00
chengh
8be4c8e334 Asan: Set asan loging callback. v5.0.104 2022-12-04 22:24:37 +08:00
winlin
e86e0c8999 Disable CLS and APM by default. v5.0.101 2022-12-03 18:35:41 +08:00
winlin
4ada0bc629 Asan: Cleanup for testing for asan. 2022-11-22 12:26:05 +08:00
Winlin
b72ad85502
Asan: Check libasan and show tips. v5.0.92 (#3266) 2022-11-22 10:40:18 +08:00
winlin
b9284b6cc6 Windows: Support cygwin cache for test. (#3259) 2022-11-20 19:58:21 +08:00
Winlin
b18ee398ed
Windows: Support cygwin pipline and packager. v5.0.89 (#3257)
1. Support github actions on Windows Server 2022.
2. Use cygwin64 in windows-latest to build SRS.
3. Package SRS-xxx-setup.exe by NSIS.exe
4. Patch crypto/include/config.h for libsrtp.
5. Support run as administrator.
6. Apply utest for cygwin.
7. Enable srtp over openssl.
2022-11-20 15:02:08 +08:00
Winlin
d741f81110
For #2532: Windows: Support CYGWIN64 for SRS (#3255)
1. Support cygwin by '--cygwin64=on'
2. Detect cygwin automatically.
3. Disalbe sanitizer, srt and srtp with openssl.
4. Disable multiple threads, use single threads.
5. Support utest for cygwin64.
6. Query features for windows by API.
7. Disable stat APIs for cygwin.
8. Use ST select event driver.

Co-authored-by: wenjie.zhao <740936897@qq.com>
2022-11-20 12:29:57 +08:00
winlin
3d0dcb2a17 Windows: Support run in single thread mode. 2022-11-19 12:11:03 +08:00
Winlin
88641b535c UTest: Enable sanitizer for utest. (#3247)
1. Enable sanitizer for utest.
2. Allow auto detect jobs for make.
3. Show more information about build cache.
2022-11-18 23:07:49 +08:00
wenjie.zhao
e9503a9c9a For #2532: Windows: Replace ln by cp for windows. v5.0.87 (#3246)
1. Replase ln by cp for windows.
2. Refine OS and CPU arch detecting.
3. Support configure from any directory by `SRS_WORKDIR`.
4. Support output to any directory by `SRS_OUTPUT`.
5. Disable sanitizer for gperf.
6. Use parallels build for make.
7. Refine bash variable check.
2022-11-18 23:02:38 +08:00
Winlin
2d1ba46e37
Fix #3218: Log: Follow Java/log4j log level specs. v5.0.83 (#3219)
1. Support Java/log4j log level text.
2. Support configuring by `--log-new-level=on` which is enabled by default.
3. Support `--log-new-level=off` to use SRS 4.0 log level for compatibility.
2022-10-26 21:23:03 +08:00
ChenGH
961f701929
Sanitizer: Support address sanitizer for x86_64 platform (#3212)
* Sanitizer: Support address sanitizer for x86_64 platform
* Sanitizer: Not mac os need -static-libasan
* Sanitizer: Add script for docker test.
* Sanitizer: Refine build script.
* Santizer: Fix ossrs/srs:dev-gcc7-cache cannot find libasan bug
* Sanitizer: Support sanitizer when use ossrs/srs:dev-cache and ubuntuxx-cache
* Sanitizer: Add sanitizer-static config

Co-authored-by: winlin <winlin@vip.126.com>
2022-10-23 07:21:15 +08:00
winlin
e10fa6dc91 Kernel: Support grab backtrace stack when assert fail. v5.0.80 2022-10-21 23:37:30 +08:00
winlin
c12deded98 GB28181: Fix bug for parsing GB to RTC. 2022-10-07 19:47:34 +08:00
Winlin
5a420ece3b
GB28181: Support GB28181-2016 protocol. v5.0.74 (#3201)
01. Support GB config as StreamCaster.
02. Support disable GB by --gb28181=off.
03. Add utests for SIP examples.
04. Wireshark plugin to decode TCP/9000 as rtp.rfc4571
05. Support MPEGPS program stream codec.
06. Add utest for PS stream codec.
07. Decode MPEGPS packet stream.
08. Carry RTP and PS packet as helper in PS message.
09. Support recover from error mode.
10. Support process by a pack of PS/TS messages.
11. Add statistic for recovered and msgs dropped.
12. Recover from err position fastly.
13. Define state machine for GB session.
14. Bind context to GB session.
15. Re-invite when media disconnected.
16. Update GitHub actions with GB28181.
17. Support parse CANDIDATE by env or pip.
18. Support mux GB28181 to RTMP.
19. Support regression test by srs-bench.
2022-10-06 17:40:58 +08:00
winlin
937605b18c Remove bandwidth check because falsh is disabled. v5.0.52 2022-08-30 10:45:40 +08:00
winlin
1fe12b8e8c Speedup test by using cache image. 2022-08-14 22:41:29 +08:00
winlin
a842c6c32a Support crossbuild for hisiv500. v5.0.40 2022-08-12 17:41:15 +08:00
winlin
b73847de7d Refine configure for crossbuild. 2022-08-11 16:55:24 +08:00
winlin
7f7406ec77 Build: Detect OS by packager. v5.0.39 2022-08-10 23:20:14 +08:00
winlin
1ab584b2ae Loongson/mips64: Support FFmpeg and openssl. 2022-08-09 22:44:10 +08:00
winlin
25c004e947 Opus: Add TODO because the audio might be corrupted, if use FFmpeg native opus. 2022-08-09 13:35:57 +08:00
winlin
f44b694a17 For test docker image, use cache eventhough the kernel changed. v5.0.37 2022-08-09 08:27:01 +08:00