1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 11:51:57 +00:00
Commit graph

5502 commits

Author SHA1 Message Date
winlin
51a5e283fc Perf: Avoid RTP packet copy for publisher NACK. 2021-03-02 19:34:10 +08:00
winlin
74f63d6b14 RTC: Ignore NACK when disable for player. 2021-03-02 19:34:08 +08:00
winlin
0aeaf442f7 RTC: Ignore NACK when disable for player. 2021-03-02 19:34:04 +08:00
winlin
f831e9240e RTC: Fast copy shared message for RTP 2021-03-02 19:34:01 +08:00
winlin
42223b3f2e RTC: No cache for RTP packet size. 2021-03-02 19:33:59 +08:00
winlin
3728b07c49 Perf: Refine RTP packet copy 2021-03-02 19:33:56 +08:00
winlin
033f341ce1 Perf: Refine the recycle RTP packet, user should reset it 2021-03-02 19:33:49 +08:00
winlin
b1457dfc16 Perf: Refine copy RTP header. 2021-03-02 19:33:46 +08:00
winlin
81dddcbd93 RTC: Remove dead code 2021-03-02 19:33:44 +08:00
winlin
00b0e22402 Refine code 2021-03-02 19:33:42 +08:00
winlin
cca5f8db82 Refine code 2021-03-02 19:33:40 +08:00
winlin
6d64490d73 Perf: Never reset the csrc 2021-03-02 19:33:39 +08:00
winlin
0fa3646c4a Perf: Directly reference the extmap 2021-03-02 19:33:37 +08:00
winlin
e441702246 Refine code 2021-03-02 19:33:35 +08:00
winlin
e2bf9f3623 Refine code, remove goto 2021-03-02 19:33:34 +08:00
winlin
ecef3e7f0a Perf: Refine player cycle, use fast coroutine 2021-03-02 19:33:32 +08:00
winlin
29b33e6303 RTC: Disable player perf stat, because it should be refined. 2021-03-02 19:33:29 +08:00
winlin
561acd26c5 Refine code 2021-03-02 19:33:27 +08:00
winlin
db0090be05 Refine code 2021-03-02 19:33:25 +08:00
winlin
aacdc21d1c Refine object cache. 2021-03-02 19:33:23 +08:00
winlin
1e2daf9ea3 Refine comments for object cache 2021-03-02 19:33:19 +08:00
winlin
6656330d2a Perf: Use vector to replace list for object cache 2021-03-02 19:33:17 +08:00
winlin
f2d9eb345c Perf: Refine object cache, avoid dynamic cast 2021-03-02 19:33:15 +08:00
winlin
8d7a201742 RTC: Remove unused config 2021-03-02 19:33:12 +08:00
winlin
73e357a93f RTC: Support object cache pool. 4.0.75 2021-03-02 19:33:07 +08:00
winlin
8e4f252686 Support reload the object cache pool 2021-03-02 19:32:59 +08:00
winlin
501104e728 Perf: Limit the size of object cache pool 2021-03-02 19:32:56 +08:00
winlin
3989f2d553 RTC: Refine the stat logs, limit the object cache pool 2021-03-02 19:32:52 +08:00
winlin
30d760f909 RTC: Only cache the UDP packet message 2021-03-02 19:32:49 +08:00
winlin
c00d286344 Perf: Refine the stat 2021-03-02 19:32:47 +08:00
winlin
919107c674 Perf: Stat the shared messages. 2021-03-02 19:32:44 +08:00
winlin
fc4d7080c6 RTC: Cache the RTP payload objects 2021-03-02 19:32:42 +08:00
winlin
4d0863468a RTC: Cache the large buffer allocation 2021-03-02 19:32:40 +08:00
winlin
6e9cb059b3 RTC: Stat the large buffer allocation 2021-03-02 19:32:37 +08:00
winlin
4cb3a18d1e RTC: Apply RTP packet cache manager 2021-03-02 19:32:34 +08:00
winlin
86f43d4f72 RTC: Support RTP packet cache manager 2021-03-02 19:32:32 +08:00
winlin
bde86a2b23 RTC: Refine RTP packet buffer allocate, align to about 1500 bytes 2021-03-02 19:32:29 +08:00
winlin
b2d546156e RTC: Refine RTP packet api, keep shared message to private 2021-03-02 19:32:25 +08:00
winlin
0cb125e53d RTC: Refine publisher memory allocate, by packet itself 2021-03-02 19:32:16 +08:00
winlin
81060a17e6 Build: Add gcc version in cache directory 2021-03-02 19:31:53 +08:00
winlin
cec588e08a For #2188: Remove sendmmsg from ST. 2021-03-02 19:31:33 +08:00
winlin
d7bc8b98fb Fix build warning 2021-03-02 19:31:29 +08:00
winlin
048a72ab6e RTC: Refine memory allocate for publisher 2021-03-02 19:31:15 +08:00
winlin
23fa3fb350 RTC: Refine memory allocate for publisher 2021-03-02 19:31:12 +08:00
winlin
4aa82b2fbf RTC: Refine memory copy, allocate it later 2021-03-02 19:31:06 +08:00
winlin
edb8a0f497 RTC: Cache the buffer for player 2021-03-02 19:31:04 +08:00
winlin
e7529ce9dc RTC: Stat the RTP and payload objects 2021-03-02 19:31:01 +08:00
winlin
6dac180627 Kernel: Never depends on another globals for global variables 2021-03-02 19:30:56 +08:00
winlin
d8ba72fdc5 Kernel: Extract SrsPps to kernel 2021-03-02 19:30:52 +08:00
winlin
df6e47ebfc RTC: Refine stat for RTC server 2021-03-02 19:30:49 +08:00
winlin
5ff9977572 Perf: Improve fast find for pithy print 2021-03-02 19:30:46 +08:00
winlin
9ab12f9f2f RTC: Stat the drop of UDP packets. 2021-03-02 19:30:40 +08:00
winlin
b9352eac0c RTC: Refine stat logs 2021-03-02 19:30:36 +08:00
winlin
09bd1b9faa RTC Stat the detail of send packets 2021-03-02 19:30:35 +08:00
winlin
d92ceaca39 RTC: Stat the detail of received packets 2021-03-02 19:30:33 +08:00
winlin
6c24f2e353 Refine logs 2021-03-02 19:30:29 +08:00
winlin
2f1e8a6911 RTC: Refine logs 2021-03-02 19:30:26 +08:00
winlin
33f4e02072 RTC: Send NACK one by one to avoid packet freed by context switching 2021-03-02 19:30:18 +08:00
winlin
e1a840772d RTC: Refine TWCC and RTCP timer to 100ms. 2021-03-02 19:30:08 +08:00
winlin
6d3aa2c426 Refine code. 4.0.74 2021-02-19 19:17:29 +08:00
winlin
3a83a74dfc Stat: Refine stat bug for timer 2021-02-19 19:12:40 +08:00
winlin
5b8eea8cc5 Stat: Fix build fail for stat of timer and dispose 2021-02-19 19:08:16 +08:00
winlin
941a9aaf7a Refine timer, 4.0.73 2021-02-19 18:55:24 +08:00
winlin
6bacccd1b8 Fix utest fail 2021-02-19 18:54:16 +08:00
xialixin@kanzhun.com
fdaee20b81 For #2200, Enable RTC and FLV for GB28181 2021-02-19 18:54:12 +08:00
winlin
548fcd627b Config: Update config files, daemon off, log to console 2021-02-19 18:54:00 +08:00
winlin
61eeb781b7 Always link with pthread 2021-02-19 18:53:48 +08:00
winlin
1f621a6db3 Remove dead code: memory watch 2021-02-19 18:53:40 +08:00
winlin
c6cb0fb21f Refine scripts 2021-02-19 18:53:37 +08:00
winlin
0fe031a156 Support to disable stats by default 2021-02-19 18:53:34 +08:00
winlin
7d75f0af0f Remove dead code 2021-02-19 18:53:27 +08:00
winlin
044df17791 Fix utest fail 2021-02-19 18:53:23 +08:00
winlin
c5d2027f9a RTC: Support high performance timer about 25ms resolution. 4.0.72 2021-02-19 18:53:21 +08:00
winlin
ebcba149ae For #2194, yield for timer, for rtc player 2021-02-19 18:53:18 +08:00
winlin
df1eca10fb For #2194, yield for timer, for rtc publisher 2021-02-19 18:53:16 +08:00
winlin
a049ce3fb7 For #2194, Core: Refine yield for high performance timer. 2021-02-19 18:53:14 +08:00
winlin
a5a96491a3 For #2194, yield for timer, for live publisher 2021-02-19 18:53:13 +08:00
winlin
d1bcc03d9a For #2194, yield for high performance timer, for live player 2021-02-19 18:53:10 +08:00
winlin
c0fda42743 For #2194, Support ST yield 2021-02-19 18:53:08 +08:00
winlin
b4b9776b02 Core: Support yield current coroutine for high performance timer. 2021-02-19 18:53:03 +08:00
winlin
d8563398b2 Clock: Update stat. Insert timer to execute first 2021-02-19 18:53:02 +08:00
winlin
f987198af0 Clock: Use one system wall clock 2021-02-19 18:52:58 +08:00
winlin
9db7126eb4 Core: Refine ST stat for thread switch 2021-02-19 18:52:56 +08:00
winlin
15f7fa2c36 Core: Refine ST stat for io events 2021-02-19 18:52:54 +08:00
winlin
12d7e57011 Core: Refine sched and clock stat 2021-02-19 18:52:53 +08:00
winlin
c2332f9e55 Core: Use 20ms wall clock 2021-02-19 18:52:49 +08:00
winlin
bddc787a16 Refine the pps. 2021-02-19 18:52:35 +08:00
winlin
70fb647ac9 Perf: Add stat for sched of ST. 2021-02-19 18:52:27 +08:00
winlin
e91e0eaf46 Perf: Add stat for io of ST. 2021-02-19 18:52:12 +08:00
winlin
b431ad738c RTC: Refine performance about 700+ streams. 4.0.71 2021-02-10 16:28:11 +08:00
winlin
b7c7d6566f Fix build fail 2021-02-10 16:27:09 +08:00
winlin
2aa94c643c Refine server stat, extract to hybrid server stat 2021-02-10 16:19:51 +08:00
winlin
6b260d6021 Fix utest fail 2021-02-10 16:17:01 +08:00
winlin
7114682eec Timer: Apply timer(HourGlass) to server and sources 2021-02-10 16:16:58 +08:00
winlin
77cffd3e04 Main: Refine sever manager. 2021-02-10 16:16:56 +08:00
winlin
f9bd84109b Timer: Refine the hour glass, support stop 2021-02-10 16:16:52 +08:00
winlin
4a37fe30c7 RTC: Refine RTP header, never extends from any class 2021-02-10 16:16:49 +08:00
winlin
6feaeace27 RTC: Send NACK by timer, no by RTP packet 2021-02-10 16:16:42 +08:00
winlin
d2e728812b RTC: Send NACK by timer, no by RTP packet 2021-02-10 16:14:58 +08:00
winlin
5919865e5d RTC: Refine NACK check, interval, time 2021-02-10 16:14:54 +08:00
winlin
627688c582 RTC: Update stat for received nack 2021-02-10 16:14:47 +08:00
winlin
44c85cc3d2 RTC: Never copy the packet for hijack. 2021-02-10 16:13:25 +08:00
winlin
81db13f27f RTC: Update stat for nack 2021-02-10 16:13:18 +08:00
winlin
51e630d53c RTC: For RTP packet, never switch to context of session except error. 2021-02-10 16:11:07 +08:00
winlin
154ae9b4eb RTC: Update stat for twcc and rr 2021-02-10 16:10:42 +08:00
winlin
86d615f27e RTC: Print stat for pli and timer every 5s. 4.0.70 2021-02-10 16:08:04 +08:00
winlin
9a0e5bc979 RTC: Fix udp recvfrom bug 2021-02-10 16:07:42 +08:00
winlin
ccb6c49029 RTC: Refine timer to 20ms, twcc to 40ms 2021-02-10 15:58:11 +08:00
winlin
d069346f6b Update server stat for fast-id search 2021-02-10 15:58:08 +08:00
winlin
84afeaf433 Update server stat for fast-id search 2021-02-10 15:58:05 +08:00
winlin
44f5ca6a35 Update server stat for fast-id search 2021-02-10 15:58:03 +08:00
winlin
5ae47725e6 SRS: Refine the UDP address parsing, no string 2021-02-10 15:58:01 +08:00
winlin
ca3ac467a3 RTC: Stat the UDP packets and addresses 2021-02-10 15:57:58 +08:00
winlin
2b73c1c7e6 RTC: Refine the UDP address parsing, no string 2021-02-10 15:57:57 +08:00
winlin
52609ea2f0 RTC: Use vector for fast search fast-id 2021-02-10 15:57:55 +08:00
winlin
7f4d8a40e9 RTC: Refine the SRTP protect api 2021-02-10 15:57:52 +08:00
winlin
2989e6c9c3 Fix build fail 2021-02-10 15:57:49 +08:00
winlin
949044d773 RTC: Refine SRTP unprotect rtp and rtcp, without copy 2021-02-10 15:57:44 +08:00
winlin
aec27450e8 RTC: Refine unprotect_rtp to reuse cipher 2021-02-10 15:57:41 +08:00
winlin
719df6fa41 RTC: Parse TWCC SN fastly. 2021-02-10 15:57:38 +08:00
winlin
79a6907a65 RTC: Parse PT fast and refine udp handler. 4.0.69 2021-02-10 15:57:37 +08:00
winlin
826546d518 Refine pps add SrsPps 2021-02-10 15:57:29 +08:00
winlin
c3414a30dc RTC: Refine UDP packet peer fast id. 4.0.68 2021-02-10 15:57:25 +08:00
winlin
e95fd10462 RTC: Don't parse RTP header if no twcc 2021-02-10 15:57:23 +08:00
winlin
49a772770f Refine code 2021-02-10 15:57:21 +08:00
winlin
fec088972d RTC: Fix bug for header parsing 2021-02-10 15:57:17 +08:00
winlin
e17d20c8fa RTC: Refine static cast for RTC connection 2021-02-10 15:57:16 +08:00
winlin
a5b21c159f RTC: Support disable nack 2021-02-10 15:57:13 +08:00
winlin
2b60112130 RTC: Support disable nack 2021-02-10 15:57:12 +08:00
winlin
dffbebfe6f RTC: Fast parse ssrc and find the publisher 2021-02-10 15:57:03 +08:00
winlin
5f31868ce6 RTC: Refine publish stream by find publisher 2021-02-10 15:57:00 +08:00
winlin
6fa3b8212c Update ST doc 2021-02-10 15:56:43 +08:00
winlin
301904467a Update .gitignore 2021-02-10 15:56:34 +08:00
winlin
b0208029bb RTC: Reuse UDP socket to receive packet. 4.0.67 2021-02-10 15:55:35 +08:00
winlin
9ada516e98 At least wait 1ms when <1ms, to avoid epoll_wait spin loop. 4.0.66 2021-02-10 15:55:01 +08:00
winlin
5eafcea895 RTC: Refine performance for UDP recv context id switch 2021-02-10 15:48:20 +08:00
winlin
b7f5fa7c9d RTC: Fix NACK remove loop bug 2021-02-10 15:48:15 +08:00
winlin
4bcfce7ff1 RTC: Refine is_alive code 2021-02-10 15:48:12 +08:00
winlin
aeca278de0 RTC: Refine log for twcc large timer 2021-02-10 15:47:54 +08:00
winlin
076182cde2 Pick from develop. 4.0.65 2021-01-31 18:08:50 +08:00
winlin
d92bbe7558 RTC: Support eip with port 2021-01-31 18:07:43 +08:00
winlin
3fa767f3cc Build: Support --ssl-local to rebuild openssl even system exists 2021-01-31 18:07:39 +08:00
winlin
cd83054759 ST: Update doc 2021-01-31 18:07:36 +08:00
winlin
09224ea7e0 ST: Update doc 2021-01-31 18:07:31 +08:00
winlin
6e3bd61599 Enable --nasm and --srtp-asm by default for performance. 4.0.64 2021-01-31 18:07:20 +08:00
winlin
945cf64024 Refine srs_player 2021-01-31 18:06:55 +08:00
winlin
f006bf59b1 Support HTTP-FLV and HLS for srs-player by H5. 4.0.63 2021-01-31 18:06:52 +08:00
winlin
979bf86e8b Support HTTP-FLV and HLS for srs-player by H5. 4.0.63 2021-01-31 18:06:49 +08:00
winlin
5c41766b79 Support HTTP-FLV and HLS for srs-player by H5. 4.0.63 2021-01-31 18:06:46 +08:00
winlin
b373400257 RTC: Extract NACK handler from stream to track. 2021-01-31 18:06:40 +08:00
winlin
40ea0b67f9 RTC: Refine RTP packet decoder to track and stream 2021-01-31 18:05:51 +08:00
winlin
0fe85a295c Refine options with default value 2021-01-31 18:05:26 +08:00
winlin
b9a5d4beb6 Refine options with default value 2021-01-31 18:05:07 +08:00
winlin
1615c3df6c RTC: Refine code 2021-01-31 17:59:59 +08:00
winlin
ec2535b183 RTC: Refine code 2021-01-31 17:59:46 +08:00
winlin
e26b685169 Refine script 2021-01-18 12:34:11 +08:00
winlin
4bb3ad5637 For #2142, Fix bug for fixing memory leak for bridger. 4.0.62 2021-01-15 16:58:23 +08:00
winlin
4e70bf5eaf For #2142, Fix memory leak for bridger of RTC source stream. 4.0.61 2021-01-15 14:16:32 +08:00
winlin
50bb9eb391 Revert "For #2142, RTC: Fix memory leak"
This reverts commit 2492b726af.
2021-01-15 13:31:58 +08:00
winlin
ed32965aa4 Revert "Fix #2142, Async release bridger when unpublish. 4.0.60"
This reverts commit 06adb9dc42.
2021-01-15 13:30:52 +08:00
winlin
06adb9dc42 Fix #2142, Async release bridger when unpublish. 4.0.60 2021-01-14 19:12:01 +08:00
winlin
10ffb2da36 HTML5 video tag resolution adaptive. 4.0.59 2021-01-08 14:16:20 +08:00
winlin
26dec1b037 Release 4.0.58
Merge #2109, Fix bugs for GB28181.
Merge #2109, Refine srs_string_split.
Fix memory leak and bugs for RTC.
2021-01-08 14:16:11 +08:00
winlin
b6843428c6 Fix build warnings 2021-01-08 14:09:28 +08:00
winlin
81d78310a0 Fix build warnings 2021-01-08 13:29:32 +08:00
winlin
61f62ceec6 Fix build warnings 2021-01-08 11:48:56 +08:00
winlin
473942c6f6 Kernel: Add utest for srs_string_split 2021-01-08 10:27:12 +08:00
winlin
8580b1e5fb Merge branch '4.0release' into develop 2021-01-07 18:02:42 +08:00
winlin
f8266fe3b7 Add usage for --cherrypy=on|off when configure 2021-01-07 18:02:24 +08:00
winlin
bfa156247c Merge branch '4.0release' into develop 2021-01-07 17:47:54 +08:00
winlin
6c7ffdeedf Merge branch '3.0release' into 4.0release 2021-01-07 17:27:33 +08:00
winlin
d520679547 Refine code for changing id of stat to string 2021-01-07 17:27:30 +08:00
winlin
4f013404e3 Refine stat id 2021-01-07 17:09:33 +08:00
winlin
1c41f5d796 Merge SRS3, change id of stat to string 2021-01-07 17:04:11 +08:00
winlin
fb7c051833 Change id from int to string for the statistics. 3.0.157 2021-01-07 16:47:49 +08:00
johzzy
3c14a96bdd
fix: html5 video tag resolution adaptive. (#2128) 2021-01-07 13:47:30 +08:00
winlin
248085edfe For #2109, Add more utest for srs_string_split 2021-01-07 12:30:51 +08:00
winlin
2492b726af RTC: Fix memory leak 2021-01-07 11:45:03 +08:00
xbpeng121
47422b7819
GB28181: 无法对接平台问题及一些小bug (#2109)
* 1-新增srs_string_split2函数,该函数支持空串也能按照原有顺序进行切分并放入数组
2-SrsGb28181Device增加属性字段,并在收到catalog命令时能够更新该属性
3-修复sip包解包不严谨bug(body中有可能会有SRS_RTSP_CRLFCRLF那么导致header_body[1]就不一定是body了可能只是body的一部分)

* 1-修复停用rtp多路复用参数(invite_port_fixed)不起作用bug

* bugfix: 当srs发送invite时会指定一个ssrc作为流媒体序列号,但有些平台发流时并不使用这个作为ssrc,而是自己新生成一个。(修复该bug是在invite response时解析内容中的sdp,把对方生成的流媒体序列号ssrc读出来,并且更新srs的channel映射)

* Update push.gb28181.conf

恢复成原来的conf

* bugfix,在取得muxer时需要更新。之前写反了

* Merge branch 'develop' into 4.0release

* 解决冲突时,优先选择原有代码(还原选择develop的代码)

* 解决冲突时,优先选择原有代码(还原选择develop的代码)

* 解决冲突时,优先选择原有代码(还原选择develop的代码)

* 解决冲突时,优先选择原有代码(还原选择develop的代码)

* 修改sdp_map相同属性的连接符

* 解决冲突时,优先选择原有代码(还原选择develop的代码)

* 修改sdp_map相同属性的连接符

* 解决冲突时,优先选择原有代码(还原选择develop的代码)

* 解决冲突时,优先选择原有代码(还原选择develop的代码)

* 回退原来代码

* 删除parse_sdp存储至map相关代码

* 格式恢复

* 格式恢复

* 恢复格式

* srs_string_split() 函数的bugfix

Co-authored-by: xbpeng <xianbin.peng@sibat.cn>
2021-01-06 15:37:02 +08:00
winlin
6cf93557e1 RTC: Fix publish RTC ssrc bug 2021-01-06 12:15:04 +08:00
winlin
fbbdf5ba0e RTC: Fix audio track NULL bug 2021-01-05 18:38:11 +08:00
winlin
040893efde Add research for UDP binding 2021-01-05 18:30:39 +08:00
winlin
155587d2c1 RTC: Fix parse error stap playload crash bug 2021-01-05 10:56:05 +08:00
winlin
ebe38f7337 RTC: Fix RTX bug 2021-01-03 20:01:53 +08:00
winlin
78fcaaf7b1 RTC: Fix memory leak 2020-12-30 16:03:28 +08:00
winlin
03389f5e8c Merge branch '4.0release' into develop 2020-12-27 12:56:45 +08:00
winlin
1df2ea5ca8 Merge branch '3.0release' into 4.0release 2020-12-27 12:56:28 +08:00
winlin
831c78062b Remove vhost in query if not present it 2020-12-27 12:55:27 +08:00
winlin
8fa093c53c Merge branch '4.0release' into develop 2020-12-26 22:18:45 +08:00
winlin
2538b02a9b Merge branch '3.0release' into 4.0release 2020-12-26 22:15:37 +08:00
winlin
6e43ef6866 For RTMP edge/forward, pass vhost in tcUrl, not in stream. 3.0.156 2020-12-26 22:11:23 +08:00
winlin
f9444c376c Merge SRS4 2020-12-24 18:51:04 +08:00
winlin
0ccbd7c40a Support get schema for HTTP message 2020-12-24 18:49:56 +08:00
winlin
af8bf67606 Refine player 2020-12-24 17:19:33 +08:00
winlin
92588c0872 Merge branch '4.0release' into develop 2020-12-24 11:34:17 +08:00
winlin
18d049accc Support disable CherryPy. 4.0.57 2020-12-24 11:33:49 +08:00
jinxue.cgh
7f081b4178 RTC: Refine TWCC from 200ms to 50ms 2020-12-23 15:13:21 +08:00
winlin
c3938ddfd2 Research: Add cost analysis 2020-12-22 19:24:35 +08:00
winlin
a4d1b3e2ca Research: Add cost analysis 2020-12-22 17:36:18 +08:00
winlin
ec212b7413 Merge branch '4.0release' into develop 2020-12-21 12:06:25 +08:00