Commit Graph

10 Commits

Author SHA1 Message Date
xiongguangjie bc1d31e148
Push force replace (#2899)
Co-authored-by: Alex <liyu7352@gmail.com>
Co-authored-by: xia-chu <771730766@qq.com>
Co-authored-by: Johnny <hellojinqiang@gmail.com>
Co-authored-by: BackT0TheFuture <10088733+BackT0TheFuture@users.noreply.github.com>
Co-authored-by: ljx0305 <ljx0305@gmail.com>
Co-authored-by: Per-Arne Andersen <per@sysx.no>
Co-authored-by: codeRATny <60806889+codeRATny@users.noreply.github.com>
Co-authored-by: 老衲不出家 <tannzh2018@outlook.com>
Co-authored-by: Kiki <haijuanchen.sun@gmail.com>
Co-authored-by: PioLing <964472638@qq.com>
Co-authored-by: dengjfzh <76604422+dengjfzh@users.noreply.github.com>
Co-authored-by: a-ucontrol <55526028+a-ucontrol@users.noreply.github.com>
Co-authored-by: 百鸣 <94030128+ixingqiao@users.noreply.github.com>
Co-authored-by: fruit Juice <2317232721@qq.com>
Co-authored-by: Luosh <fjlshyyyy@qq.com>
Co-authored-by: tbago <moonzalor@gmail.com>
Co-authored-by: Talus <xiaoxiaochenjian@gmail.com>
Co-authored-by: 朱如洪 <zhu410289616@163.com>
Co-authored-by: pedoc <pedoc@qq.com>
Co-authored-by: XiaoYan Lin <linxiaoyan87@foxmail.com>
Co-authored-by: xiangshengjye <46069012+xiangshengjye@users.noreply.github.com>
Co-authored-by: tjpgt <602950305@qq.com>
Co-authored-by: Nick <joyouswind@gmail.com>
Co-authored-by: yogo-zhangyingzhe <100331270+yogo-zhangyingzhe@users.noreply.github.com>
Co-authored-by: Xiaofeng Wang <wasphin@gmail.com>
Co-authored-by: Dw9 <xweimvp@gmail.com>
Co-authored-by: waken <33921191+mc373906408@users.noreply.github.com>
Co-authored-by: Deepslient <1154547394@qq.com>
2023-10-12 17:09:20 +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
夏楚 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
ziyue 758f1b414e webrtc是否允许发送rtp逻辑移至基类 2021-10-20 16:58:59 +08:00
ziyue 34365a2f8f 新增webrtc echo test双向会话示例 2021-10-16 10:52:28 +08:00
ziyue 7f3f47abbb 提取webrtc推流、播放代码为单独的派生类 2021-10-15 16:27:17 +08:00