check stream id
This commit is contained in:
parent
cd6b0ee0c4
commit
92420f8392
|
|
@ -153,6 +153,8 @@ void SrtTransport::handleHandshakeConclusion(HandshakePacket &pkt, struct sockad
|
||||||
// first
|
// first
|
||||||
HSExtMessage::Ptr req;
|
HSExtMessage::Ptr req;
|
||||||
HSExtStreamID::Ptr sid;
|
HSExtStreamID::Ptr sid;
|
||||||
|
uint32_t srt_flag = 0xbf;
|
||||||
|
uint16_t delay = 120;
|
||||||
|
|
||||||
for (auto ext : pkt.ext_list) {
|
for (auto ext : pkt.ext_list) {
|
||||||
//TraceL << getIdentifier() << " ext " << ext->dump();
|
//TraceL << getIdentifier() << " ext " << ext->dump();
|
||||||
|
|
@ -166,6 +168,10 @@ void SrtTransport::handleHandshakeConclusion(HandshakePacket &pkt, struct sockad
|
||||||
if(sid){
|
if(sid){
|
||||||
_stream_id = sid->streamid;
|
_stream_id = sid->streamid;
|
||||||
}
|
}
|
||||||
|
if(req){
|
||||||
|
srt_flag = req->srt_flag;
|
||||||
|
delay = req->recv_tsbpd_delay;
|
||||||
|
}
|
||||||
TraceL << getIdentifier() << " CONCLUSION Phase ";
|
TraceL << getIdentifier() << " CONCLUSION Phase ";
|
||||||
HandshakePacket::Ptr res = std::make_shared<HandshakePacket>();
|
HandshakePacket::Ptr res = std::make_shared<HandshakePacket>();
|
||||||
res->dst_socket_id = _peer_socket_id;
|
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>();
|
HSExtMessage::Ptr ext = std::make_shared<HSExtMessage>();
|
||||||
ext->extension_type = HSExt::SRT_CMD_HSRSP;
|
ext->extension_type = HSExt::SRT_CMD_HSRSP;
|
||||||
ext->srt_version = srtVersion(1, 5, 0);
|
ext->srt_version = srtVersion(1, 5, 0);
|
||||||
ext->srt_flag = req->srt_flag;
|
ext->srt_flag = srt_flag;
|
||||||
ext->recv_tsbpd_delay = ext->send_tsbpd_delay = req->recv_tsbpd_delay;
|
ext->recv_tsbpd_delay = ext->send_tsbpd_delay = delay;
|
||||||
res->ext_list.push_back(std::move(ext));
|
res->ext_list.push_back(std::move(ext));
|
||||||
res->storeToData();
|
res->storeToData();
|
||||||
_handleshake_res = res;
|
_handleshake_res = res;
|
||||||
unregisterSelfHandshake();
|
unregisterSelfHandshake();
|
||||||
registerSelf();
|
registerSelf();
|
||||||
sendControlPacket(res, true);
|
sendControlPacket(res, true);
|
||||||
TraceL<<" buf size = "<<res->max_flow_window_size<<" init seq ="<<_init_seq_number<<" lantency="<<req->recv_tsbpd_delay;
|
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, req->recv_tsbpd_delay*1e6);
|
_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, req->recv_tsbpd_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;
|
_send_packet_seq_number = _init_seq_number;
|
||||||
onHandShakeFinished(_stream_id,addr);
|
onHandShakeFinished(_stream_id,addr);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,16 @@ SrtTransportImp::~SrtTransportImp() {
|
||||||
|
|
||||||
void SrtTransportImp::onHandShakeFinished(std::string &streamid,struct sockaddr_storage *addr) {
|
void SrtTransportImp::onHandShakeFinished(std::string &streamid,struct sockaddr_storage *addr) {
|
||||||
|
|
||||||
// TODO parse streamid like this zlmediakit.com/live/test?token=1213444&type=pusher
|
// TODO parse streamid like this zlmediakit.com/live/test?token=1213444&type=push
|
||||||
if(!_addr){
|
if(!_addr){
|
||||||
_addr.reset(new sockaddr_storage(*((sockaddr_storage *)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);
|
_media_info.parse("srt://"+streamid);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue