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
9fa2221a
Commit
9fa2221a
authored
4 years ago
by
xiongziliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
整理代码
parent
9bfbe02f
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
10 行增加
和
11 行删除
+10
-11
src/Record/TsMuxer.cpp
+10
-11
没有找到文件。
src/Record/TsMuxer.cpp
查看文件 @
9fa2221a
...
@@ -90,7 +90,6 @@ void TsMuxer::inputFrame(const Frame::Ptr &frame) {
...
@@ -90,7 +90,6 @@ void TsMuxer::inputFrame(const Frame::Ptr &frame) {
if
(
it
==
_codec_to_trackid
.
end
()){
if
(
it
==
_codec_to_trackid
.
end
()){
return
;
return
;
}
}
//mp4文件时间戳需要从0开始
auto
&
track_info
=
it
->
second
;
auto
&
track_info
=
it
->
second
;
int64_t
dts_out
,
pts_out
;
int64_t
dts_out
,
pts_out
;
_is_idr_fast_packet
=
!
_have_video
;
_is_idr_fast_packet
=
!
_have_video
;
...
@@ -132,7 +131,7 @@ void TsMuxer::inputFrame(const Frame::Ptr &frame) {
...
@@ -132,7 +131,7 @@ void TsMuxer::inputFrame(const Frame::Ptr &frame) {
case
CodecAAC
:
{
case
CodecAAC
:
{
if
(
frame
->
prefixSize
()
==
0
)
{
if
(
frame
->
prefixSize
()
==
0
)
{
WarnL
<<
"必须提供adts头才能mpegts打包"
;
WarnL
<<
"必须提供adts头才能mpeg
-
ts打包"
;
break
;
break
;
}
}
}
}
...
@@ -155,18 +154,18 @@ void TsMuxer::resetTracks() {
...
@@ -155,18 +154,18 @@ void TsMuxer::resetTracks() {
}
}
void
TsMuxer
::
init
()
{
void
TsMuxer
::
init
()
{
static
mpeg_ts_func_t
s_func
=
{
static
mpeg_ts_func_t
s_func
=
{
[](
void
*
param
,
size_t
bytes
)
{
[](
void
*
param
,
size_t
bytes
)
{
TsMuxer
*
muxer
=
(
TsMuxer
*
)
param
;
TsMuxer
*
muxer
=
(
TsMuxer
*
)
param
;
assert
(
sizeof
(
TsMuxer
::
_tsbuf
)
>=
bytes
);
assert
(
sizeof
(
TsMuxer
::
_tsbuf
)
>=
bytes
);
return
(
void
*
)
muxer
->
_tsbuf
;
return
(
void
*
)
muxer
->
_tsbuf
;
},
},
[](
void
*
param
,
void
*
packet
)
{
[](
void
*
param
,
void
*
packet
)
{
//do nothing
//do nothing
},
},
[](
void
*
param
,
const
void
*
packet
,
size_t
bytes
)
{
[](
void
*
param
,
const
void
*
packet
,
size_t
bytes
)
{
TsMuxer
*
muxer
=
(
TsMuxer
*
)
param
;
TsMuxer
*
muxer
=
(
TsMuxer
*
)
param
;
muxer
->
onTs
(
packet
,
bytes
,
muxer
->
_timestamp
,
muxer
->
_is_idr_fast_packet
);
muxer
->
onTs
(
packet
,
bytes
,
muxer
->
_timestamp
,
muxer
->
_is_idr_fast_packet
);
muxer
->
_is_idr_fast_packet
=
false
;
muxer
->
_is_idr_fast_packet
=
false
;
}
}
};
};
...
@@ -176,7 +175,7 @@ void TsMuxer::init() {
...
@@ -176,7 +175,7 @@ void TsMuxer::init() {
}
}
void
TsMuxer
::
uninit
()
{
void
TsMuxer
::
uninit
()
{
if
(
_context
)
{
if
(
_context
)
{
mpeg_ts_destroy
(
_context
);
mpeg_ts_destroy
(
_context
);
_context
=
nullptr
;
_context
=
nullptr
;
}
}
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论