Commit Graph

2861 Commits

Author SHA1 Message Date
Johnny
7c1d3edd36 RTC: fix SrsSessionInfo about copy assignment operator and comparison operator. 2021-08-14 14:39:01 +08:00
winlin
36cbe851ca RTC: Fix reousrce find bug 2021-08-14 14:37:05 +08:00
winlin
34b97bf68d Release v4.0-d3, v4.0.153 2021-08-14 11:50:33 +08:00
Haibo Chen
ab988abc59 For #2516, fix codec issue for G.711 or H.263. 4.0.152 2021-08-13 12:08:10 +08:00
matthew1838
452ca7e88f
add server_id into http_hooks (#2521)
Co-authored-by: SK <liemlhd@LiemLes-Mac-Pro.local>
2021-08-11 10:38:22 +08:00
Haibo Chen
dffc344747 RTC: For #1657, support http hooks n_play/stop/publish/unpublish (#2509)
* support http hooks for rtc: on_play/stop/publish/unpublish

* Update srs_app_rtc_conn.cpp

* Update srs_app_rtc_conn.cpp
2021-08-10 09:47:48 +08:00
Haibo Chen
c048731049 Get original ip instead of proxy ip, for rtc api (#2514) v4.0.150 2021-08-07 23:41:16 +08:00
winlin
92cbb1f072 Refine code 2021-08-07 23:33:20 +08:00
winlin
ee376da0c6 Fix #2508, Support features query by API. 4.0.149 2021-08-07 23:17:15 +08:00
winlin
86e506e6ec API: For #2508, query feature docker and packager. v4.0.148 2021-08-07 19:03:13 +08:00
winlin
48ef3dcd83 API: Use libuuid to generate uuid. v4.0.147 2021-08-06 21:53:16 +08:00
Haibo Chen
529b89a29e Fix #2504 coredump bug: caused by publish stream that codec is h.263 (#2505) 2021-08-04 17:14:41 +08:00
Haibo Chen
82c149c9c8 correct the client ip of http-flv player, for statistic (#2491) 2021-07-26 20:07:45 +08:00
Winlin
8c7ba05f9a
For #2371: Add regression test for SDP nack (#2487)
* explicitly enable nack, for firefox (#2373)

* For #2371: Add regression test for SDP nack

1. Refine API to change defaule decodes.
2. Add test for publish SDP nack.
3. Add test for play SDP nack.

Co-authored-by: Haibo Chen <495810242@qq.com>
2021-07-24 21:03:00 +08:00
Haibo Chen
43bb9660ca explicitly enable nack, for firefox (#2373) 2021-07-24 20:49:12 +08:00
Haibo Chen
86c67f7d95 RTC: Support statistic for HTTP-API, HTTP-Callback and Security (#2483) v4.0.144
* commit message for your changes. Lines starting

* Update srs_app_rtc_api.cpp

* add SrsRtcConnPlay and SrsRtcConnPublish, in enum SrsRtmpConnType

* Update srs_rtmp_stack.cpp

* Update srs_app_rtc_conn.cpp

* Update srs_app_rtc_api.cpp

* update utest

* Update srs_utest_app.cpp
2021-07-24 08:08:35 +08:00
winlin
afa32910c9 Fix bugs and enhance code. 4.0.142 2021-07-17 19:16:26 +08:00
Haibo Chen
90b7933dbb For #2403, fix padding packets for RTMP2RTC. 4.0.140.
Calculate the correct payload_size which pure padding data, in the process of rtc2rtmp, make Chrome happy (#2461)

* Calculate the correct payload_size which pure padding data, in the process of rtc2rtmp, make Chrome happy

* make clear for magic number

make clear for magic number

* Update srs_app_rtc_source.cpp
2021-07-08 14:27:51 +08:00
winlin
10b9a81061 RTC: Support eip/candidate to set the eip of server 2021-07-08 14:25:38 +08:00
Winlin
77c958ad1c
RTC: Trim SDP line space for pion/webrtc client. (#2466) 2021-07-08 09:54:55 +08:00
winlin
67ebd08342 Add role(srs) to query versions 2021-07-06 11:22:16 +08:00
winlin
642359a50e For #2424, use srandom/random to generate. 4.0.139 2021-07-04 15:50:29 +08:00
Haibo Chen
03c5f76e64 update channel_layout by channels, for ffmpeg transcode opus to aac success (#2452) 2021-07-01 06:23:29 +08:00
long
cff4c07be4
打开rtmp转rtc,当rtmp重复推流时,第2路会影响第1路流的正常播放。 (#2448)
* Update srs_app_rtmp_conn.cpp

修复推重复的RTMP流导致的RTC和RTMP播放的问题

* change ERROR_RTC_SOURCE_BUSY to ERROR_SYSTEM_STREAM_BUSY

change ERROR_RTC_SOURCE_BUSY to ERROR_SYSTEM_STREAM_BUSY

Co-authored-by: Haibo Chen <495810242@qq.com>
2021-06-30 07:24:12 +08:00
winlin
98e56f5325 Refine the random id by srs_random_str 2021-06-28 08:34:00 +08:00
Xiaoniu
31679c46d4 check 'vhost' validity in 'http raw dvr api' (#2435) 2021-06-28 07:53:16 +08:00
Xiaoniu
7bf03ef2ba Fix #2068, losing of last HLS ts file 4.0.133
fix bug: last segment of ts not trigger 'on_hls',
because of 'on_unpublish' earlier than 'segment_close' (#2438)
2021-06-28 07:28:46 +08:00
winlin
aa12251084 Fix bug for v3.0-r6 2021-06-27 10:11:15 +08:00
winlin
da763e43d5 Squash for #2424, query the latest available version. 4.0.132 2021-06-27 08:56:41 +08:00
john
1347da81f8
Check audio/video track when rtc stream updated (#2418) 2021-06-21 14:35:37 +08:00
winlin
1e9de0e191 For #1685: Cross build RTC with FFmpeg 2021-06-19 21:55:12 +08:00
winlin
1c75a270b3 RTC: Eliminate dead code. 2021-06-17 10:52:00 +08:00
winlin
df20fe6c9d Fix build fail 2021-06-16 14:02:48 +08:00
winlin
68c48e27f5 Change GB28181 to feature/gb28181. 4.0.127 2021-06-16 08:27:37 +08:00
winlin
3cd22b6e6e Use SPDX-License-Identifier: MIT. 4.0.124 2021-05-31 12:59:21 +08:00
johzzy
7be6025546 fix: fix typo about inactive. (#2380) 2021-05-28 22:20:36 +08:00
louis.xia
1c7c74b01a GB28181: Fix parse rtp tcp failed (#2382)
* fix parse rtp-tcp failed

* fix parse rtp-tcp failed

* fix gb28181 support tcp stack is setup:passive

* Update push.gb28181.tcp.conf

Co-authored-by: cfw <fangwei.cheng@transwarp.io>
Co-authored-by: Winlin <winlin@vip.126.com>
2021-05-28 21:38:52 +08:00
cfw11
3e7536c493 GB28181: fix parse rtp-tcp failed (#2378)
* fix parse rtp-tcp failed

* fix parse rtp-tcp failed

Co-authored-by: cfw <fangwei.cheng@transwarp.io>
2021-05-28 21:20:41 +08:00
winlin
8e79b90bc3 RTC: Eliminate dead code. 4.0.122 2021-05-24 08:11:42 +08:00
winlin
5df90a2a1c Fix #2370 bug for Firefox play stream(published by Chrome). 4.0.121 2021-05-21 18:56:19 +08:00
winlin
9e5c4e2c5b RTC: Fix build fail 2021-05-20 19:56:23 +08:00
winlin
fc9363e7df Fix build fail when disable RTC by --rtc=off. 4.0.118 2021-05-20 19:06:45 +08:00
winlin
af04285baa Tools: Remove srs-librtmp 2021-05-20 18:52:21 +08:00
chenhaibo
bd506da070 Fix #2366, bug when disabled gb28181. 2021-05-20 17:27:32 +08:00
root
d55af6be44 Fix #2362: Allow WebRTC to play before publishing, for GB28181 as such. 4.0.117 2021-05-19 20:54:22 +08:00
Xiaoniu
75607d0723 Fix #2364: Live: Fail for stream busy if GB28181 is publishing. 2021-05-19 20:54:22 +08:00
winlin
0d14c4b073 System: Fail if use use full.conf 2021-05-18 11:06:14 +08:00
winlin
1bd6bfd142 GB28181: Rename sip and jitter file. 2021-05-18 09:03:16 +08:00
xialixin
4c2b19a264 GB28181: Refine for bad network, we can wait for more incomplete frames 2021-05-18 08:53:51 +08:00
xialixin
7d8bde3cdb Fix #2355: GB28181: Fix play by RTC bug. 4.0.116 2021-05-18 08:42:01 +08:00
winlin
4639510f1b RTC: Allow config perf_stat and queue_length of rtc_server 2021-05-17 18:23:54 +08:00
winlin
3dce568b9c Rename SrsConsumer* to SrsLiveConsumer*. 4.0.114 2021-05-15 12:36:53 +08:00
winlin
dae6dc5395 Rename SrsRtcStream* to SrsRtcSource*. 4.0.113 2021-05-15 12:33:02 +08:00
winlin
2dd58665fa Rename SrsSource* to SrsLiveSource*. 4.0.112 2021-05-15 12:30:13 +08:00
winlin
9b6a1b16e1 RTC: Eliminate unused perf_stat 2021-05-15 12:04:21 +08:00
winlin
ddd7a378b1 Rename SrsRtpPacket2 to SrsRtpPacket. 4.0.111 2021-05-15 08:47:09 +08:00
winlin
f7b32252b0 RTC: Remove Object Cache Pool, no effect. 4.0.110 2021-05-14 16:12:11 +08:00
winlin
717e811002 Change virtual public to public. 4.0.109 2021-05-14 09:13:15 +08:00
winlin
53e20d4a37 RTC: Eliminate unused stat code 2021-05-14 09:06:12 +08:00
winlin
cd45750c9d RTC: Eliminate unused stat API 2021-05-14 08:56:41 +08:00
winlin
06f7d7d11b Refine id and vid for statistic. 4.0.108 2021-05-14 08:21:16 +08:00
winlin
393d976685 SquashSRS4: Fix memory leak 2021-05-13 22:32:29 +08:00
winlin
996c7d5697 SquashSRS3: Fix bug 2021-05-12 21:48:11 +08:00
winlin
2ad24b2313 Refine shared fast timer. 4.0.105 2021-05-08 16:50:26 +08:00
winlin
f370259c9d Fix build fail 2021-05-08 11:42:50 +08:00
winlin
4cf6da107c Refine init of global objects 2021-05-08 11:29:19 +08:00
winlin
8b58d18a5a Refine init of global objects 2021-05-08 11:25:48 +08:00
winlin
b1e85664a1 Refine init of global SrsPps 2021-05-08 11:11:13 +08:00
winlin
e8f7c913b0 Refine global or thread-local variables initialize. 4.0.104 2021-05-08 10:16:40 +08:00
winlin
e7cce88912 RTC: Refine timer stat 2021-05-07 19:01:25 +08:00
winlin
25f17c32e9 RTC: Refine fast timer 2021-05-07 18:42:36 +08:00
winlin
92fc0af8f4 RTC: Support circuit breaker. 4.0.103 2021-05-07 17:43:05 +08:00
winlin
46c980c70a RTC: Eliminate unused code 2021-05-07 10:57:25 +08:00
winlin
4527a91545 RTC: Refine play stream find track. 4.0.102 2021-05-07 10:50:51 +08:00
winlin
b823dcdfd7 RTC: Refine FastTimer to fixed interval. 4.0.101 2021-05-07 10:20:00 +08:00
winlin
0c0b467917 RTC: Transform config for nack/twcc. 4.0.100 2021-05-06 17:24:20 +08:00
winlin
4f48ad7a8b RTC: Fix config check bug for nack and twcc 2021-05-06 11:41:11 +08:00
winlin
9fb2b69212 Add RTC stream merging demo by FFmpeg. 4.0.97 2021-05-03 15:53:55 +08:00
winlin
5a611e0c4b Add one to one demo. 4.0.96 2021-05-02 19:35:03 +08:00
winlin
8a30cc86d9 Bridger: Fix build fail if disable rtc and ffmpeg-fit 2021-05-01 18:16:51 +08:00
winlin
3d225973ef Bridger: Support RTC2RTMP bridger and shared FastTimer. 4.0.95 2021-05-01 18:16:51 +08:00
winlin
c770e6d7bc Bridger: Start RTMP2RTC bridger in RTMP publisher 2021-05-01 18:16:51 +08:00
winlin
c10232b4e2 Bridger: Refine transcoder to support aac2opus and opus2aac. 4.0.94 2021-05-01 18:16:51 +08:00
winlin
00c192ede1 Timer: Apply shared FastTimer to RTC server. 4.0.93 2021-05-01 18:16:51 +08:00
winlin
8747dd6630 Timer: Extract shared FastTimer to use one timer for all connections 2021-05-01 18:16:51 +08:00
winlin
659e173e15 RTC: Refine for writing doc. 4.0.92 2021-05-01 16:42:09 +08:00
Winlin
e8fe66e3ba
RTC: Support av1 for Chrome M90 enabled it. 4.0.91 (#2324)
* RTC: Support av1 for Chrome M90 enabled it. 4.0.91

* RTC: Show codec for WebRTC publisher
2021-04-30 08:09:01 +08:00
winlin
a9d39f6946 RTC: Refine API params to create connection 2021-04-29 20:30:24 +08:00
winlin
5516d3751f Change push-RTSP as deprecated feature. 2021-04-24 21:33:44 +08:00
winlin
cec0191b16 Happy 2021 2021-04-20 19:00:14 +08:00
winlin
d01e603b25 Happy 2021 2021-04-16 09:25:55 +08:00
stone
6da91f7dea For #2275, fix bug for transcode engine config param. 2021-04-09 07:19:31 +08:00
winlin
aae0f61165 RTC: Eliminate the dup code 2021-04-06 10:56:40 +08:00
winlin
061f367a82 RTC: Fix RTC connection dispose bug 2021-04-06 10:50:23 +08:00
winlin
db7e820f04 RTC: Fix DTLS warnings for HTTP api 2021-04-05 08:28:16 +08:00
winlin
96003d4a52 RTC: Fix bug for republish stream. 4.0.89 2021-04-04 19:01:42 +08:00
winlin
8d9dd532b9 RTC: Fix bug for republish stream. 4.0.89 2021-04-04 18:35:02 +08:00
winlin
3c59fedab6 RTC: Fix memory leak 2021-04-01 17:34:47 +08:00
winlin
7823d75a38 RTC: Refine payload NALU type parser 2021-04-01 14:46:28 +08:00
winlin
bd1752a4b2 RTC: Fix TWCC send bug 2021-04-01 10:47:50 +08:00
winlin
7ac4a4f4ca RTC: Fix audio track description bug 2021-04-01 10:24:37 +08:00
winlin
d6c16a7e23 RTC: Support WebRTC re-publish stream. 4.0.87 2021-03-24 20:12:31 +08:00
winlin
6c7e24fc6d RTC: Eliminate dead code, we nerver send offer 2021-03-24 15:21:40 +08:00
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