Commit Graph

972 Commits

Author SHA1 Message Date
Haibo Chen
9bf45bea01 GB: Fix PSM parsing indicator bug. v5.0.134 (#3383)
PICK a78936f517

Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-01-17 13:05:35 +08:00
stone
25eb21efe8
Improve file writer performance by fwrite with cache. v5.0.133 (#3308)
* SrsFileWriter leverages libc buffer to boost dvr write speed.

* Refactor SrsFileWriter to use libc file functions mockable

* Add utest and refine code.

Co-authored-by: winlin <winlin@vip.126.com>
2023-01-08 12:05:37 +08:00
winlin
02a18b328c MP3: Upgrade mpegts.js to support HTTP-TS with mp3. v5.0.126 (#296) 2023-01-01 20:15:00 +08:00
winlin
72f8ed4916 Update license date to 2023. v5.0.123 2023-01-01 08:49:13 +08:00
winlin
95defe6dad MP3: Support dump stream information. v5.0.117 (#296) (#3339) 2022-12-25 21:11:08 +08:00
winlin
05d7400cd5 Merge branch v4.0.269 into 5.0release
1. MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296) (#3333)
2022-12-25 12:10:03 +08:00
Winlin
577cd299e1
MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296) (#3333)
* MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296)

1. Refresh HLS audio codec if changed in stream.
2. Refresh TS audio codec if changed in stream.
3. Fix mp3 demux bug in SrsFormat::audio_mp3_demux.
4. Use 3(MPEG1) not 4(MPEG2) as PMT stream type, follow FFmpeg.
5. MP3: Update utest for mp3 sample parsing.
6. MP3: Ignore empty frame sample.
7. UTest: Fix utest failed, do not copy files.
2022-12-25 11:43:26 +08:00
ChenGH
7eaee46f1f
Asan: Support parse asan symbol backtrace log. v5.0.113 (#3324)
* asan: support parse asan symbol log

* asan: refine srs_parse_asan_backtrace_symbols error code

* asan: Refine code, extract asan log to error file.

Co-authored-by: winlin <winlin@vip.126.com>
2022-12-18 21:14:11 +08:00
john
09a96175e8
SRT: Fix srt to rtmp crash when sps or pps empty. v5.0.112 (#3323)
* SRT: fix crash when sps/pps empty. v5.0.112

Co-authored-by: winlin <winlin@vip.126.com>
2022-12-18 09:52:20 +08:00
Winlin
4551200e95
FLV: Drop packet if header flag is not matched. v5.0.109 (#3306)
1. Ignore audo or video packets if FLV header disable it.
2. Run: Add regression test config and run for IDEA.
3. Test: Refine regression test to allow no audio/video for FLV
4. Config: Whether drop packet if not match header.
2022-12-14 21:07:14 +08:00
john
271afbbf82
DASH: Fix number mode bug to make it run. v5.0.96 (#3240)
* Add utc time utility
* Fix calculate duration in fmp4
* Refine dash code, use segment template timeline
* Shrink m4s file and cleanup
* Support play by dash.js
* Use SegmentTemplate timeline mode with $Number$

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-24 18:09:50 +08:00
Winlin
af192d6184
For #3176: GB28181: Error and logging for HEVC. v5.0.95 (#3276)
1. Parse video codec from PSM packet.
2. Return error and logging if HEVC packet.
3. Ignore invalid AVC NALUs, drop AVC AUD and SEI.
4. Disconnect TCP connection if HEVC.
2022-11-24 09:01:01 +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
368356c223
Support address sanitizer for utest and fix some leaks. (#3242)
* MP4: Fix memory leak when error.

* Kernel: Support free global objects for utest.

* HTTP: Fix memory leak when error.

* MP4: Support more sample rate for audio.

* RTMP: Support free field for utest.

* UTest: Support address sanitizer.
2022-11-18 11:19:01 +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
winlin
e9915c3bd7 Log: Refine the log interface. v5.0.82 2022-10-25 09:20:55 +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
9c81a0e1bd UTest: Fix utest warnings. 2022-10-06 16:09:07 +08:00
chundonglinlin
981cab40d3
API: support metrics for prometheus.(#2899) (#3189)
* API: support metrics for prometheus.

* Metrics: optimize metrics statistics info.

* Refine: remove redundant code.

* Refine: fix metrics srs_streams param.

* Metrics: add major param.

* Metrics: refine params and metric comments.

* For #2899: API: Support exporter for Prometheus. v5.0.67

Co-authored-by: winlin <winlin@vip.126.com>
2022-09-27 15:39:26 +08:00
winlin
d4898bec3c APM: Check endpoint port and team. 2022-09-21 20:06:33 +08:00
winlin
3e2f8622f8 APM: Support distributed tracing by Tencent Cloud APM. v5.0.63 2022-09-16 18:54:28 +08:00
winlin
2144ff8c40 For #2852: WebRTC: Support only one TCP connected candidate. 2022-09-05 08:51:24 +08:00
Li Peng
efa0851476 WebRTC: Refine code and destroy session when tcp close. 2022-09-04 22:57:47 +08:00
Li Peng
07339e1417 WebRTC: Support TCP network. 2022-09-04 20:46:39 +08:00
winlin
79358673ef Merge branch '4.0release' into develop 2022-09-03 18:13:11 +08:00
winlin
34196ea7f7 Fix #3167: WebRTC: Play stucked when republish. v4.0.260 2022-09-03 17:14:32 +08:00
winlin
6988e60ad6 Fix #1405: Restore the stream when parsing failed. v5.0.59 2022-09-01 21:45:19 +08:00
winlin
783aea7ac3 Fix #1405: Support guessing IBMF first. v5.0.58 2022-09-01 19:28:51 +08:00
winlin
457738f6eb Fix #2881: HTTP: Support merging api to server. v5.0.47 2022-08-28 13:11:31 +08:00
winlin
8bc7342c3c Protobuf: Extract protobuf encoder. 2022-08-26 18:46:26 +08:00
winlin
95cd0e84eb Log: Support write log to tencentcloud CLS. v5.0.44 2022-08-24 15:51:23 +08:00
winlin
a71eddd56a Fix the snprintf size issue. 2022-08-10 08:32:02 +08:00
winlin
f9e8065b51 Fix build warnings. 2022-08-09 08:27:08 +08:00
winlin
5ae495ab95 For #1229: Check the return value of vsnprintf. 2022-08-08 08:31:57 +08:00
winlin
b2e083b00d Support multiple threads by thread pool. v5.0.32 2022-06-29 20:15:44 +08:00
winlin
d117145b95 Update date from 2021 to 2022. 2022-06-20 19:22:25 +08:00
winlin
d525d27e64 Merge from 4.0release 2022-06-15 19:21:13 +08:00
hondaxiao
e13d16439e SRT: support rtmp to srt 2022-06-14 20:02:22 +08:00
hondaxiao
94fa0ff7bd Refine SRT code, with StateThread adpater 2022-06-14 19:58:42 +08:00
winlin
3ed4aed824 Fix build failed. 2022-06-09 20:46:20 +08:00
winlin
f1840b87e5 Fix typo, change bridger to bridge. 2022-06-09 19:35:07 +08:00
winlin
0304e78cf1 Support SIGABRT to generate coredump. 2022-05-25 12:45:58 +08:00
ChenGH
ab81696102 Bugfix: Fix rtcp nack blp encode bug (#2966). v4.0.248
Co-authored-by: Winlin <winlin@vip.126.com>
2022-03-15 08:43:03 +08:00
ChenGH
70aa6b66bb
bugfix: fix rtcp nack blp encode bug (#2966)
Co-authored-by: Winlin <winlin@vip.126.com>
2022-03-15 08:40:06 +08:00
mapengfei53
fde44885d9
Support include directive for config file (#2878)
* Support include import configuration

* Remove support for regular rules

* Remove support for regular rules

* Fix configuration file parsing bug

* Added utest tests for include functionality

* Added utest tests for include functionality

* Modify the UTest function

* optimized code

* Config: Refine parse error with state

* Config: Reorder functions

* Config: Rename parsing type to context

* Config: Refine args for include

* Config: Add utests for include

* Config: Refine code, parsing recursively.

* Config: Change the mock from file to buffer

* Config: Mock buffer in config

* Config: Refine code

* Add utests for include

* Added utest for include

Co-authored-by: pengfei.ma <pengfei.ma@ngaa.com.cn>
Co-authored-by: winlin <winlin@vip.126.com>
2022-02-14 15:08:51 +08:00
winlin
6b7fc6fdb5 Squash: Fix bugs for 4.0 2022-01-23 08:12:19 +08:00
stone
386ac44558
bugfix: SrsAutoFree addrinfo (#2886)
* bugfix: SrsAutoFree addrinfo

* bugfix: SrsAutoFreeH(addrinfo, r, freeaddrinfo)

Co-authored-by: wanglei <wanglei@unicloud.com>
2022-01-23 07:18:16 +08:00
winlin
d5c86dc5fa Switch LICENSE from MIT to **MIT or MulanPSL-2.0**. v5.0.21 2022-01-13 18:40:22 +08:00