Commit Graph

518 Commits (8865ddd4bb261d86e0b5e9b282539ca90931c151)

Author SHA1 Message Date
Haibo Chen a2324a620a
Support configure with --extra-ldflags. v5.0.199 v6.0.99 (#3879)
1. add --extra-ldflags
2. support  commas in configure file
3. support link system library for utest

```
./configure --extra-ldflags=-Wl,-z,now
```
1 year ago
Haibo Chen 9183e05ef0
Added system library option for ffmpeg, srtp, srt libraries. v5.0.193 v6.0.93 (#3846)
---------

Co-authored-by: john <hondaxiao@tencent.com>
1 year ago
Winlin cf46dae80f Support include empty config file. v5.0.173 v6.0.68 (#3768)
SRS supports including another configuration in the include package.
When generating configurations, we can only generate the changed
configurations, while the unchanged configurations are in the fixed
files, for example:

```nginx
listen 1935;
include server.conf;
```

In `server.conf`, we can manage the changing configurations with the
program:

```nginx
http_api { enabled on; }
```

However, during system initialization, we often create an empty
`server.conf`, and the content is generated only after the program
starts, so `server.conf` might be an empty file. This also makes it
convenient to use a script to confirm the existence of this file:

```bash
touch server.conf
```

Currently, SRS does not support empty configurations and will report an
error. This PR is to solve this problem, making it more convenient to
use include.

`TRANS_BY_GPT4`

---------

Co-authored-by: Haibo Chen <495810242@qq.com>
1 year ago
Winlin 73dd8af4c9
HLS: Ignore empty NALU to avoid error. v6.0.65 (#3750)
For the DJI M30, there is a bug where empty NALU packets with a size of
zero are causing issues with HLS streaming. This bug leads to random
unpublish events due to the SRS disconnecting the connection for the HLS
module when it fails to handle empty NALU packets.

To address this bug, we have patched the system to ignore any empty NALU
packets with a size of zero. Additionally, we have created a tool in the
srs-bench to replay pcapng files captured by tcpdump or Wireshark. We
have also added utest using mprotect and asan to detect any memory
corruption.

It is important to note that this bug has been fixed in versions 4.0.271
6477f31004 and 5.0.170
939f6b484b. This patch specifically
addresses the issue in SRS 6.0.

Please be aware that there is another commit related to this bug that
partially fixes the issue but still leaves a small problem for asan to
detect memory corruption. This commit,
577cd299e1, only ignores empty NALU
packets but still reads beyond the memory.

---------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2 years ago
chundonglinlin cdbe50b72a Compile: Fix typo for 3rdparty. v5.0.166, v6.0.59 (#3615)
---------

Co-authored-by: john <hondaxiao@tencent.com>
2 years ago
panda 30c2f50cae
Upgrade jquery from 1.10.2 to 1.12.2 (#3571)
---------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2 years ago
Winlin dcd02fe69c
Support composited bridges for 1:N protocols converting. v6.0.41 (#3392)
Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2 years ago
winlin 3c6ade8721 SRS5: FFmpeg: Support build with FFmpeg native opus. v5.0.131 (#3140)
PICK a27ce1d50f
2 years ago
ChenGH e1f6661d1f SRS5: 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>

PICK dd0f398296
2 years ago
winlin 6ad7787c14 Asan: Refine asan warning message for macOS.
PICK 7bdb7270cf
2 years ago
winlin e4a9ff54f9 SRS5: Asan: Only link by statically for asan.
PICK ae3b367487
2 years ago
winlin 351f7590db SRS5: Script: Discover version from code.
PICK 87a2ef100a
2 years ago
winlin 2e1d99002f SRS5: Actions: Fix GitHub actions warnings.
PICK 23b7939574
2 years ago
winlin 5999e446de Merge branch v5.0.103 into develop
1. GB28181: Enable GB for CentOS 7 package. v5.0.103
2. Package script support extra options. v5.0.102
3. Disable CLS and APM by default. v5.0.101
2 years ago
winlin e86e0c8999 Disable CLS and APM by default. v5.0.101 2 years ago
winlin 02d47c5c21 Docs: Update features with version. 2 years ago
Winlin 057b1392c0
Windows: Refine cygwin pipeline (#3260)
1. When cleanup, remove srs.exe
2. Refine NSIS command.
2 years ago
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>
2 years ago
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.
2 years ago
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>
2 years ago
winlin e10fa6dc91 Kernel: Support grab backtrace stack when assert fail. v5.0.80 2 years ago
winlin d9cf874033 Build: Refine build script. 2 years ago
winlin c12deded98 GB28181: Fix bug for parsing GB to RTC. 2 years ago
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.
2 years ago
winlin b452144fb7 GB28181: Remove unused RTSP protocol stack. 2 years ago
winlin 625069af7f WebRTC: Extract SrsRtcNetwork layer for UDP/TCP. 2 years ago
winlin 770d959148 WebRTC: Support config, listener and SDP for TCP transport. 2 years ago
winlin b009860b11 UTest: Split utest to smaller file. 2 years ago
winlin d877c0b76f Tools: Update console and httpx. 2 years ago
winlin 2c259bd95b Refactor: Extract SrsNetworkKbps from SrsKbps. v5.0.53 2 years ago
winlin 937605b18c Remove bandwidth check because falsh is disabled. v5.0.52 2 years ago
winlin 8bc7342c3c Protobuf: Extract protobuf encoder. 2 years ago
winlin 95cd0e84eb Log: Support write log to tencentcloud CLS. v5.0.44 2 years ago
winlin 0a025fc4b6 Remove unneccessary depends headers. 3 years ago
winlin f44b694a17 For test docker image, use cache eventhough the kernel changed. v5.0.37 3 years ago
winlin aba6667357 Refine build script. 3 years ago
winlin f7280399d4 Merge 4.0release, migrate to new website. 3 years ago
winlin 0957cdb944 SRT: Refine the lock for log. 3 years ago
hondaxiao d03c6793b8 SRT: add srs_core_lock, support scope lock guard 3 years ago
winlin 78b778fb93 SRT: Rename srs_service_st_srt to srs_protocol_srt 3 years ago
hondaxiao 94fa0ff7bd Refine SRT code, with StateThread adpater 3 years ago
winlin 3ed4aed824 Fix build failed. 3 years ago
winlin fa78cf3354 Prefix with srs_protocol in protocol directory. 3 years ago
winlin 665ad564fb Rename service to protocol files. 3 years ago
winlin 9385f2b80b Merge branch '4.0release' into develop 3 years ago
loveforever 210cdf04be
SRT: url supports multiple QueryStrings (#2908)
* SRT:  parse srt url to supports multiple QueryStrings.(#2893)

* SRT:  url supports multiple QueryStrings by  comma-separated key-value pairs with no nesting  (#2893)

* SRT:  url supports multiple QueryStrings by comma-separated key-value pairs with no nesting  (#2893)

* SRT: Add comments for url.

* Add utest for SRT URL parsing.

* Update README.

Co-authored-by: winlin <winlin@vip.126.com>
3 years ago
winlin 93aa0eb5ba Squash: Fix bugs 3 years ago
winlin 6a5bc27f9b Support configure with --config as default config file. v4.0.227 3 years ago
winlin 4110fb14cb Squash: Fix bugs. v5.0.20 3 years ago
winlin 013fa8ac6c Install test-on self-sign certificate. v4.0.217 3 years ago