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
92420f83
Commit
92420f83
authored
2 years ago
by
xiongguangjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
check stream id
parent
cd6b0ee0
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
18 行增加
和
6 行删除
+18
-6
srt/SrtTransport.cpp
+11
-5
srt/SrtTransportImp.cpp
+7
-1
没有找到文件。
srt/SrtTransport.cpp
查看文件 @
92420f83
...
...
@@ -153,6 +153,8 @@ void SrtTransport::handleHandshakeConclusion(HandshakePacket &pkt, struct sockad
// first
HSExtMessage
::
Ptr
req
;
HSExtStreamID
::
Ptr
sid
;
uint32_t
srt_flag
=
0xbf
;
uint16_t
delay
=
120
;
for
(
auto
ext
:
pkt
.
ext_list
)
{
//TraceL << getIdentifier() << " ext " << ext->dump();
...
...
@@ -166,6 +168,10 @@ void SrtTransport::handleHandshakeConclusion(HandshakePacket &pkt, struct sockad
if
(
sid
){
_stream_id
=
sid
->
streamid
;
}
if
(
req
){
srt_flag
=
req
->
srt_flag
;
delay
=
req
->
recv_tsbpd_delay
;
}
TraceL
<<
getIdentifier
()
<<
" CONCLUSION Phase "
;
HandshakePacket
::
Ptr
res
=
std
::
make_shared
<
HandshakePacket
>
();
res
->
dst_socket_id
=
_peer_socket_id
;
...
...
@@ -183,17 +189,17 @@ void SrtTransport::handleHandshakeConclusion(HandshakePacket &pkt, struct sockad
HSExtMessage
::
Ptr
ext
=
std
::
make_shared
<
HSExtMessage
>
();
ext
->
extension_type
=
HSExt
::
SRT_CMD_HSRSP
;
ext
->
srt_version
=
srtVersion
(
1
,
5
,
0
);
ext
->
srt_flag
=
req
->
srt_flag
;
ext
->
recv_tsbpd_delay
=
ext
->
send_tsbpd_delay
=
req
->
recv_tsbpd_
delay
;
ext
->
srt_flag
=
srt_flag
;
ext
->
recv_tsbpd_delay
=
ext
->
send_tsbpd_delay
=
delay
;
res
->
ext_list
.
push_back
(
std
::
move
(
ext
));
res
->
storeToData
();
_handleshake_res
=
res
;
unregisterSelfHandshake
();
registerSelf
();
sendControlPacket
(
res
,
true
);
TraceL
<<
" buf size = "
<<
res
->
max_flow_window_size
<<
" init seq ="
<<
_init_seq_number
<<
" lantency="
<<
req
->
recv_tsbpd_
delay
;
_recv_buf
=
std
::
make_shared
<
PacketQueue
>
(
res
->
max_flow_window_size
,
_init_seq_number
,
req
->
recv_tsbpd_
delay
*
1e6
);
_send_buf
=
std
::
make_shared
<
PacketQueue
>
(
res
->
max_flow_window_size
,
_init_seq_number
,
req
->
recv_tsbpd_
delay
*
1e6
);
TraceL
<<
" buf size = "
<<
res
->
max_flow_window_size
<<
" init seq ="
<<
_init_seq_number
<<
" lantency="
<<
delay
;
_recv_buf
=
std
::
make_shared
<
PacketQueue
>
(
res
->
max_flow_window_size
,
_init_seq_number
,
delay
*
1e6
);
_send_buf
=
std
::
make_shared
<
PacketQueue
>
(
res
->
max_flow_window_size
,
_init_seq_number
,
delay
*
1e6
);
_send_packet_seq_number
=
_init_seq_number
;
onHandShakeFinished
(
_stream_id
,
addr
);
}
else
{
...
...
This diff is collapsed.
Click to expand it.
srt/SrtTransportImp.cpp
查看文件 @
92420f83
...
...
@@ -25,10 +25,16 @@ SrtTransportImp::~SrtTransportImp() {
void
SrtTransportImp
::
onHandShakeFinished
(
std
::
string
&
streamid
,
struct
sockaddr_storage
*
addr
)
{
// TODO parse streamid like this zlmediakit.com/live/test?token=1213444&type=push
er
// TODO parse streamid like this zlmediakit.com/live/test?token=1213444&type=push
if
(
!
_addr
){
_addr
.
reset
(
new
sockaddr_storage
(
*
((
sockaddr_storage
*
)
addr
)));
}
_is_pusher
=
false
;
TraceL
<<
" stream id "
<<
streamid
;
if
(
streamid
.
empty
()){
onShutdown
(
SockException
(
Err_shutdown
,
"streamid not empty"
));
return
;
}
_media_info
.
parse
(
"srt://"
+
streamid
);
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论