diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index a5a71440e..620c6f5c7 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -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; diff --git a/trunk/src/app/srs_app_rtc_conn.hpp b/trunk/src/app/srs_app_rtc_conn.hpp index 0388ba31b..72830bc91 100644 --- a/trunk/src/app/srs_app_rtc_conn.hpp +++ b/trunk/src/app/srs_app_rtc_conn.hpp @@ -273,13 +273,13 @@ public: virtual ~SrsRtcServer(); public: virtual srs_error_t initialize(); - +public: // TODO: FIXME: Support gracefully quit. // TODO: FIXME: Support reload. - virtual srs_error_t listen_rtc(); - + virtual srs_error_t listen_udp(); virtual srs_error_t on_udp_packet(SrsUdpMuxSocket* udp_mux_skt); - +public: + virtual srs_error_t listen_api(); SrsRtcSession* create_rtc_session(const SrsRequest& req, const SrsSdp& remote_sdp, SrsSdp& local_sdp); bool insert_into_id_sessions(const std::string& peer_id, SrsRtcSession* rtc_session); void check_and_clean_timeout_session(); diff --git a/trunk/src/app/srs_app_server.cpp b/trunk/src/app/srs_app_server.cpp index d216ccd1d..7c8231031 100644 --- a/trunk/src/app/srs_app_server.cpp +++ b/trunk/src/app/srs_app_server.cpp @@ -45,7 +45,6 @@ using namespace std; #include #include #include -#include #include #include #include