1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

For #1638, #307, refine api and udp for rtc.

This commit is contained in:
winlin 2020-03-17 18:11:03 +08:00
parent 2c4dc0fb3d
commit ed2996141c
3 changed files with 22 additions and 12 deletions

View file

@ -1204,7 +1204,7 @@ srs_error_t SrsRtcServer::initialize()
return err;
}
srs_error_t SrsRtcServer::listen_rtc()
srs_error_t SrsRtcServer::listen_udp()
{
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");
}
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)
{
std::string local_pwd = gen_random_str(32);
@ -1467,14 +1480,12 @@ srs_error_t RtcServerAdapter::run()
{
srs_error_t err = srs_success;
if ((err = rtc->listen_rtc()) != srs_success) {
return srs_error_wrap(err, "rtc server initialize");
if ((err = rtc->listen_udp()) != srs_success) {
return srs_error_wrap(err, "listen udp");
}
// 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(rtc))) != srs_success) {
return srs_error_wrap(err, "handle sdp");
if ((err = rtc->listen_api()) != srs_success) {
return srs_error_wrap(err, "listen api");
}
return err;