|
|
@ -1204,7 +1204,7 @@ srs_error_t SrsRtcServer::initialize()
|
|
|
|
return err;
|
|
|
|
return err;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
srs_error_t SrsRtcServer::listen_rtc()
|
|
|
|
srs_error_t SrsRtcServer::listen_udp()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
srs_error_t err = srs_success;
|
|
|
|
srs_error_t err = srs_success;
|
|
|
|
|
|
|
|
|
|
|
@ -1244,6 +1244,19 @@ srs_error_t SrsRtcServer::on_udp_packet(SrsUdpMuxSocket* udp_mux_skt)
|
|
|
|
return srs_error_new(ERROR_RTC_UDP, "unknown udp packet type");
|
|
|
|
return srs_error_new(ERROR_RTC_UDP, "unknown udp packet type");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
srs_error_t SrsRtcServer::listen_api()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
srs_error_t err = srs_success;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: FIXME: Fetch api from hybrid manager.
|
|
|
|
|
|
|
|
SrsHttpServeMux* http_api_mux = _srs_hybrid->srs()->instance()->api_server();
|
|
|
|
|
|
|
|
if ((err = http_api_mux->handle("/api/v1/sdp/", new SrsGoApiSdp(this))) != srs_success) {
|
|
|
|
|
|
|
|
return srs_error_wrap(err, "handle sdp");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return err;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
SrsRtcSession* SrsRtcServer::create_rtc_session(const SrsRequest& req, const SrsSdp& remote_sdp, SrsSdp& local_sdp)
|
|
|
|
SrsRtcSession* SrsRtcServer::create_rtc_session(const SrsRequest& req, const SrsSdp& remote_sdp, SrsSdp& local_sdp)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
std::string local_pwd = gen_random_str(32);
|
|
|
|
std::string local_pwd = gen_random_str(32);
|
|
|
@ -1467,14 +1480,12 @@ srs_error_t RtcServerAdapter::run()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
srs_error_t err = srs_success;
|
|
|
|
srs_error_t err = srs_success;
|
|
|
|
|
|
|
|
|
|
|
|
if ((err = rtc->listen_rtc()) != srs_success) {
|
|
|
|
if ((err = rtc->listen_udp()) != srs_success) {
|
|
|
|
return srs_error_wrap(err, "rtc server initialize");
|
|
|
|
return srs_error_wrap(err, "listen udp");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// TODO: FIXME: Fetch api from hybrid manager.
|
|
|
|
if ((err = rtc->listen_api()) != srs_success) {
|
|
|
|
SrsHttpServeMux* http_api_mux = _srs_hybrid->srs()->instance()->api_server();
|
|
|
|
return srs_error_wrap(err, "listen api");
|
|
|
|
if ((err = http_api_mux->handle("/api/v1/sdp/", new SrsGoApiSdp(rtc))) != srs_success) {
|
|
|
|
|
|
|
|
return srs_error_wrap(err, "handle sdp");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return err;
|
|
|
|
return err;
|
|
|
|