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
bb63273c
Commit
bb63273c
authored
3 years ago
by
ziyue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
计算dts逻辑兼容一些奇怪的rtsp流:#1031
parent
07c5341f
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
14 行增加
和
4 行删除
+14
-4
src/Extension/H264Rtp.cpp
+7
-2
src/Extension/H265Rtp.cpp
+7
-2
没有找到文件。
src/Extension/H264Rtp.cpp
查看文件 @
bb63273c
...
@@ -169,8 +169,13 @@ bool H264RtpDecoder::decodeRtp(const RtpPacket::Ptr &rtp) {
...
@@ -169,8 +169,13 @@ bool H264RtpDecoder::decodeRtp(const RtpPacket::Ptr &rtp) {
}
}
void
H264RtpDecoder
::
outputFrame
(
const
RtpPacket
::
Ptr
&
rtp
,
const
H264Frame
::
Ptr
&
frame
)
{
void
H264RtpDecoder
::
outputFrame
(
const
RtpPacket
::
Ptr
&
rtp
,
const
H264Frame
::
Ptr
&
frame
)
{
//rtsp没有dts,那么根据pts排序算法生成dts
if
(
frame
->
dropAble
())
{
_dts_generator
.
getDts
(
frame
->
_pts
,
frame
->
_dts
);
//不参与dts生成
frame
->
_dts
=
frame
->
_pts
;
}
else
{
//rtsp没有dts,那么根据pts排序算法生成dts
_dts_generator
.
getDts
(
frame
->
_pts
,
frame
->
_dts
);
}
if
(
frame
->
keyFrame
()
&&
_gop_dropped
)
{
if
(
frame
->
keyFrame
()
&&
_gop_dropped
)
{
_gop_dropped
=
false
;
_gop_dropped
=
false
;
...
...
This diff is collapsed.
Click to expand it.
src/Extension/H265Rtp.cpp
查看文件 @
bb63273c
...
@@ -222,8 +222,13 @@ bool H265RtpDecoder::singleFrame(const RtpPacket::Ptr &rtp, const uint8_t *ptr,
...
@@ -222,8 +222,13 @@ bool H265RtpDecoder::singleFrame(const RtpPacket::Ptr &rtp, const uint8_t *ptr,
}
}
void
H265RtpDecoder
::
outputFrame
(
const
RtpPacket
::
Ptr
&
rtp
,
const
H265Frame
::
Ptr
&
frame
)
{
void
H265RtpDecoder
::
outputFrame
(
const
RtpPacket
::
Ptr
&
rtp
,
const
H265Frame
::
Ptr
&
frame
)
{
//rtsp没有dts,那么根据pts排序算法生成dts
if
(
frame
->
dropAble
())
{
_dts_generator
.
getDts
(
frame
->
_pts
,
frame
->
_dts
);
//不参与dts生成
frame
->
_dts
=
frame
->
_pts
;
}
else
{
//rtsp没有dts,那么根据pts排序算法生成dts
_dts_generator
.
getDts
(
frame
->
_pts
,
frame
->
_dts
);
}
if
(
frame
->
keyFrame
()
&&
_gop_dropped
)
{
if
(
frame
->
keyFrame
()
&&
_gop_dropped
)
{
_gop_dropped
=
false
;
_gop_dropped
=
false
;
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论