Commit Graph

4344 Commits

Author SHA1 Message Date
Armstrong
b8cb8957e4
修复WebApi退出清理时重复析构问题 (#2900)
1. s_???Map.clear()会触发key/value的析构,先执行析构再移除map成员。析构执行完之前map成员仍然有可见性。
2. s_???Map的成员析构时,根据当前状态,可能触发回调,如播放终止回调。
3. 在状态变更的回调函数中,通过s_???Map.erase(key)的方式解注册,此时也会触发一次析构。

两次析构导致double free:a) map.erase, b) map.clear

Signed-off-by: ArmstrongCN <armstrong@sweelia.com>
2023-10-13 15:26:31 +08:00
imp_rayjay
eedf262059
新增支持mjpeg负载的mp4文件点播 (#2898) 2023-10-12 17:26:53 +08:00
Deepslient
67bc0273b4
Modify the readme description (#2859) 2023-10-12 14:38:45 +08:00
PioLing
6348e64cdf
确保hls播放器持续播放 (#2896)
在hls注销后,hls cookie会继续存活60秒,在此期间,如果hls流重新注册,将导致无法继续播放;
通过此修改,在hls注销后每3秒查询一次MediaSource,可以在性能和功能间保持平衡。
2023-10-12 11:05:41 +08:00
fruit Juice
c25e76311f
修复相对时间戳模式下时间戳回退导致音视频不同步的问题 (#2894 #2877)
加大时间戳回退容忍度,最大回退阈值改成与跳变最大幅度一致
2023-10-11 14:52:16 +08:00
alexliyu7352
fdc00d5a02
增加jemalloc工具类, 增加jemalloc内存统计分析 (#2885)
增加jemalloc工具类, 增加jemalloc内存统计分析
2023-10-10 11:48:56 +08:00
alexliyu7352
db3f0147be
升级jemalloc到5.3版本 (#2884)
升级jemalloc到5.3版本,相比5.2.1内存稳定许多,去除--without-export编译参数,
解决类似glibc中分配内存却在jemalloc中释放导致崩溃问题.
比如: toolkit::LoggerWrapper::printLogV中使用的vasprintf
2023-10-09 19:37:04 +08:00
xia-chu
48f62810c7 更新zltoolkit
优化udp server线程分配逻辑,确保线程负载更均衡
2023-09-28 16:00:33 +08:00
xia-chu
ba01136f15 更新默认ssl证书
之前证书(default.zlmediakit.com)已过期,故更新
2023-09-28 15:48:51 +08:00
夏楚
9f6930390a
IP白名单支持ipv6 (#2858)
Fix #2855
2023-09-26 14:48:19 +08:00
xia-chu
3ff373471e 更新zltoolkit
修复tcp客户端获取peer ip信息失败的问题
2023-09-23 20:34:53 +08:00
xia-chu
d542eca4d7 http-flv拉流客户端支持压测模式 2023-09-23 20:34:43 +08:00
xia-chu
585f7c3a3a 修复ffmpeg日志保存目录相关bug
每次调用addFFmpegSource/getSnap接口时,都可能导致篡改全局配置变量
2023-09-23 20:34:36 +08:00
xiongguangjie
f69f3b3029
docker 优雅关闭(docker stop graceful) (#2827) 2023-09-09 10:59:27 +08:00
xiongziliang
f26e25323f 更新作者列表与readme 2023-09-02 19:26:24 +08:00
Deepslient
6fa4d1b92f Add semicolons to unify JS format 2023-09-02 19:10:52 +08:00
xia-chu
c83a3c5639 mk_media_source_broadcast_msg接口添加返回值 2023-09-02 13:06:42 +08:00
xia-chu
11fdffe84a 新增broadcastMessage接口 2023-09-02 13:01:56 +08:00
xia-chu
144165d537 新增mk_media_source_broadcast_msg接口
通过该接口可以广播webrtc datachannel消息给webrtc播放器
2023-09-02 12:58:20 +08:00
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
c35b5e9215 rtp过滤逻辑限制version字段 2023-09-02 10:50:25 +08:00
waken
fef85da771
修复调用close_stream同时调用getMediaList引发的崩溃 (#2800)
复现条件:chrome打开webrtc
demo网页,网页会每秒调用getMediaList。添加一条rtsp拉流,然后再调用close_stream,会偶现进入RtspPlayer::getPacketLossRate函数,然后_rtcp_context为空拿不到指针
2023-08-31 10:53:46 +08:00
Dw9
81966f2c48
修复未开启sctp时,webrtc datachannel sdp交换相关bug (#2791)
主要优化如下:
1、通过设置port为0 声明不支持datachannel(而不是inactive)。
2、设置正确的ice用户名和密码,防止ice建联失败。
3、group attribute移除datachannel的mid。
3、datachannel 相关sdp移除rtcp相关描述。
2023-08-29 11:22:30 +08:00
xia-chu
0844f09e24 addStreamProxy重复拉流时返回错误 (#2773) 2023-08-26 23:03:15 +08:00
xia-chu
06a6d26491 提高http文件服务器安全性 2023-08-26 19:43:11 +08:00
xia-chu
f36ccee3de 更新zltoolkit 2023-08-26 11:34:30 +08:00
xia-chu
cb4ab21548 修复rtsp组播遍历迭代器导致崩溃的bug 2023-08-26 11:34:22 +08:00
xia-chu
f3f4b49332 修复设置点播速度后时间戳跳跃问题 2023-08-26 11:34:12 +08:00
xia-chu
b4fd445f2d webrtc测试页面不再刷新流列表 2023-08-26 11:33:54 +08:00
xia-chu
895e93cb6a 端口池分配端口改成无序分配
解决zlmediakit重启后端口重复分配导致国标串流问题
2023-08-20 12:19:53 +08:00
xia-chu
0c80f0c13c 更新zltoolkit
修复在收到tcp reset时,获取socket对端地址失败的问题: #2749
2023-08-20 11:38:04 +08:00
xia-chu
90c164f7f7 rtsp播放器过滤非法的回复 (#2760)
提高对一些rtsp流的兼容性
2023-08-20 11:19:57 +08:00
夏楚
e628cba1ca
新增配置项过滤on_stream_changed hook协议类型 (#2759)
配置项hook.stream_changed_schemas可指定监听感兴趣的协议
2023-08-14 00:05:32 +08:00
夏楚
f69204b321
hook请求添加hook_index, 防止hook请求乱序 (#2758) 2023-08-13 20:46:08 +08:00
xia-chu
2e05119df1 修复访问http目录下索引文件相关的bug 2023-08-12 15:54:12 +08:00
xia-chu
08299b6652 mp4录制新增追踪日志 2023-08-12 15:50:09 +08:00
xia-chu
aac8905619 api secret无效时不再直接退出程序
而是修改为随机字符串并持久化至配置文件
2023-08-12 15:43:30 +08:00
xia-chu
a7d95461ee 过滤掉不支持的webrtc rtp ext,提高webrtc转发兼容性
在测试obs simulcast推流时,发现chrome无法正常播放,
分析rtp ext扩展,发现是rtp mid ext未过滤导致,
zlmediakit在回复answer sdp时,已申明不支持mid扩展,
但是obs并未理会还是发送mid扩展。
根据answer sdp过滤rtp ext可兼容此问题。
2023-08-12 15:25:16 +08:00
xia-chu
2378617dd8 修复前向声明导致的编译问题 2023-08-08 16:06:29 +08:00
夏楚
383da1e09e
优化代码 (#2741)
删除无效的配置项,
同时修复编译警告
2023-08-05 21:30:01 +08:00
夏楚
fbf4819c5a
更新合作项目列表 2023-08-05 21:29:34 +08:00
夏楚
98a3b8ab91
推流结束时,发送eof控制信令给rtmp播放器 (#2711 #2723) 2023-08-05 09:26:52 +08:00
夏楚
ff225114ec
修复rtsp服务可能无法发送rtp给nat内播放器的bug (#2737 #2740)
在udp connect rtsp播放器内网端口后,可能导致过滤掉其公网端口发送的打洞包;
从未无法完成与rtsp播放器udp端口的双向通信。
Socket::bindPeerAddr修改成软绑定时,只是保存发送目标地址,不会导致打洞包的过滤。
2023-08-05 09:25:35 +08:00
夏楚
2935bc1932
修复sdp全局信息未保存问题 (#2739)
解决rtsp拉流代理时无法区分直播点播问题
2023-08-05 09:24:52 +08:00
夏楚
bd7982ecc1
某些分支不开启docker ci (#2722)
为了加快编译速度,只开启master、feature、release分支的docker ci
2023-07-29 23:52:17 +08:00
夏楚
63a50104fa
rtp ntp时间戳采用透传方式 (#2719) 2023-07-29 23:04:26 +08:00
夏楚
5a2bf8d196
完成对enhanced rtmp videocodecid的兼容 (#2718)
请查阅: https://github.com/veovera/enhanced-rtmp/issues/8
2023-07-29 23:03:28 +08:00
夏楚
bd8ad2eabf
优化enhanced-rtmp解析性能 (#2717) 2023-07-29 13:24:21 +08:00