夏楚
|
5464313b41
|
修复webrtc推流互斥锁重入死锁bug (#2713)
simulcast推流时,在onRecvRtp函数中可能触发对totalReaderCount的调用,从而导致死锁。
|
2023-07-29 13:04:24 +08:00 |
|
夏楚
|
09aa38334e
|
H264 rtsp sdp生成正确的packetization-mode (#2691)
|
2023-07-22 17:30:39 +08:00 |
|
Dw9
|
eb382c3fc9
|
修复whip delete_webrtc未注销流 (#2688)
bug触发条件:
1、obs whip 推流到zlm
2、关闭推流
3、zlm 未注销流
|
2023-07-22 10:46:17 +08:00 |
|
yogo-zhangyingzhe
|
9e8568e753
|
添加rtp ext: av1-rtp-spec (#2609)
Co-authored-by: xia-chu <771730766@qq.com>
|
2023-07-08 23:28:34 +08:00 |
|
夏楚
|
fad8dd74e7
|
修复webrtc开启simulcast推流时,统计观看人数线程安全相关bug (#2640)
|
2023-07-08 21:33:07 +08:00 |
|
johzzy
|
03770ff409
|
Replace the tuple (vhost/app/stream) with MediaTuple. (#2560)
|
2023-06-17 10:28:01 +08:00 |
|
xia-chu
|
af0ebf4633
|
优化Parser代码命名
|
2023-06-10 14:55:40 +08:00 |
|
Johnny
|
0232caf068
|
add MediaTuple
|
2023-05-30 11:01:27 +08:00 |
|
Johnny
|
f4ee607feb
|
add RtspMediaSource::Clone
|
2023-05-30 11:01:27 +08:00 |
|
a-ucontrol
|
51e9313275
|
Make available the media_info variable for the class inherited from WebRtcSession and HttpSession. (#2505 #2461)
|
2023-05-29 14:48:13 +08:00 |
|
Johnny
|
bfec1b1e0e
|
fix typo
|
2023-05-02 20:41:13 +08:00 |
|
xia-chu
|
2708c85d57
|
修复编译问题
|
2023-04-28 23:08:59 +08:00 |
|
xia-chu
|
8c049d4e28
|
实现whip/whep delete相关功能
通过whip/whep 回复http头中的Location url进行删除资源
新增delete token随机数实现删除鉴权
|
2023-04-28 22:36:58 +08:00 |
|
xia-chu
|
d2349f01bd
|
使用static_pointer_cast优化性能
|
2023-04-28 22:04:38 +08:00 |
|
xia-chu
|
cdf97e7605
|
更新zltoolkit,适配最新代码
|
2023-04-28 22:04:09 +08:00 |
|
xiongziliang
|
c8a20f85f6
|
直接打印SockException类
|
2023-04-23 00:10:18 +08:00 |
|
xiongziliang
|
de8249592e
|
Session类构造析构跟踪日志统一在底层网络框架打印
|
2023-04-22 23:58:17 +08:00 |
|
Johnny
|
82bc416546
|
add exchangeSdp
|
2023-04-21 20:40:37 +08:00 |
|
xia-chu
|
fcb0124f29
|
适配更新zltoolkit,优化增强网络库:#2397
|
2023-04-19 13:12:39 +08:00 |
|
xia-chu
|
70ad9cb0b6
|
设置webrtc端口缺省配置为0(不开启)
|
2023-03-13 21:00:00 +08:00 |
|
ahaooahaz
|
37cb29fa8e
|
increase sdp rel-addr length limit: #2330 #2302
|
2023-03-13 17:38:08 +08:00 |
|
xia-chu
|
4cc2982a2c
|
重写jitter buffer算法,修复seq回环时可能丢包的bug
|
2023-03-11 10:17:31 +08:00 |
|
xia-chu
|
c301ecd207
|
限定nack rtt时间有效值范围
|
2023-03-11 10:16:44 +08:00 |
|
xiongguangjie
|
cba46e2c87
|
Merge remote-tracking branch 'origin/master'
|
2023-03-08 19:34:01 +08:00 |
|
xiongguangjie
|
a7c7470d46
|
compitable for rtc ipv6 candidate and ice-lite sdp global session
|
2023-03-08 19:33:52 +08:00 |
|
ziyue
|
23296ae5fa
|
加大参数冗余,提高webrtc抗丢包能力
|
2023-03-07 10:37:44 +08:00 |
|
xiongziliang
|
4942a0f574
|
优化nack重传rtt间隔时间估算逻辑
|
2023-03-05 21:54:27 +08:00 |
|
xiongziliang
|
3bc75d6ba8
|
注释过多的日志
|
2023-03-05 20:55:57 +08:00 |
|
xiongziliang
|
280ee30aac
|
优化webrtc nack响应速度且精简代码
|
2023-03-03 22:13:59 +08:00 |
|
ziyue
|
8ab3e0a4d4
|
初始化selectedTuple为nullptr, 修复webrtc ice建连状态错误
|
2023-03-03 15:25:15 +08:00 |
|
ziyue
|
56d6eb0f28
|
批量替换tab为4个空格
|
2023-03-03 15:24:12 +08:00 |
|
mtdxc
|
4783ac0808
|
修复webrtc多候选地址无法来回切换的bug (#2266)
最后一个连通的候选地址会被赋值并锁定为_selected_session,如果之前的候选地址再发送数据,将通过_selected_session回复,导致无法切换为旧的候选地址。
|
2023-03-03 11:18:21 +08:00 |
|
xiongziliang
|
c2e1083493
|
复用rtp/rtcp判断逻辑过滤非rtp包: #2247
|
2023-02-28 22:23:30 +08:00 |
|
ziyue
|
a981ce8cb3
|
优化webrtc nack算法:#2249
|
2023-02-25 00:19:00 +08:00 |
|
Talus
|
46842e6f29
|
修复WebRTC播放导致媒体延迟注销问题 (#2246)
因WebRtcPlayer中使用RtspMediaSource的共享指针,特定情况下引起媒体注销无法触发的问题。
- 重现步骤
在ZL的webrtc demo页面推流
浏览器打开如下html
webrtc.html
关闭推流器页面,推流器停止推流
webrtc.htm浏览器console->network将观察到:即使推流停止,但webrtc sdp请求一直能成功获取sdp,且流媒体一直不注销
- 原因
因为每个WebRtc 播放 SDP请求都会产生 WebRtcPlayer,产生RtspMediaSource的共享指针,产生强引用。
而DTLS超时释放需要一定的时间,WebRtcPlayer销毁需要超时。如果请求sdp的时间足够短,强引用会一直存在。将永远无法触发媒体注销
- 场景
webrtc播放存在重试,但是udp不通。DTLS无法创建
有人对ZLM执行恶意攻击,短时间内不断请求SDP但是不建立WebRTC通信
|
2023-02-20 16:23:29 +08:00 |
|
Alexandr
|
8bcc2cddc8
|
Build without usrsctp
|
2022-12-30 08:51:37 +03:00 |
|
xiongguangjie
|
96f549ab32
|
avoid bug for #2159
|
2022-12-15 19:17:09 +08:00 |
|
monktan89
|
f6a36180b4
|
修复webrtc转发可能内存越界的bug: #2159
|
2022-12-14 15:08:59 +08:00 |
|
Dw9
|
9d40c82141
|
修复手机推rtc,其他协议拉流画面旋转
|
2022-12-08 21:52:55 +08:00 |
|
老衲不出家
|
f05a9501fa
|
Unified code style (#2137)
|
2022-12-02 14:43:06 +08:00 |
|
monktan89
|
a12b7c8021
|
修正代码拼写错误
|
2022-11-30 18:24:35 +08:00 |
|
mtdxc
|
754073918a
|
Header refactor (#2115)
* 优化MultiMediaSourceMuxer头文件包含
* 将MediaSinkDelegate和Demux移到MediaSink中
* MediaSource头文件重构, 独立出PacketCache.h
精简Frame和Track的头文件
* Rtmp头文件重构
* Rtsp头文件重构
* webrtc头文件重构
* 规范.h头文件包含,并将其移到.cpp中:
- 尽量不包含Common\config.h
- Util\File.h
- Rtsp/RtspPlayer.h
- Rtmp/RtmpPlayer.h
* 删除多余的Stamp.h和Base64包含
|
2022-11-29 11:07:13 +08:00 |
|
Johnny
|
59ecdd13e5
|
fix: WebRtcTransport 切换 poller 线程时,创建 WebRtcSession 不需要加锁
|
2022-11-28 17:54:16 +08:00 |
|
johzzy
|
bc4fa2bc53
|
fix(rtcp/bye): 收到rtcp bye时不断开webrtc连接 (#2123)
bye(203) 会在 sender audio track mute 时出现, 不能作为 shutdown 的依据
|
2022-11-28 17:52:37 +08:00 |
|
Dw9
|
fef9d31631
|
webrtc支持通过http参数指定是否优先tcp模式 (#2105)
* webrtc push/play支持通过http参数指定tcp
* force_tcp改成perferred_tcp
Co-authored-by: xiongziliang <771730766@qq.com>
|
2022-11-27 12:43:16 +08:00 |
|
ziyue
|
9fd5152aa1
|
确保webrtc关闭udp模式时可用
|
2022-11-19 09:52:10 +08:00 |
|
ziyue
|
d910c80a00
|
优化webrtc iceandidate端口相关代码
|
2022-11-19 09:46:04 +08:00 |
|
xiongguangjie
|
0d6fa1281a
|
add rtc tcp port config and ignore candidate when port is 0
|
2022-11-19 01:51:53 +08:00 |
|
Dw9
|
47530ce830
|
新增支持webrtc over tcp模式 (#2092)
* webrtc server/session/cadidate 改为tcp
* 先屏蔽检查isCurrentThread
* 接受和发送的数据处理tcp 2字节头
* 处理rtc tcp 分片
* 完善webrtc over tcp
* 精简rtp服务器相关代码
* 适配webrtc AV1编码: #2091
* webrtc tcp模式支持Firefox
* webrtc tcp模式支持线程安全
* c sdk支持webrtc tcp
Co-authored-by: ziyue <1213642868@qq.com>
|
2022-11-18 22:52:57 +08:00 |
|
ziyue
|
fc433de9ac
|
适配webrtc AV1编码: #2091
|
2022-11-18 16:47:02 +08:00 |
|