Commit Graph

189 Commits

Author SHA1 Message Date
xia-chu
4cc2982a2c 重写jitter buffer算法,修复seq回环时可能丢包的bug 2023-03-11 10:17:31 +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
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
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
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
xiongziliang
a916760ac3 整理webrtc c接口 2022-10-06 12:35:14 +08:00
ziyue
0b355759de 整理webrtc相关代码命名空间 2022-09-18 21:03:05 +08:00
xiongguangjie
d04a6d4355 rtc receive sr reset alive ticker 2022-09-09 23:04:28 +08:00
xiongguangjie
7f86299c80 rtc stop push unregister mediasource 2022-09-07 19:10:06 +08:00
xiongziliang
20f1275c58 rtsp拉流、rtp单端口推流新增支持获取丢包率: #1877 2022-09-03 16:32:09 +08:00
Dw9
b7ef766701
支持单独的datachannel通道 (#1894)
* 支持单独的datachannel 通道

* 当仅有datachannel时 ,忽略rtp和rtcp超时

* 单独开启datachannel时,通过dtls包维持心跳

Co-authored-by: xiongziliang <771730766@qq.com>
2022-08-20 10:28:19 +08:00
Xiaofeng Wang
0fc38bbadb 避免对外传递 srtp 依赖 2022-07-26 00:04:03 +08:00
xiongguangjie
cffc0743d7 format code use clang-format 2022-07-14 22:49:31 +08:00
xiongguangjie
602b475a3c for rtc send can receive rtcp xr, player can calculate rtt , for metaRTC player send rtcp xr 2022-07-12 19:26:17 +08:00
Haibo Chen
576056c465
get ip from env, for externIP in file 'config.ini' (#1786) 2022-07-09 21:44:57 +08:00
xiongziliang
94839fd93c 添加bom头 2022-06-18 14:34:58 +08:00
xiongziliang
df7a3242bb 修复获取webrtc推流丢包率除0的bug 2022-06-11 14:23:43 +08:00
xiongziliang
b6d3ec5251 完善获取丢包率pull request; 新增MediaSource::getOwnerPoller接口 2022-06-11 12:56:03 +08:00
Leon
be995f9cd2 !17 【功能请求】 /index/api/getMediaList接口 增加LOSS字段用于统计每个轨道丢包率反馈
* update webrtc/WebRtcPusher.h.
* update webrtc/WebRtcPusher.cpp.
* update webrtc/WebRtcTransport.h.
* update webrtc/WebRtcTransport.cpp.
* update src/Common/MediaSource.h.
* update src/Common/MediaSource.cpp.
* update server/WebApi.cpp.
2022-06-11 04:31:06 +00:00
xiongziliang
b23cbaa0f8 on_publish hook新增continue_push_ms参数,用于断连续推延时控制 2022-06-04 11:06:35 +08:00
mtdxc
6cab65f7b0
支持SDP munging方式simulicast (#1639) 2022-05-18 11:26:57 +08:00
mtdxc
301cbf0a83
支持多个rtc候选地址 (#1622)
* 支持多个rtc候选地址

* fixed missing extern_ips check
2022-05-12 15:21:09 +08:00
xiongziliang
d66845425c 完善ipv6网络适配 2022-05-08 00:26:01 +08:00
xiongziliang
fb003714e9 新增webrtc datachannel功能: #1216 2022-05-04 22:15:21 +08:00
xiongziliang
1ed793fe97 初步实现webrtc datachannel sdp握手 2022-04-03 17:12:23 +08:00
xiongziliang
4dc621e1bb 转协议选项抽象为ProtocolOption对象 2022-03-12 13:24:23 +08:00
ziyue
d88fe077ed on_publish hook新增originType字段 2022-03-02 18:03:44 +08:00
xiongziliang
497bf289b6 完善rtc网络迁移日志打印 2022-02-27 21:40:32 +08:00
xiongziliang
f8ef5579ee 整理webrtc相关日志 2022-02-27 21:26:49 +08:00
xiongziliang
ba5ca8f5c7 修复rtp seq重复导致rtp nack重传列队异常的bug 2022-02-27 02:07:25 +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
夏楚
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
09ac333e35 webrtc支持断连续推 2022-01-10 17:43:28 +08:00
ziyue
5a592e6db6 优化循环池性能 2022-01-06 14:30:44 +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
bc4453015f RTC: 降低rtx重传日志优先级 2021-11-27 22:37:15 +08:00
xiongziliang
90315ebce5 RTC: srtp发送减少一次内存拷贝,提高webrtc发送性能 2021-11-27 21:30:46 +08:00
xiongziliang
dd30ab22cf Performance: 使用循环池优化webrtc分发性能 2021-11-21 11:36:07 +08:00