1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-24 06:54:22 +00:00
Commit graph

2758 commits

Author SHA1 Message Date
winlin
4c39cc7c2f RTC: Use fast parse TWCCID, ignore in packet parsing. 4.0.86
1. TWCC should not be passed from end to end.
2. Publisher TWCC information, should be ignore when pass to player
3. Player should regenerate its own TWCC.
2021-03-24 12:29:17 +08:00
winlin
f5ff28d47a RTC: Refine play stream init 2021-03-24 10:50:13 +08:00
winlin
3fea5c0ec3 Test: Add republish regression test, should fail 2021-03-23 19:32:59 +08:00
winlin
a53fe451ff RTC: Feed TWCC then drop the specified PT packet.
1. Sometimes we might drop RTP packets, by PT(payload type).
2. For example, the padding packets from client.
3. We should feed these packets to TWCC, then drop it.
2021-03-11 16:48:29 +08:00
winlin
d4d11c2c18 DTLS: Change max loop to larger 2021-03-09 22:19:32 +08:00
winlin
62987aa01f DTLS: Refine retransmit between ClientHello and Certificate. 2021-03-09 22:12:23 +08:00
winlin
02aac0fea4 DTLS: Fix ARQ bug, use openssl timeout. 4.0.84 2021-03-09 19:36:45 +08:00
winlin
3c6e466280 DTLS: Use specified init API, to decrease packet size 2021-03-09 11:54:27 +08:00
winlin
3a5d88b435 DTLS: Disable QueryMTU for openssl, or the packet get fragmented 2021-03-09 07:22:11 +08:00
winlin
079c54bbe7 Add important comment for ST 2021-03-09 07:21:07 +08:00
winlin
55bdc354f5 Add important comment for disposing and thread stop 2021-03-08 21:05:02 +08:00
winlin
1ed567a005 DTLS: Fix dead loop by duplicated Alert message 2021-03-08 12:34:15 +08:00
winlin
43028c99c8 Fix bug when client DTLS is passive. 4.0.82 2021-03-08 10:41:42 +08:00
winlin
fc4f539907 Should check bridger status when publish stream. 2021-03-05 16:47:47 +08:00
Pieere Pi
4ba485002c Fix #2106, #2011, RTMP/AAC transcode to Opus bug. 4.0.81 2021-03-04 14:17:36 +08:00
winlin
98839d3d53 RTC: Fix TWCC enable bug 2021-03-04 14:13:40 +08:00
winlin
8f1c992379 Refine code, rename drop to loss 2021-03-04 14:12:39 +08:00
winlin
d4b8a57cf7 Enable Object Cache and Zero Copy Nack by default. 4.0.77 2021-03-04 14:12:31 +08:00
winlin
f63441413d RTC: Support disable the NACK no-copy, enable copy by default 2021-03-02 19:34:56 +08:00
winlin
171ae5dd2d RTC: Fix shared msg cache bug 2021-03-02 19:34:37 +08:00
winlin
11454b3ced Perf: Avoid RTP packet copy for player NACK. 2021-03-02 19:34:12 +08:00
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
033f341ce1 Perf: Refine the recycle RTP packet, user should reset it 2021-03-02 19:33:49 +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
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
f2d9eb345c Perf: Refine object cache, avoid dynamic cast 2021-03-02 19:33:15 +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
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
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
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
xialixin@kanzhun.com
fdaee20b81 For #2200, Enable RTC and FLV for GB28181 2021-02-19 18:54:12 +08:00
winlin
1f621a6db3 Remove dead code: memory watch 2021-02-19 18:53:40 +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
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
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
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
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
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
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
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
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
b0208029bb RTC: Reuse UDP socket to receive packet. 4.0.67 2021-02-10 15:55:35 +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
d92bbe7558 RTC: Support eip with port 2021-01-31 18:07:43 +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
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
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
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
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
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