Commit Graph

36 Commits

Author SHA1 Message Date
taojishou 59dcd03b70
修改hls拉流后closestream崩溃的bug (#1678)
* 修改hls拉流后closestream崩溃的bug

Co-authored-by: 夏楚 <771730766@qq.com>
2022-06-01 13:05:49 +08:00
ziyue c7d7999f53 兼容gcc4.8编译器 2022-05-18 20:07:54 +08:00
xiongziliang f1555a5501 防止忽略shutdown事件 2022-05-13 23:54:04 +08:00
xiongziliang fdbfccb32e hls/http-ts播放器在消费完frame时再触发shutdown事件 2022-05-13 23:22:00 +08:00
alexliyu7352 a0c1bc13cc
修复多次调用onShutdown的bug (#1552)
当HlsPlayer拉取索引失败后会触发PlayerProxy的重试机制.
但是这里就有一个bug会导致重试次数不准确.
因为HlsPlayer播放失败会调用onShutdown.
然后回调PlayerProxy.
之后如果触发重试, 那么在HlsPlayer析构的时候又会在调用一次onShutdown.
这时候是安全的, 因为_on_shutdown已经被置空.
但是如果重试时又再次失败, 那么首先会调用
onPlayResult
这时候在PlayerProxy中会再次触发重试, 紧接着HlsPlayer析构, 又会调用一次onShutdown, 那么就又会触发一次重试.

修复方法有很多, 最简单的就是直接在
onShutdown中判断如果没有_demuxer就不需要父类的onShutdown方法来释放资源与重连了.
因为针对HlsPlayer来说, 如果重试拉取索引没有成功, 应该没有什么资源需要在onShutdown方法中释放了.

当然更完善的修复应该是在PlayerProxy中增加相关的判断逻辑, 给rePlay一个状态.
确保rePlay执行完成前, 不再执行一次rePlay.

具体哪种方式, 大佬您可以看着办.
2022-04-10 19:09:16 +08:00
alexliyu7352 e4262222f4
hls拉流时应该适当重试 (#1541)
* hls拉流时应该适当重试

hls拉取索引文件失败时, 不应该直接上报,而应该内部适当重试几次.
避免由于网络抖动造成的客户端播放不流畅.

* Update HlsPlayer.cpp
2022-04-05 19:49:22 +08:00
alexliyu7352 276f763c08
hls拉流动态计算切片超时时间 (#1477)
* 动态计算切片超时时间

设置最大超时时间倍数和最小倍数,然后根据上一个切片的下载情况动态增加或者减少切片的超时时间.

* Update HlsPlayer.cpp
2022-03-12 09:39:33 +08:00
alexliyu7352 b4241e12d5
hls拉流新增支持mime类型 (#1476)
一些流服务器输出mime头有可能时audio/x-mpegurl, 所以这点的判断不能写的太死了.
2022-03-12 09:36:28 +08:00
ziyue a15d59cf23 hls/ts播放器改成绝对时间戳:#1389 2022-02-22 11:45:41 +08:00
xiongziliang 2e9d77e8e1 删除多余ts split代码 2022-02-13 21:53:21 +08:00
ziyue 8338773767 hls/http-ts播放器新增性能测试模式 2022-02-11 11:11:30 +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 5007578202 hls/ts 播放器不做content-length严格限制 2022-01-21 16:10:27 +08:00
ziyue 88dc8d0a73 重写http客户端异常处理机制 2022-01-20 15:17:19 +08:00
ziyue ee6ad66a6d HTTP: 重写http相关超时管理机制 2022-01-19 22:50:44 +08:00
alexliyu7352 3a0857ea31
当url并不是m3u8文件时, 避免拉取hls流出错 (#1341) 2022-01-05 20:01:19 +08:00
ziyue 3d44c772ac HLS: hls播放器解析ts失败时,清空数据以便恢复播放 2021-12-24 19:58:27 +08:00
ziyue c25ff6400f HLS: hls播放解决播放下一个切片导致数据丢失的bug: #1294 2021-12-24 13:29:16 +08:00
ziyue fe575af0d8 Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit 2021-12-22 14:06:46 +08:00
ziyue 6a044f0726 HLS: 修复http客户端连接复用导致hls播放异常的bug: #1294 2021-12-22 14:03:05 +08:00
alexliyu7352 0b2e55429d
HLS: 加速track就绪速度 (#1286)
* 加速track的准备速度

* 重命名为isAllTrackReady

* 无须缓冲帧时,暂不用转换为可缓存帧

Co-authored-by: 夏楚 <771730766@qq.com>
2021-12-17 14:47:17 +08:00
ziyue 5e2967d94a HLS: 合并hls m3u8刷新延时相关pr(#1281) 2021-12-17 11:40:54 +08:00
Alex 0c1159959c 拉去hls索引文件时, 不能仅仅只是按照m3u8文件中的分段时间来拉取, 这样在网络延迟的情况下很容易出现问题, 根据规范与ffmpeg中的实现修改如下 2021-12-17 02:04:28 +08:00
ziyue c2b0f3c07b Refine: 修复hls播放器丢失首帧关键帧的问题 2021-12-01 22:09:05 +08:00
ziyue e9008afca0 addTrack/inputFrame接口支持返回值;新增全局添加静音音频接口 2021-09-27 13:12:53 +08:00
xia-chu f63b2b1863 去除编译警告,修复bug 2021-01-19 16:05:38 +08:00
xiongziliang 5d752c89b5 修复编译问题 2021-01-17 20:15:08 +08:00
xia-chu b6cbc87712 全面整理代码,去除编译警告 2021-01-17 18:31:50 +08:00
xiongziliang c711eedaa7 适配ZLToolKit代码,支持自定义创建Socket:#468 2020-09-12 19:03:52 +08:00
xiongziliang dc192c95fc 优化hls播放速度 2020-09-12 18:53:16 +08:00
xiongziliang e7ac7fd5f9 优化HLS平滑播放逻辑 2020-09-06 17:56:45 +08:00
xiongziliang a7bcfd566b 平滑动播放hls 2020-05-26 23:19:13 +08:00
xiongziliang 3c1e0531de 修复循环引用的问题 2020-05-21 11:44:57 +08:00
xiongziliang 477475a60f 批量添加bom头、批量替换tab字符 2020-05-18 15:31:49 +08:00
xiongziliang 0e26161574 修复hls播放失败不回调的bug 2020-05-17 19:10:08 +08:00
xiongziliang a4aa34e4ae 初步添加hls播放器 2020-05-17 18:00:37 +08:00