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
3e9a8b9d
Commit
3e9a8b9d
authored
Jul 22, 2023
by
xia-chu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化函数命名
isCfgFrame -> isConfigFrame getAacCfg -> getConfig
parent
780a1eb9
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
25 行增加
和
19 行删除
+25
-19
src/Extension/AAC.cpp
+3
-2
src/Extension/AAC.h
+1
-1
src/Extension/AACRtmp.cpp
+4
-4
src/Extension/AACRtp.cpp
+1
-1
src/Extension/H264Rtmp.cpp
+1
-1
src/Extension/H265Rtmp.cpp
+1
-1
src/Record/MP4Demuxer.cpp
+1
-1
src/Record/MP4Muxer.cpp
+2
-2
src/Rtmp/FlvPlayer.cpp
+1
-1
src/Rtmp/Rtmp.cpp
+1
-1
src/Rtmp/Rtmp.h
+7
-2
src/Rtmp/RtmpMediaSourceImp.cpp
+1
-1
src/Rtmp/RtmpPlayer.cpp
+1
-1
没有找到文件。
src/Extension/AAC.cpp
查看文件 @
3e9a8b9d
...
...
@@ -246,7 +246,7 @@ AACTrack::AACTrack(const string &aac_cfg) {
onReady
();
}
const
string
&
AACTrack
::
get
AacCf
g
()
const
{
const
string
&
AACTrack
::
get
Confi
g
()
const
{
return
_cfg
;
}
...
...
@@ -342,7 +342,7 @@ Sdp::Ptr AACTrack::getSdp() {
WarnL
<<
getCodecName
()
<<
" Track未准备好"
;
return
nullptr
;
}
return
std
::
make_shared
<
AACSdp
>
(
get
AacCf
g
(),
getAudioSampleRate
(),
getAudioChannel
(),
getBitRate
()
/
1024
);
return
std
::
make_shared
<
AACSdp
>
(
get
Confi
g
(),
getAudioSampleRate
(),
getAudioChannel
(),
getBitRate
()
/
1024
);
}
}
//
namespace
mediakit
\ No newline at end of file
src/Extension/AAC.h
查看文件 @
3e9a8b9d
...
...
@@ -44,7 +44,7 @@ public:
/**
* 获取aac 配置信息
*/
const
std
::
string
&
get
AacCf
g
()
const
;
const
std
::
string
&
get
Confi
g
()
const
;
bool
ready
()
override
;
CodecId
getCodecId
()
const
override
;
...
...
src/Extension/AACRtmp.cpp
查看文件 @
3e9a8b9d
...
...
@@ -16,7 +16,7 @@ using namespace toolkit;
namespace
mediakit
{
static
string
get
AacCf
g
(
const
RtmpPacket
&
thiz
)
{
static
string
get
Confi
g
(
const
RtmpPacket
&
thiz
)
{
string
ret
;
if
((
RtmpAudioCodec
)
thiz
.
getRtmpCodecId
()
!=
RtmpAudioCodec
::
aac
)
{
return
ret
;
...
...
@@ -30,8 +30,8 @@ static string getAacCfg(const RtmpPacket &thiz) {
}
void
AACRtmpDecoder
::
inputRtmp
(
const
RtmpPacket
::
Ptr
&
pkt
)
{
if
(
pkt
->
isC
f
gFrame
())
{
_aac_cfg
=
get
AacCf
g
(
*
pkt
);
if
(
pkt
->
isC
onfi
gFrame
())
{
_aac_cfg
=
get
Confi
g
(
*
pkt
);
if
(
!
_aac_cfg
.
empty
())
{
onGetAAC
(
nullptr
,
0
,
0
);
}
...
...
@@ -79,7 +79,7 @@ AACRtmpEncoder::AACRtmpEncoder(const Track::Ptr &track) {
void
AACRtmpEncoder
::
makeConfigPacket
()
{
if
(
_track
&&
_track
->
ready
())
{
//从track中和获取aac配置信息
_aac_cfg
=
_track
->
get
AacCf
g
();
_aac_cfg
=
_track
->
get
Confi
g
();
}
if
(
!
_aac_cfg
.
empty
())
{
...
...
src/Extension/AACRtp.cpp
查看文件 @
3e9a8b9d
...
...
@@ -64,7 +64,7 @@ AACRtpDecoder::AACRtpDecoder(const Track::Ptr &track) {
if
(
!
aacTrack
||
!
aacTrack
->
ready
())
{
WarnL
<<
"该aac track无效!"
;
}
else
{
_aac_cfg
=
aacTrack
->
get
AacCf
g
();
_aac_cfg
=
aacTrack
->
get
Confi
g
();
}
obtainFrame
();
}
...
...
src/Extension/H264Rtmp.cpp
查看文件 @
3e9a8b9d
...
...
@@ -56,7 +56,7 @@ static bool getH264Config(const RtmpPacket &thiz, string &sps, string &pps) {
}
void
H264RtmpDecoder
::
inputRtmp
(
const
RtmpPacket
::
Ptr
&
pkt
)
{
if
(
pkt
->
isC
f
gFrame
())
{
if
(
pkt
->
isC
onfi
gFrame
())
{
//缓存sps pps,后续插入到I帧之前
if
(
!
getH264Config
(
*
pkt
,
_sps
,
_pps
))
{
WarnL
<<
"get h264 sps/pps failed, rtmp packet is: "
<<
hexdump
(
pkt
->
data
(),
pkt
->
size
());
...
...
src/Extension/H265Rtmp.cpp
查看文件 @
3e9a8b9d
...
...
@@ -124,7 +124,7 @@ void H265RtmpDecoder::inputRtmp(const RtmpPacket::Ptr &pkt) {
}
// 国内扩展(12) H265 rtmp
if
(
pkt
->
isC
f
gFrame
())
{
if
(
pkt
->
isC
onfi
gFrame
())
{
#ifdef ENABLE_MP4
string
config
;
if
(
getH265ConfigFrame
(
*
pkt
,
config
))
{
...
...
src/Record/MP4Demuxer.cpp
查看文件 @
3e9a8b9d
...
...
@@ -247,7 +247,7 @@ Frame::Ptr MP4Demuxer::makeFrame(uint32_t track_id, const Buffer::Ptr &buf, int6
AACTrack
::
Ptr
track
=
dynamic_pointer_cast
<
AACTrack
>
(
it
->
second
);
assert
(
track
);
//加上adts头
dumpAacConfig
(
track
->
get
AacCf
g
(),
buf
->
size
()
-
DATA_OFFSET
,
(
uint8_t
*
)
buf
->
data
()
+
(
DATA_OFFSET
-
ADTS_HEADER_LEN
),
ADTS_HEADER_LEN
);
dumpAacConfig
(
track
->
get
Confi
g
(),
buf
->
size
()
-
DATA_OFFSET
,
(
uint8_t
*
)
buf
->
data
()
+
(
DATA_OFFSET
-
ADTS_HEADER_LEN
),
ADTS_HEADER_LEN
);
ret
=
std
::
make_shared
<
FrameWrapper
<
FrameFromPtr
>
>
(
buf
,
(
uint64_t
)
dts
,
(
uint64_t
)
pts
,
ADTS_HEADER_LEN
,
DATA_OFFSET
-
ADTS_HEADER_LEN
,
codec
);
break
;
}
...
...
src/Record/MP4Muxer.cpp
查看文件 @
3e9a8b9d
...
...
@@ -234,8 +234,8 @@ bool MP4MuxerInterface::addTrack(const Track::Ptr &track) {
audio_track
->
getAudioChannel
(),
audio_track
->
getAudioSampleBit
()
*
audio_track
->
getAudioChannel
(),
audio_track
->
getAudioSampleRate
(),
audio_track
->
get
AacCf
g
().
data
(),
audio_track
->
get
AacCf
g
().
size
());
audio_track
->
get
Confi
g
().
data
(),
audio_track
->
get
Confi
g
().
size
());
if
(
track_id
<
0
)
{
WarnL
<<
"添加AAC Track失败:"
<<
track_id
;
return
false
;
...
...
src/Rtmp/FlvPlayer.cpp
查看文件 @
3e9a8b9d
...
...
@@ -62,7 +62,7 @@ bool FlvPlayer::onRecvMetadata(const AMFValue &metadata) {
}
void
FlvPlayer
::
onRecvRtmpPacket
(
RtmpPacket
::
Ptr
packet
)
{
if
(
!
_play_result
&&
!
packet
->
isC
f
gFrame
())
{
if
(
!
_play_result
&&
!
packet
->
isC
onfi
gFrame
())
{
_play_result
=
true
;
onPlayResult
(
SockException
(
Err_success
,
"play http-flv success"
));
}
...
...
src/Rtmp/Rtmp.cpp
查看文件 @
3e9a8b9d
...
...
@@ -167,7 +167,7 @@ bool RtmpPacket::isVideoKeyFrame() const {
return
frame_type
==
RtmpFrameType
::
key_frame
;
}
bool
RtmpPacket
::
isC
f
gFrame
()
const
{
bool
RtmpPacket
::
isC
onfi
gFrame
()
const
{
switch
(
type_id
)
{
case
MSG_AUDIO
:
{
return
(
RtmpAudioCodec
)
getRtmpCodecId
()
==
RtmpAudioCodec
::
aac
&&
(
RtmpAACPacketType
)
buffer
[
1
]
==
RtmpAACPacketType
::
aac_config_header
;
...
...
src/Rtmp/Rtmp.h
查看文件 @
3e9a8b9d
...
...
@@ -169,10 +169,15 @@ public:
}
void
clear
();
// video config frame和key frame都返回true
// 用于gop缓存定位
bool
isVideoKeyFrame
()
const
;
// aac config或h264/h265 config
bool
isCfgFrame
()
const
;
// aac config或h264/h265 config返回true,支持增强型rtmp
// 用于缓存解码配置信息
bool
isConfigFrame
()
const
;
int
getRtmpCodecId
()
const
;
int
getAudioSampleRate
()
const
;
int
getAudioSampleBit
()
const
;
...
...
src/Rtmp/RtmpMediaSourceImp.cpp
查看文件 @
3e9a8b9d
...
...
@@ -54,7 +54,7 @@ void RtmpMediaSource::onWrite(RtmpPacket::Ptr pkt, bool /*= true*/) {
default
:
break
;
}
if
(
pkt
->
isC
f
gFrame
())
{
if
(
pkt
->
isC
onfi
gFrame
())
{
std
::
lock_guard
<
std
::
recursive_mutex
>
lock
(
_mtx
);
_config_frame_map
[
pkt
->
type_id
]
=
pkt
;
if
(
!
_ring
)
{
...
...
src/Rtmp/RtmpPlayer.cpp
查看文件 @
3e9a8b9d
...
...
@@ -339,7 +339,7 @@ void RtmpPlayer::onMediaData_l(RtmpPacket::Ptr chunk_data) {
return
;
}
if
(
chunk_data
->
isC
f
gFrame
())
{
if
(
chunk_data
->
isC
onfi
gFrame
())
{
//输入配置帧以便初始化完成各个track
onRtmpPacket
(
chunk_data
);
}
else
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论