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
fb3603b4
Commit
fb3603b4
authored
4 years ago
by
xiongziliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
兼容一些不规范的流
parent
56f044f8
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
17 行增加
和
3 行删除
+17
-3
src/Extension/H264.cpp
+8
-2
src/Extension/H264Rtmp.cpp
+4
-0
src/Extension/H265.cpp
+5
-1
没有找到文件。
src/Extension/H264.cpp
查看文件 @
fb3603b4
...
@@ -15,7 +15,10 @@ using namespace toolkit;
...
@@ -15,7 +15,10 @@ using namespace toolkit;
namespace
mediakit
{
namespace
mediakit
{
static
bool
getAVCInfo
(
const
char
*
sps
,
size_t
sps_len
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
){
static
bool
getAVCInfo
(
const
char
*
sps
,
size_t
sps_len
,
int
&
iVideoWidth
,
int
&
iVideoHeight
,
float
&
iVideoFps
){
if
(
sps_len
<
4
)
{
return
false
;
}
T_GetBitContext
tGetBitBuf
;
T_GetBitContext
tGetBitBuf
;
T_SPS
tH264SpsInfo
;
T_SPS
tH264SpsInfo
;
memset
(
&
tGetBitBuf
,
0
,
sizeof
(
tGetBitBuf
));
memset
(
&
tGetBitBuf
,
0
,
sizeof
(
tGetBitBuf
));
...
@@ -157,7 +160,10 @@ void H264Track::inputFrame(const Frame::Ptr &frame) {
...
@@ -157,7 +160,10 @@ void H264Track::inputFrame(const Frame::Ptr &frame) {
}
}
void
H264Track
::
onReady
(){
void
H264Track
::
onReady
(){
getAVCInfo
(
_sps
,
_width
,
_height
,
_fps
);
if
(
!
getAVCInfo
(
_sps
,
_width
,
_height
,
_fps
))
{
_sps
.
clear
();
_pps
.
clear
();
}
}
}
Track
::
Ptr
H264Track
::
clone
()
{
Track
::
Ptr
H264Track
::
clone
()
{
...
...
This diff is collapsed.
Click to expand it.
src/Extension/H264Rtmp.cpp
查看文件 @
fb3603b4
...
@@ -221,6 +221,10 @@ void H264RtmpEncoder::inputFrame(const Frame::Ptr &frame) {
...
@@ -221,6 +221,10 @@ void H264RtmpEncoder::inputFrame(const Frame::Ptr &frame) {
}
}
void
H264RtmpEncoder
::
makeVideoConfigPkt
()
{
void
H264RtmpEncoder
::
makeVideoConfigPkt
()
{
if
(
_sps
.
size
()
<
4
)
{
WarnL
<<
"sps长度不足4字节"
;
return
;
}
int8_t
flags
=
FLV_CODEC_H264
;
int8_t
flags
=
FLV_CODEC_H264
;
flags
|=
(
FLV_KEY_FRAME
<<
4
);
flags
|=
(
FLV_KEY_FRAME
<<
4
);
bool
is_config
=
true
;
bool
is_config
=
true
;
...
...
This diff is collapsed.
Click to expand it.
src/Extension/H265.cpp
查看文件 @
fb3603b4
...
@@ -186,7 +186,11 @@ void H265Track::inputFrame_l(const Frame::Ptr &frame) {
...
@@ -186,7 +186,11 @@ void H265Track::inputFrame_l(const Frame::Ptr &frame) {
}
}
void
H265Track
::
onReady
()
{
void
H265Track
::
onReady
()
{
getHEVCInfo
(
_vps
,
_sps
,
_width
,
_height
,
_fps
);
if
(
!
getHEVCInfo
(
_vps
,
_sps
,
_width
,
_height
,
_fps
))
{
_vps
.
clear
();
_sps
.
clear
();
_pps
.
clear
();
}
}
}
Track
::
Ptr
H265Track
::
clone
()
{
Track
::
Ptr
H265Track
::
clone
()
{
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论