mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
parent
ed2996141c
commit
0ff8a3761b
2 changed files with 13 additions and 5 deletions
|
@ -767,16 +767,22 @@ srs_error_t SrsRtcSession::on_stun(SrsUdpMuxSocket* udp_mux_skt, SrsStunPacket*
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SrsRtcSession::check_source()
|
srs_error_t SrsRtcSession::check_source()
|
||||||
{
|
{
|
||||||
|
srs_error_t err = srs_success;
|
||||||
|
|
||||||
// TODO: FIXME: Check return error.
|
// TODO: FIXME: Check return error.
|
||||||
if (source == NULL) {
|
if (source == NULL) {
|
||||||
// TODO: FIXME: Should refactor it, directly use http server as handler.
|
// TODO: FIXME: Should refactor it, directly use http server as handler.
|
||||||
ISrsSourceHandler* handler = _srs_hybrid->srs()->instance();
|
ISrsSourceHandler* handler = _srs_hybrid->srs()->instance();
|
||||||
_srs_sources->fetch_or_create(&request, handler, &source);
|
if ((err = _srs_sources->fetch_or_create(&request, handler, &source)) != srs_success) {
|
||||||
|
return srs_error_wrap(err, "create source");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
srs_error_t SrsRtcSession::on_binding_request(SrsUdpMuxSocket* udp_mux_skt, SrsStunPacket* stun_req)
|
srs_error_t SrsRtcSession::on_binding_request(SrsUdpMuxSocket* udp_mux_skt, SrsStunPacket* stun_req)
|
||||||
{
|
{
|
||||||
srs_error_t err = srs_success;
|
srs_error_t err = srs_success;
|
||||||
|
@ -864,7 +870,9 @@ srs_error_t SrsRtcSession::on_rtcp_feedback(char* buf, int nb_buf, SrsUdpMuxSock
|
||||||
|
|
||||||
srs_verbose("pid=%u, blp=%d", pid, blp);
|
srs_verbose("pid=%u, blp=%d", pid, blp);
|
||||||
|
|
||||||
check_source();
|
if ((err = check_source()) != srs_success) {
|
||||||
|
return srs_error_wrap(err, "check");
|
||||||
|
}
|
||||||
if (! source) {
|
if (! source) {
|
||||||
return srs_error_wrap(err, "can not found source");
|
return srs_error_wrap(err, "can not found source");
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,7 +230,7 @@ public:
|
||||||
public:
|
public:
|
||||||
bool is_stun_timeout() { return last_stun_time + kSrsRtcSessionStunTimeoutUs < srs_get_system_time(); }
|
bool is_stun_timeout() { return last_stun_time + kSrsRtcSessionStunTimeoutUs < srs_get_system_time(); }
|
||||||
private:
|
private:
|
||||||
void check_source();
|
srs_error_t check_source();
|
||||||
private:
|
private:
|
||||||
srs_error_t on_binding_request(SrsUdpMuxSocket* udp_mux_skt, SrsStunPacket* stun_req);
|
srs_error_t on_binding_request(SrsUdpMuxSocket* udp_mux_skt, SrsStunPacket* stun_req);
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in a new issue