Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
ZLMediaKit
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
张翔宇
ZLMediaKit
Commits
9f9b3a5a
Commit
9f9b3a5a
authored
3 years ago
by
xiongziliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提高http-ts直播性能:#961
parent
c393cc7c
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
16 行增加
和
2 行删除
+16
-2
src/Record/TsMuxer.cpp
+13
-2
src/Record/TsMuxer.h
+3
-0
没有找到文件。
src/Record/TsMuxer.cpp
查看文件 @
9f9b3a5a
...
...
@@ -110,6 +110,7 @@ void TsMuxer::inputFrame(const Frame::Ptr &frame) {
_is_idr_fast_packet
=
have_idr
;
mpeg_ts_write
(
_context
,
track_info
.
track_id
,
have_idr
?
0x0001
:
0
,
pts_out
*
90LL
,
dts_out
*
90LL
,
buffer
->
data
(),
buffer
->
size
());
flushCache
();
});
break
;
}
...
...
@@ -129,6 +130,7 @@ void TsMuxer::inputFrame(const Frame::Ptr &frame) {
}
mpeg_ts_write
(
_context
,
track_info
.
track_id
,
frame
->
keyFrame
()
?
0x0001
:
0
,
pts_out
*
90LL
,
dts_out
*
90LL
,
frame
->
data
(),
frame
->
size
());
flushCache
();
break
;
}
}
...
...
@@ -154,8 +156,7 @@ void TsMuxer::init() {
},
[](
void
*
param
,
const
void
*
packet
,
size_t
bytes
)
{
TsMuxer
*
muxer
=
(
TsMuxer
*
)
param
;
muxer
->
onTs
(
packet
,
bytes
,
muxer
->
_timestamp
,
muxer
->
_is_idr_fast_packet
);
muxer
->
_is_idr_fast_packet
=
false
;
muxer
->
onTs_l
(
packet
,
bytes
);
return
0
;
}
};
...
...
@@ -164,6 +165,16 @@ void TsMuxer::init() {
}
}
void
TsMuxer
::
onTs_l
(
const
void
*
packet
,
size_t
bytes
)
{
_cache
.
append
((
char
*
)
packet
,
bytes
);
}
void
TsMuxer
::
flushCache
()
{
onTs
(
_cache
.
data
(),
_cache
.
size
(),
_timestamp
,
_is_idr_fast_packet
);
_cache
.
clear
();
_is_idr_fast_packet
=
false
;
}
void
TsMuxer
::
uninit
()
{
if
(
_context
)
{
mpeg_ts_destroy
(
_context
);
...
...
This diff is collapsed.
Click to expand it.
src/Record/TsMuxer.h
查看文件 @
9f9b3a5a
...
...
@@ -57,6 +57,8 @@ private:
void
uninit
();
//音视频时间戳同步用
void
stampSync
();
void
onTs_l
(
const
void
*
packet
,
size_t
bytes
);
void
flushCache
();
private
:
bool
_have_video
=
false
;
...
...
@@ -70,6 +72,7 @@ private:
};
unordered_map
<
int
,
track_info
>
_codec_to_trackid
;
FrameMerger
_frame_merger
{
FrameMerger
::
h264_prefix
};
BufferLikeString
_cache
;
};
}
//namespace mediakit
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论