Commit Graph

508 Commits

Author SHA1 Message Date
xia-chu
f1438986ad 修复stopSendRtp后无法触发无人观看事件的问题 2023-04-18 10:54:49 +08:00
Dw9
978143c86d
rtp级联(ps/ts/es)新增支持gop缓存功能 (#2395)
该修改主要解决rtp级联(调用startSendRtp接口)未做gop缓存导致上级无法秒开的问题。
同时通过RingBuffer对象线程隔离的特性,实现了在断连续推场景下归属线程切换导致的线程安全问题。
用户如未使用rtp级联功能,请修改配置文件关闭GOP缓存(rtp_proxy.gop_cache=0)以便节省内存。

---------

Co-authored-by: 夏楚 <771730766@qq.com>
2023-04-17 12:19:24 +08:00
王成
3a6f660619
新增Assert异常类型,解决国标重复推流不注销问题 (#2393)
Co-authored-by: wangcheng <wangcheng@xwmail.com>
Co-authored-by: xia-chu <771730766@qq.com>
2023-04-14 15:10:48 +08:00
xiongziliang
dfd37ff350 时间戳处理新增接口支持获取相对时间戳 2023-03-22 21:19:16 +08:00
xia-chu
c2a8d46a64 提高c sdk mk_media对象线程安全 2023-03-11 11:02:20 +08:00
xia-chu
ba4296e180 修复断连续推情况下线程迁移导致崩溃的bug:#2283
如果一个MultiMediaSourceMuxer对象上挂载了很多个RtpSender对象,
这些对象会绑定MultiMediaSourceMuxer的OwnerPoller(归属线程),
在断连续推发生时,对应的MultiMediaSourceMuxer对象OwnerPoller线程
将发生变更,导致与RtpSender对象的线程不一致。
2023-03-11 10:34:58 +08:00
alexliyu7352
2f8dab66c5
http地址支持相对路径 (#2223)
* 部分hls中会出现类似[../]或者[./]的相对地址, 因此写了一个解析的方法

* 有时候上游http协议不规范会导致直接输出eof, 特别是在自动重试机制开启下, 容易造成定时器没办法初始化从而拉不到流但是session一直存在,所以需要做一个判断,如果没数据直接报错
2023-02-20 10:52:00 +08:00
xiongziliang
5bcfba1da4 startSendRtpPassive接口新增连接超时参数:close_delay_ms 2023-02-17 23:02:09 +08:00
xiongziliang
8f0ba6988b openRtpServer接口新增only_audio参数,优化语音对讲场景 2023-02-17 22:48:39 +08:00
xiongziliang
0374e7a660 startSendRtp接口支持同时接收流:#2109,#2149 2023-01-07 22:36:30 +08:00
Dw9
3b3a83b524
修复MediaSource在startSendRtp后无法注销的bug (#2187) 2023-01-07 21:31:46 +08:00
ziyue
77e46353ce 新增支持mjpeg es rtp流
mpegts/g711 payload改成固定模式
2022-12-30 18:04:15 +08:00
xiongziliang
04422b31b6 完善非法url提示:#2129 2022-12-04 16:21:08 +08:00
老衲不出家
f05a9501fa
Unified code style (#2137) 2022-12-02 14:43:06 +08:00
monktan89
68ea5465cc 修复addStreamProxy后,马上startSendRtp,触发的无人观看事件回调是MediaSourceNull的信息,导致无法关闭流bug(#2120) 2022-11-29 11:33:16 +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
xiongziliang
50fa671564 修复析构中调用getOwnerPoller抛异常导致崩溃的bug:#2117 2022-11-26 10:16:47 +08:00
ziyue
68948288e0 TcpSession/UdpSession统一为Session类 2022-11-19 09:33:10 +08:00
xiongziliang
9bb6a2f828 全面整理转协议相关配置文件 2022-11-12 23:56:28 +08:00
xiongziliang
946945ce7b 优化代码
整理代码
2022-11-12 22:06:09 +08:00
xiongziliang
b54f50c7c0 修复hls流注销时相关bug:#2082 2022-11-12 09:57:47 +08:00
xiongguangjie
bc63142712 add rtp server timeout hook 2022-11-10 16:58:02 +08:00
xiongziliang
44fd6b86bc 完善版本信息 2022-11-06 00:38:14 +08:00
xiongziliang
0053148139 优化MultiMediaSourceMuxer相关代码 2022-11-05 20:47:33 +08:00
ziyue
d04761c2c6 Merge branch 'FrameDispatcher_addDelegate_refactor' of github.com:mtdxc/ZLMediaKit 2022-11-01 16:36:43 +08:00
cqm
ac3d7bd21f add addDelegate with std::function, remove FrameWriterInterfaceHelper 2022-11-01 12:03:04 +08:00
ziyue
520945c2e9 提高线程安全性 2022-11-01 10:53:38 +08:00
xiongguangjie
0a71e06d4a united some code style 2022-10-19 14:55:39 +08:00
xiongguangjie
7b87985f74 Merge remote-tracking branch 'origin/master' 2022-10-19 14:27:49 +08:00
xiongguangjie
0d2e035215 rtsp and rtp h264 lowlatency mode config 2022-10-19 14:20:53 +08:00
ziyue
ff6e9f4fc7 修复流注销时,hls无法播完最后一个切片的问题: #1955 2022-10-18 19:23:20 +08:00
ziyue
ac1abb34da 新增媒体流flush机制:#1996 2022-10-16 19:54:17 +08:00
xiongguangjie
bbdcc44eb0 mute audio maker avoid uint32_t cycle and 8k aac a frame is 128ms 2022-10-11 16:53:27 +08:00
xiongziliang
c790254f46 修复关闭mp4录制不能触发无人观看事件问题:#2010 2022-10-06 13:06:54 +08:00
夏楚
037dd646d1
Merge pull request #1994 from Dw9/master
修复rtsp 推pcm L16, 空指针的异常
2022-09-26 10:27:30 +08:00
Dw9
6f1a45db8a 修复推rtsp L16崩溃 2022-09-25 12:13:09 +08:00
夏楚
b9a4b3e71a
消除编译警告 2022-09-24 19:07:45 +08:00
ziyue
15affeff1d 优化关闭媒体源相关逻辑: #1963 2022-09-18 20:36:47 +08:00
xiongziliang
12551be33c 提炼ProtocolOption赋值相关逻辑 2022-09-16 23:31:37 +08:00
custompal
08789454c3
rtsp支持指定播放单一track (#1937) 2022-09-13 16:27:00 +08:00
cqm
999e0b274e 简化代码:
- MediaSource引入shortUrl和getUrl来简化日志输出
- WebApi引入fillSockInfo
2022-09-07 11:47:15 +08:00
xiongziliang
5825f8b469 修复错误注释 2022-09-03 16:32:10 +08:00
xiongziliang
20f1275c58 rtsp拉流、rtp单端口推流新增支持获取丢包率: #1877 2022-09-03 16:32:09 +08:00
PioLing
0948a3df31
支持在addStreamProxy和on_publish中控制单个流是否开启时间戳覆盖 (#1930) 2022-09-03 09:54:09 +08:00
custompal
04aa3ef41f 增加获取媒体流播放器列表功能 2022-08-30 21:05:19 +08:00
xiongzilaing
679c79802f 整理媒体事件相关代码,删除无须重载时的多余代码逻辑 2022-08-28 17:25:56 +08:00
xiongziliang
6a4297845f 新增发送rtp被动关闭hook 2022-08-27 10:53:47 +08:00
xiongziliang
c2ab45f78d 完善线程安全设计 2022-08-27 10:17:06 +08:00
ziyue
208b0865bd 修复全局变量初始化顺序错乱导致崩溃的问题 2022-08-23 14:11:32 +08:00
xiongziliang
c6a0e3ad66 rtp发送启停支持触发观看人数统计事件 2022-08-20 13:16:25 +08:00