Commit Graph

375 Commits

Author SHA1 Message Date
xiongziliang
ba5ca8f5c7 修复rtp seq重复导致rtp nack重传列队异常的bug 2022-02-27 02:07:25 +08:00
xiongziliang
7a5cf925b0 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2022-02-27 01:03:49 +08:00
xiongziliang
b82cd5a500 确保ntp时间戳获取失败时,webrtc rtp重传缓存列队长度正常 2022-02-27 01:02:54 +08:00
夏楚
3a2a60c40a
防止开启模拟丢包代码时,生成twcc rtcp紊乱的bug 2022-02-27 00:33:39 +08:00
夏楚
db3df7b92e
修复ssrc大小端转换bug 2022-02-26 22:33:00 +08:00
ziyue
72caa43c97 主动关闭的流不支持断流续推: #1401 2022-02-09 14:31:40 +08:00
夏楚
c72cf4cbcc
整理命名空间 (#1409)
* feat: remove using namespace mediakit in header files.

(cherry picked from commit d44aeb339a8a0e1f0455be82b21fe4b1b536299f)

* feat: remove using namespace mediakit in FFmpegSource.h

* feat: remove using namespace mediakit in RtpExt.h

* feat: remove using namespace mediakit in header files.

* feat: remove using namespace std in header files.

* feat: remove using namespace std in header files when zltoolkit remove std in header

* 补充命名空间

* 整理命名空间

* 整理命名空间2

* 修复macos ci

* 修复编译问题

* 修复编译问题2

* 修复编译问题3

Co-authored-by: Johnny <hellojinqiang@gmail.com>
Co-authored-by: Xiaofeng Wang <wasphin@gmail.com>
2022-02-02 20:34:50 +08:00
xgj
341459fbf5 fix non rtc push rtc play g711 audio loss 2022-01-24 11:57:24 +08:00
ziyue
09ac333e35 webrtc支持断连续推 2022-01-10 17:43:28 +08:00
ziyue
5a592e6db6 优化循环池性能 2022-01-06 14:30:44 +08:00
ziyue
80d24d2884 修复Windows下编译问题 2021-12-31 14:24:15 +08:00
ziyue
7f6be9e118 Refine: 消除编译警告 2021-12-30 15:28:27 +08:00
ziyue
254bc6889e RTC: 链接迁移后确保老链接及时销毁 2021-12-15 15:55:43 +08:00
xgj
78d014cf51 fix chrome ufrag too short to play webrtc 2021-11-29 16:54:40 +08:00
xiongziliang
f45830cbb8 Refine: 优化webrtc对象追踪机制 2021-11-28 21:43:21 +08:00
xiongziliang
61c55f4030 Refine: 使用socket fd作为日志追踪id 2021-11-28 21:42:54 +08:00
xiongziliang
bc4453015f RTC: 降低rtx重传日志优先级 2021-11-27 22:37:15 +08:00
xiongziliang
8a1f979375 RTC: 修复twcc rtp ext seq回退处理逻辑bug 2021-11-27 22:35:51 +08:00
xiongziliang
8b3a5dda1c Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2021-11-27 21:34:51 +08:00
xiongziliang
90315ebce5 RTC: srtp发送减少一次内存拷贝,提高webrtc发送性能 2021-11-27 21:30:46 +08:00
xiongguangjie
c1b78629e1
fix rtc play signal stream only audio or video failed (#1239) 2021-11-25 20:42:51 +08:00
xiongziliang
dd30ab22cf Performance: 使用循环池优化webrtc分发性能 2021-11-21 11:36:07 +08:00
wxf
1cba3f4d58 修正 gcc 4.8 下编译问题 2021-11-19 17:04:24 +08:00
ziyue
afdc5e4267 Refine: 优化tcp/udp服务器异常管理断开机制 2021-11-19 15:26:33 +08:00
Johnny
7e6467615c refine: rename TwccContext::checkIfNeedSendTwcc to TwccContext::needSendTwcc. 2021-11-19 11:46:10 +08:00
Johnny
da0a7219e9 refactor: 梳理 rtx 处理逻辑 2021-11-19 11:46:10 +08:00
ziyue
fb97c2139a Refine: 优化webrtc sdp处理代码 2021-11-18 21:36:10 +08:00
ziyue
daa06ffd4f Refine: 精简webrtc sdp生成ssrc line相关代码 2021-11-18 21:25:14 +08:00
johzzy
f7963a9032
调整 addSSRCItem 函数 (#1224)
* update readme.

* refactor(sdp): update addSSRCItem.

* refactor(sdp): remove addSSRCItem.

* refactor(sdp): 调整逻辑,生成a=ssrc-group:FID字段
2021-11-18 20:55:18 +08:00
ziyue
950d957c86 RTC: 删除过多stun包日志 2021-11-15 10:40:31 +08:00
ziyue
a7d6e2ba38 RTC: webrtc偏好音视频codec可配置(#1214) 2021-11-15 10:33:16 +08:00
ziyue
6d384c4a1e 修复webrtc推流播放鉴权广播参数类型不匹配导致的bug 2021-10-21 11:05:15 +08:00
ziyue
7c016ad14b Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2021-10-20 17:02:26 +08:00
ziyue
758f1b414e webrtc是否允许发送rtp逻辑移至基类 2021-10-20 16:58:59 +08:00
夏楚
73aed907e7
Update readme.md 2021-10-20 14:49:56 +08:00
ziyue
5ee9b69568 webrtc新增自定义插件模式 2021-10-19 15:23:12 +08:00
ziyue
a3177de658 修复webrtc日志相关编译问题 2021-10-18 17:47:16 +08:00
ziyue
4dcac10b3a 修复webrtc echo test无法在chrome上使用的问题 2021-10-18 17:35:14 +08:00
ziyue
1a5fd824dd mediasoup移植代码开启日志打印 2021-10-18 16:02:41 +08:00
ziyue
9433a0c383 重写webrtc sdp校验逻辑,确保无有效track时抛异常:#1157 2021-10-16 16:46:05 +08:00
ziyue
d2a9878557 删除多余空行 2021-10-16 11:04:49 +08:00
ziyue
34365a2f8f 新增webrtc echo test双向会话示例 2021-10-16 10:52:28 +08:00
ziyue
f0e896a5e2 双向会话时,确保收发ssrc一致 2021-10-16 10:51:48 +08:00
ziyue
85fec6da0b 整理WebRtcSession代码 2021-10-16 10:29:00 +08:00
ziyue
8c1caeff50 合并pr:#1163 2021-10-16 10:25:23 +08:00
Johnny
25a1434e00 进一步改善 WebRtcTransportImp 的生命周期逻辑。 2021-10-15 18:56:49 +08:00
ziyue
efa839c60b 确保完全忽略webrtc客户端不支持的rtp 2021-10-15 17:37:51 +08:00
ziyue
82b78f4544 完善webrtc对象追踪相关日志 2021-10-15 17:14:59 +08:00
ziyue
7f3f47abbb 提取webrtc推流、播放代码为单独的派生类 2021-10-15 16:27:17 +08:00
ziyue
8531b5e1cb webrtc codec类型不支持时,设置为inactive类型 2021-10-15 16:15:23 +08:00
Johnny
638ef8c731 Refine: 调整 WebRtcSession::getPoller 静态函数为 QueryPollerByBuffer 全局函数,以改善其他 getPoller 同名函数可读性。 2021-10-15 11:21:10 +08:00
Johnny
c98e85caec 增加 RtcpContextForSend/RtcpContextForRecv作为RtcpContext子类 2021-10-15 11:21:10 +08:00
ziyue
e4cdc5f213 webrtc extmap方向匹配失败时,不添加进sdp 2021-10-14 16:22:13 +08:00
ziyue
b2bec61932 webrtc rtp扩展(extmap)支持方向设定 2021-10-14 16:18:15 +08:00
ziyue
aaecd74080 rtc answer sdp存在多个ssrc时,确保最后一个不为空 2021-10-14 15:10:55 +08:00
ziyue
043c1bab72 回复rtc sdp时,不拷贝ssrc相关信息 2021-10-14 14:59:37 +08:00
johzzy
2ec3b0ccea
增加 WebRtcTransportManager (#1156)
增加 WebRtcTransportManager
2021-10-13 14:15:29 +08:00
ziyue
acbe99cb43 整理优化webrtc ssrc与simulcast相关代码 2021-10-12 21:26:01 +08:00
ziyue
fbc5378058 合并webrtc相关pr:#1154 2021-10-12 17:32:22 +08:00
Johnny
2a906ad04a 保留 WebRtcTransport::onCheckSdp 接口。 2021-10-12 17:07:04 +08:00
Johnny
0f4289a584 Refine(webrtc/sdp): 函数 WebRtcTransport::onCheckSdp() 拆分为WebRtcTransport::onCheckAnswer() 和 RtcSession::checkSdp() 2021-10-12 16:15:37 +08:00
Johnny
c7633fb5bb Refine(webrtc/sdp): 移除getSdp(SdpType type)。相较而言,直接使用_offer_sdp 和 _answer_sdp 更好。 2021-10-12 15:35:18 +08:00
ziyue
712bdf7310 添加utf8 bom头,防止windows下编译不过 2021-10-11 17:17:39 +08:00
xiongziliang
8d85e6cee0 修复linux下编译问题 2021-10-07 16:12:42 +08:00
xiongziliang
438fd952f2 前移时间戳生成逻辑,防止耗时代码干扰时间戳精度 2021-10-07 15:49:33 +08:00
xiongziliang
29cc6a94f2 初步实现twcc rtcp发送 2021-10-07 15:39:02 +08:00
xiongziliang
0ae1d46892 基本完成twcc rtcp fci的生成 2021-10-07 12:28:59 +08:00
xiongziliang
dbc377a1f9 初步添加twcc rtcp发送逻辑 2021-10-06 22:42:17 +08:00
xiongziliang
fc5b09365e 修复rtp ext解析相关bug 2021-10-06 22:10:54 +08:00
xiongziliang
b1666eb651 实现媒体源pause/speed接口:#1129 2021-09-29 00:16:56 +08:00
ziyue
00f01afec7 修复webrtc相关漏洞:#1110 2021-09-24 11:29:04 +08:00
ziyue
0514278ce6 修复webrtc播放不能秒开的问题 2021-09-16 10:47:49 +08:00
ziyue
dfa9001ed1 优化代码 2021-09-16 10:05:04 +08:00
ziyue
3d64f7253c 优化webrtc性能 2021-09-16 10:03:28 +08:00
ziyue
0aec2ee1c0 修复WebRtcTransport对象使用时释放导致崩溃的问题 2021-09-15 20:41:34 +08:00
ziyue
2b5cad97cf 完善webrtc相关对象生命周期管理逻辑 2021-09-15 20:08:18 +08:00
ziyue
704ea59502 修复无人观看主动关闭webrtc推流线程安全的问题 2021-09-15 14:56:58 +08:00
ziyue
3c4285a056 提高webrtc代码健壮性 2021-09-15 11:50:15 +08:00
xiongziliang
d2a0b1e3e6 基本完成webrtc单端口改造 2021-09-10 22:39:15 +08:00
ziyue
7ba44d1ac8 webrtc单端口模式支持线程安全,支持链接迁移 2021-09-10 18:37:32 +08:00
ziyue
c025b5092d 防止访问空指针 2021-09-08 18:06:40 +08:00
ziyue
02da99e285 初步实现webrtc单udp端口模式 2021-09-08 18:00:55 +08:00
ziyue
8352f119f2 修复webrtc MediaTrack对象循环引用导致内存泄露的问题 2021-09-07 16:33:57 +08:00
ziyue
209d47cf3b 修复webrtc simulcast推流崩溃的bug 2021-09-07 16:22:34 +08:00
ziyue
41f8d7fbd2 修复webrtc模块循环引用导致的内存泄露问题:#1024 2021-09-03 11:46:36 +08:00
ziyue
08e74256da 修复编译警告 2021-09-03 11:45:44 +08:00
ziyue
415bc95dda 完善ntp时间戳计算逻辑 2021-09-02 21:39:10 +08:00
Johnny
6f3f69b459 fix stun packet memory leak. 2021-08-19 19:14:58 +08:00
Xinghua Zhao
da25ce9b83 修改Nakc.cpp在Windows下编译报错的Bug 2021-08-14 10:42:32 +08:00
ziyue
1d161bcdc2 修复webrtc srtp相关功能在大端64位系统崩溃的问题 2021-08-13 16:07:27 +08:00
ziyue
018fa40946 打印codec信息时,打印url信息 2021-08-05 14:49:52 +08:00
ziyue
5c52c636a3 完善nack/srtp相关代码 2021-07-28 11:18:09 +08:00
ziyue
80ab84cbb5 防止nack异步触发时对象析构导致的崩溃 2021-07-27 20:58:01 +08:00
ziyue
b1dc285649 优化代码 2021-07-27 20:52:51 +08:00
ziyue
c59a7a04c3 nack/rtx支持多次重传,提高抗丢包率 2021-07-27 20:42:25 +08:00
ziyue
30840d8200 修复nack/rtx发送时相关bug 2021-07-21 16:44:40 +08:00
ziyue
6ddd420f1c 修复webrtc rtx包计入receiver report统计导致simulcast推流失效的问题 2021-07-14 21:40:08 +08:00
ziyue
298f6e3864 rtp使用ntp时间戳作为时间戳,用于实现rtsp音视频同步 2021-07-12 21:18:22 +08:00
xiongziliang
99a8154fa5 修复webrtc单track功能异常的问题 2021-07-10 20:36:32 +08:00
ziyue
d62cdd81b8 webrtc不支持的mline设置为inactive 2021-07-07 17:58:29 +08:00
ziyue
6220db77e8 修复webrtc纯音频推流时不能注册流的bug:#963 2021-07-07 14:47:41 +08:00
xiongziliang
756b6a4cff Merge branch 'master' of https://github.com/xia-chu/ZLMediaKit into dev 2021-07-06 23:12:52 +08:00
夏楚
ea39ffe558
Merge pull request #966 from johzzy/master
整合rtp ext相关定义.
2021-07-06 23:13:05 +08:00
xiongziliang
986e9511a2 完善rtt相关代码 2021-07-06 23:09:56 +08:00
ziyue
4c296488f1 修复rtcp rr/sr时间戳转换相关问题,计算rtt 2021-07-06 21:48:51 +08:00
Johnny
849a2a0de8 整合rtp ext相关定义. 2021-07-06 17:54:10 +08:00
wxf
1e4963b8fc 修正 Nack 回环检查 2021-07-02 15:56:35 +08:00
ziyue
3165a2f81c 修改服务器版本信息声明相关代码 2021-06-29 11:16:05 +08:00
ziyue
8c670c652e 提前映射ssrc与rid的关系 2021-06-25 18:18:48 +08:00
ziyue
0f1d1ded7e rid支持更新 2021-06-25 18:08:03 +08:00
ziyue
365aead8b6 修复注释 2021-06-25 17:24:32 +08:00
ziyue
edf30a04cf 优化代码 2021-06-25 17:17:48 +08:00
ziyue
89ef183647 精简代码 2021-06-25 17:10:27 +08:00
ziyue
423dd454ca 整理代码 2021-06-25 17:02:58 +08:00
ziyue
76ebf02ced 记录所有rtp的ssrc 2021-06-25 16:57:38 +08:00
ziyue
a7f75774e9 整理RtpReceiver相关代码 2021-06-25 16:24:44 +08:00
ziyue
18b7e45906 整理nack相关代码 2021-06-25 15:43:47 +08:00
ziyue
7406281c96 抽象RtpExtContext对象 2021-06-25 15:31:13 +08:00
ziyue
964cf39145 RtcpContext修改时间戳单位、整理WebRTC相关代码 2021-06-25 14:59:27 +08:00
ziyue
6c01cf336e 抽象MediaTrack与RtpChannel对象 2021-06-25 14:37:11 +08:00
ziyue
ebb947c698 完善simulcast与ssrc相关处理代码 2021-06-24 17:54:16 +08:00
ziyue
74a935a8cd 完善simulcast播放统计功能 2021-06-24 13:20:17 +08:00
ziyue
7a02d2c8d6 不支持的rtp方向,answer sdp设置为inactive 2021-06-24 13:09:51 +08:00
ziyue
a91f4d29f2 完善simulcast接收及处理 2021-06-24 11:39:55 +08:00
ziyue
dcb91e3b50 初步支持simulcast流的接收和分流 2021-06-23 21:44:04 +08:00
wxf
f5786fcba3 兼容 glibc < 2.18
* https://stackoverflow.com/a/8132440/5218590
* https://sourceware.org/bugzilla/show_bug.cgi?id=15366
2021-06-23 10:39:08 +08:00
Johnny
89d8f005f8 fix: fix typo. 2021-06-20 01:46:24 +08:00
wxf
5fc5a9ef5f webrtc: 修正 sdp 中 candidate 解析问题
https://datatracker.ietf.org/doc/html/rfc5245#section-15.1
> foundation = 1*32ice-char
2021-06-18 13:36:25 +08:00
ziyue
807f9626d5 webrtc新增对av1的支持 2021-06-16 11:14:10 +08:00
ziyue
d74589945a 还原 2021-05-19 18:39:23 +08:00
xiongziliang
5b57b9d6ae 确保rtc播放不强引用rtsp直播源 2021-05-16 22:13:08 +08:00
xiongziliang
44b0e13ba7 完善打印svc tid 2021-05-16 22:12:26 +08:00
xiongziliang
c6d2b41d97 完善rtp ext相关处理方法 2021-05-16 21:49:46 +08:00
xiongziliang
5f05df98b0 添加获取类型方法 2021-05-16 21:17:55 +08:00
xiongziliang
a84bcec4aa 完善rtp ext处理相关逻辑 2021-05-16 20:56:03 +08:00
xiongziliang
bda378c340 完善发送rtx rtp处理 2021-05-16 18:06:34 +08:00
xiongziliang
7cdd5ed9df 修复rtx包未修改rtp ext id的问题 2021-05-16 16:59:12 +08:00
xiongziliang
d4ff84e447 完善ssrc相关处理 2021-05-16 16:12:10 +08:00
xiongziliang
f6eb84b413 添加ssrc相关方法 2021-05-16 12:28:50 +08:00
ziyue
a7cd4d0719 rtp ext不做内存拷贝 2021-05-13 01:29:55 +08:00
ziyue
5f13335166 关闭丢包测试代码 2021-05-12 20:53:37 +08:00
ziyue
8fdfc14f6f 整理 nack/rtx/ssrc 2021-05-12 20:51:51 +08:00
ziyue
12be56493e 优化代码 2021-05-12 15:41:50 +08:00
xia-chu
cb280e1eeb rtc推流支持nack/rtx重传 2021-05-11 15:48:01 +08:00
xia-chu
0d61de758e 完善nack与丢包重传2 2021-05-11 12:12:28 +08:00
xia-chu
5c90a1e137 完善nack与丢包重传 2021-05-11 11:18:55 +08:00
xia-chu
cbafdbabc6 防止拷贝 2021-05-11 09:09:35 +08:00
xiongziliang
7ad361b22d rtc播放支持nack重传 2021-05-11 00:54:33 +08:00
xia-chu
c57f31d3d0 代码优化 2021-05-10 18:14:51 +08:00
xia-chu
a42e5f6470 完善ssrc处理逻辑 2021-05-10 18:11:12 +08:00