xia-chu
e3e7495c90
新增webrtc播放器datachannel消息广播机制和接口
2023-09-02 12:53:56 +08:00
xia-chu
39dd886ec1
优化获取播放器列表相关功能
2023-09-02 12:07:42 +08:00
xia-chu
d286ac1d73
NoticeCenter支持安全类型转换,解决监听者参数类型不一致导致的bug
2023-09-02 11:22:28 +08:00
xia-chu
cdf97e7605
更新zltoolkit,适配最新代码
2023-04-28 22:04:09 +08:00
mtdxc
4783ac0808
修复webrtc多候选地址无法来回切换的bug ( #2266 )
...
最后一个连通的候选地址会被赋值并锁定为_selected_session,如果之前的候选地址再发送数据,将通过_selected_session回复,导致无法切换为旧的候选地址。
2023-03-03 11:18:21 +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
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
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
0b355759de
整理webrtc相关代码命名空间
2022-09-18 21:03:05 +08:00
cqm
999e0b274e
简化代码:
...
- MediaSource引入shortUrl和getUrl来简化日志输出
- WebApi引入fillSockInfo
2022-09-07 11:47:15 +08:00
custompal
0d6509ce03
统一部分变量名和代码样式风格
2022-08-30 21:24:25 +08:00
custompal
04aa3ef41f
增加获取媒体流播放器列表功能
2022-08-30 21:05:19 +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
758f1b414e
webrtc是否允许发送rtp逻辑移至基类
2021-10-20 16:58:59 +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