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
a69d7d0f
Commit
a69d7d0f
authored
6 years ago
by
xiongziliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
整理rtp相关代码
parent
0045d405
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
42 行增加
和
36 行删除
+42
-36
src/Rtsp/Rtsp.cpp
+5
-20
src/Rtsp/Rtsp.h
+2
-16
src/RtspMuxer/H264RtpCodec.cpp
+35
-0
没有找到文件。
src/Rtsp/Rtsp.cpp
查看文件 @
a69d7d0f
...
...
@@ -157,7 +157,11 @@ void SdpAttr::load(const string &sdp) {
}
}
SdpTrack
::
Ptr
SdpAttr
::
getTrack
(
TrackType
type
)
{
bool
SdpAttr
::
available
()
const
{
return
getTrack
(
TrackAudio
)
||
getTrack
(
TrackVideo
);
}
SdpTrack
::
Ptr
SdpAttr
::
getTrack
(
TrackType
type
)
const
{
for
(
auto
&
pr
:
_track_map
){
if
(
pr
.
second
->
_type
==
type
){
return
pr
.
second
;
...
...
@@ -218,24 +222,5 @@ static onceToken s_token([](){
SdpAttr
attr
(
str
);
track
[
0
].
inited
=
true
;
});
bool
MakeNalu
(
uint8_t
in
,
NALU
&
nal
)
{
nal
.
forbidden_zero_bit
=
in
>>
7
;
if
(
nal
.
forbidden_zero_bit
)
{
return
false
;
}
nal
.
nal_ref_idc
=
(
in
&
0x60
)
>>
5
;
nal
.
type
=
in
&
0x1f
;
return
true
;
}
bool
MakeFU
(
uint8_t
in
,
FU
&
fu
)
{
fu
.
S
=
in
>>
7
;
fu
.
E
=
(
in
>>
6
)
&
0x01
;
fu
.
R
=
(
in
>>
5
)
&
0x01
;
fu
.
type
=
in
&
0x1f
;
if
(
fu
.
R
!=
0
)
{
return
false
;
}
return
true
;
}
This diff is collapsed.
Click to expand it.
src/Rtsp/Rtsp.h
查看文件 @
a69d7d0f
...
...
@@ -71,7 +71,8 @@ public:
~
SdpAttr
(){}
void
load
(
const
string
&
sdp
);
SdpTrack
::
Ptr
getTrack
(
TrackType
type
);
SdpTrack
::
Ptr
getTrack
(
TrackType
type
)
const
;
bool
available
()
const
;
private
:
map
<
string
,
SdpTrack
::
Ptr
>
_track_map
;
};
...
...
@@ -218,21 +219,6 @@ private:
mutable
StrCaseMap
_mapUrlArgs
;
};
typedef
struct
{
unsigned
forbidden_zero_bit
:
1
;
unsigned
nal_ref_idc
:
2
;
unsigned
type
:
5
;
}
NALU
;
typedef
struct
{
unsigned
S
:
1
;
unsigned
E
:
1
;
unsigned
R
:
1
;
unsigned
type
:
5
;
}
FU
;
bool
MakeNalu
(
uint8_t
in
,
NALU
&
nal
)
;
bool
MakeFU
(
uint8_t
in
,
FU
&
fu
)
;
#endif //RTSP_RTSP_H_
This diff is collapsed.
Click to expand it.
src/RtspMuxer/H264RtpCodec.cpp
查看文件 @
a69d7d0f
...
...
@@ -28,6 +28,41 @@
namespace
mediakit
{
typedef
struct
{
unsigned
forbidden_zero_bit
:
1
;
unsigned
nal_ref_idc
:
2
;
unsigned
type
:
5
;
}
NALU
;
typedef
struct
{
unsigned
S
:
1
;
unsigned
E
:
1
;
unsigned
R
:
1
;
unsigned
type
:
5
;
}
FU
;
bool
MakeNalu
(
uint8_t
in
,
NALU
&
nal
)
{
nal
.
forbidden_zero_bit
=
in
>>
7
;
if
(
nal
.
forbidden_zero_bit
)
{
return
false
;
}
nal
.
nal_ref_idc
=
(
in
&
0x60
)
>>
5
;
nal
.
type
=
in
&
0x1f
;
return
true
;
}
bool
MakeFU
(
uint8_t
in
,
FU
&
fu
)
{
fu
.
S
=
in
>>
7
;
fu
.
E
=
(
in
>>
6
)
&
0x01
;
fu
.
R
=
(
in
>>
5
)
&
0x01
;
fu
.
type
=
in
&
0x1f
;
if
(
fu
.
R
!=
0
)
{
return
false
;
}
return
true
;
}
H264RtpDecoder
::
H264RtpDecoder
()
{
_h264frame
=
obtainFrame
();
}
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论