Commit Graph

587 Commits

Author SHA1 Message Date
winlin
85620a34f5 Squash: Fix rtc to rtmp sync timestamp using sender report. #2470 2021-08-17 07:25:03 +08:00
john
ea8cff6163
RTC: Fix rtc to rtmp sync timestamp using sender report. (#2470)
* fix annotation spell failed

* RTC to RTMP using SenderReport to sync av timestamp

* update pion/webrtc versio from v3.0.4 -> v3.0.13, auto config sender/receiver report

* Add rtc push flv play regression test

* Add unit test of ntp and av sync time

* Take flag CXX to makefile of utest

* Add annotation about rtc unit test

* Fix compiler error in C++98

* Add FFmpeg log callback funciton.
2021-08-17 06:32:35 +08:00
winlin
29dea37dbb Squash: Merge SRS4 2021-08-10 12:10:35 +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
345b691895
support http hooks for rtc: on_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:41:20 +08:00
winlin
301a8ceadb Squash: Merge SRS 4.0 2021-07-24 21:10:35 +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
fb73d42c38
explicitly enable nack, for firefox (#2373) 2021-07-24 20:47:34 +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
Haibo Chen
0efd7b1bbc
RTC: Support statistic for HTTP-API, HTTP-Callback and Security (#2483)
* 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:05:10 +08:00
Winlin
c8a1e0f3da
Refine AUTHORS.txt to AUTHORS.md, etc. 5.0.8 (#2464)
* Refine AUTHORS.txt to AUTHORS.md, etc. 5.0.8

* Update README.md

* Update README.md

* Refine format for AUTHORS.md
2021-07-08 14:30:47 +08:00
winlin
a594678e3d Squash #1685, #1282, #1547: Support ARM platform. 5.0.5 2021-06-22 07:49:48 +08:00
john
1347da81f8
Check audio/video track when rtc stream updated (#2418) 2021-06-21 14:35:37 +08:00
winlin
1c75a270b3 RTC: Eliminate dead code. 2021-06-17 10:52:00 +08:00
winlin
efdbf37255 Squash: Move GB28181 to feature/gb28181. 5.0.4 2021-06-16 14:03:55 +08:00
winlin
df20fe6c9d Fix build fail 2021-06-16 14:02:48 +08:00
winlin
15901cacee SquashSRS4: Use SPDX-License-Identifier: MIT. 5.0.3 2021-05-31 13:42:20 +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
johzzy
2aad8ad5bd
fix: fix typo about inactive. (#2380) 2021-05-28 22:20:04 +08:00
winlin
e50582f9c7 SquashSRS4: Refine SDK 2021-05-21 19:57:59 +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
6dc8d9dd6f SquashSRS4: Remove srs-librtmp 2021-05-20 20:07:13 +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
e3bca883e1 SuqashSRS4: Build SRT native 2021-05-16 16:14:00 +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
a1d7fe46c1 SquashSRS4: Rename SrsRtpPacket2 to SrsRtpPacket. 2021-05-15 08:53:54 +08:00
winlin
ddd7a378b1 Rename SrsRtpPacket2 to SrsRtpPacket. 4.0.111 2021-05-15 08:47:09 +08:00
winlin
6a980683f7 SquashSRS4: Remove object cache and stat api 2021-05-14 18:17:42 +08:00
winlin
f7b32252b0 RTC: Remove Object Cache Pool, no effect. 4.0.110 2021-05-14 16:12:11 +08:00
winlin
53e20d4a37 RTC: Eliminate unused stat code 2021-05-14 09:06:12 +08:00
winlin
8895d36746 SquashSRS4: Refine shared fast timer 2021-05-08 17:44:15 +08:00
winlin
2ad24b2313 Refine shared fast timer. 4.0.105 2021-05-08 16:50:26 +08:00
winlin
3256c7c2fa SquashSRS4: Refine the init of global objects 2021-05-08 11:51:54 +08:00
winlin
b1e85664a1 Refine init of global SrsPps 2021-05-08 11:11:13 +08:00
winlin
276bd2223e SquashSRS4: Support circuit breaker 2021-05-08 10:04:44 +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
fd6c653d3c SquashSRS4: Refine performance for FastTimer 2021-05-07 11:25:37 +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
becbe45bcd SquashSRS4: Add demo for RTC 2021-05-05 13:26:25 +08:00
winlin
9fb2b69212 Add RTC stream merging demo by FFmpeg. 4.0.97 2021-05-03 15:53:55 +08:00
winlin
74bb47c13f SquashSRS4: Support RTC2RTMP. 2021-05-01 22:15:57 +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
0b62216999 SquashSRS4: Support av1 for Chrome M90 enabled it. 2021-04-30 08:13:38 +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
aa07f45545 SquashSRS4: Happy 2021 2021-04-20 19:03:02 +08:00
winlin
cec0191b16 Happy 2021 2021-04-20 19:00:14 +08:00
winlin
323306149d SquashSRS4: Eliminate the dup code 2021-04-06 11:22:12 +08:00
winlin
aae0f61165 RTC: Eliminate the dup code 2021-04-06 10:56:40 +08:00
winlin
55426c6331 SquashSRS4: Fix RTC connection dispose bug 2021-04-06 10:51:42 +08:00
winlin
061f367a82 RTC: Fix RTC connection dispose bug 2021-04-06 10:50:23 +08:00
winlin
52644f50c9 SquashSRS4: Fix republish bug 2021-04-04 18:50:59 +08:00
winlin
8d9dd532b9 RTC: Fix bug for republish stream. 4.0.89 2021-04-04 18:35:02 +08:00
winlin
d80ba9d284 SquashSRS4: Fix memory leak 2021-04-01 17:35:40 +08:00
winlin
3c59fedab6 RTC: Fix memory leak 2021-04-01 17:34:47 +08:00
winlin
0cc3063703 SquashSRS4: Refine TWCC and SDP exchange. 4.0.88 2021-04-01 10:55:03 +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
4692e8b8ad SquashSRS4: Support WebRTC re-publish stream. 2021-03-26 14:59:25 +08:00
winlin
d6c16a7e23 RTC: Support WebRTC re-publish stream. 4.0.87 2021-03-24 20:12:31 +08:00
winlin
ff268dca23 SquashSRS4: Eliminate dead code, we never offer 2021-03-24 15:27:07 +08:00
winlin
6c7e24fc6d RTC: Eliminate dead code, we nerver send offer 2021-03-24 15:21:40 +08:00
winlin
ecd4527342 SquashSRS4: Use fast parse TWCCID, ignore in packet parsing 2021-03-24 14:17:52 +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
b7b474deba SquashSRS4: Update srs-bench. 2021-03-24 11:05:25 +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
25145b945d RTC: Use send_rtcp to encrypt and send RTCP bytes 2021-03-22 16:25:08 +08:00
winlin
4f1aa924e6 SquashSRS4: Add security scan. Feed TWCC before drop PT. 2021-03-11 16:55:05 +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
de65a331f1 SquashSRS4: Fix DTLS config bug, dup Alert bug. 4.0.83 2021-03-08 12:39:25 +08:00
winlin
43028c99c8 Fix bug when client DTLS is passive. 4.0.82 2021-03-08 10:41:42 +08:00
winlin
98839d3d53 RTC: Fix TWCC enable bug 2021-03-04 14:13:40 +08:00
winlin
f63441413d RTC: Support disable the NACK no-copy, enable copy by default 2021-03-02 19:34:56 +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
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
f2d9eb345c Perf: Refine object cache, avoid dynamic cast 2021-03-02 19:33:15 +08:00
winlin
4d0863468a RTC: Cache the large buffer allocation 2021-03-02 19:32:40 +08:00
winlin
4cb3a18d1e RTC: Apply RTP packet cache manager 2021-03-02 19:32:34 +08:00
winlin
0cb125e53d RTC: Refine publisher memory allocate, by packet itself 2021-03-02 19:32:16 +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
6dac180627 Kernel: Never depends on another globals for global variables 2021-03-02 19:30:56 +08:00
winlin
b9352eac0c RTC: Refine stat logs 2021-03-02 19:30:36 +08:00