diff --git a/trunk/src/app/srs_app_srt_server.cpp b/trunk/src/app/srs_app_srt_server.cpp index bfaef1f8e..e77896ea3 100644 --- a/trunk/src/app/srs_app_srt_server.cpp +++ b/trunk/src/app/srs_app_srt_server.cpp @@ -14,6 +14,10 @@ using namespace std; #include #include +#ifdef SRS_SRT +SrsSrtEventLoop* _srt_eventloop = NULL; +#endif + std::string srs_srt_listener_type2string(SrsSrtListenerType type) { switch (type) { @@ -300,6 +304,17 @@ SrsSrtServerAdapter::~SrsSrtServerAdapter() srs_error_t SrsSrtServerAdapter::initialize() { srs_error_t err = srs_success; + + _srt_eventloop = new SrsSrtEventLoop(); + + if ((err = _srt_eventloop->initialize()) != srs_success) { + return srs_error_wrap(err, "srt poller initialize"); + } + + if ((err = _srt_eventloop->start()) != srs_success) { + return srs_error_wrap(err, "srt poller start"); + } + return err; } diff --git a/trunk/src/main/srs_main_server.cpp b/trunk/src/main/srs_main_server.cpp index 025a53cab..e02ef786e 100644 --- a/trunk/src/main/srs_main_server.cpp +++ b/trunk/src/main/srs_main_server.cpp @@ -66,10 +66,6 @@ extern const char* _srs_version; // @global main SRS server, for debugging SrsServer* _srs_server = NULL; -#ifdef SRS_SRT -SrsSrtEventLoop* _srt_eventloop = NULL; -#endif - /** * main entrance. */ @@ -460,13 +456,6 @@ srs_error_t run_hybrid_server() _srs_hybrid->register_server(new SrsServerAdapter()); #ifdef SRS_SRT - _srt_eventloop = new SrsSrtEventLoop(); - if ((err = _srt_eventloop->initialize()) != srs_success) { - return srs_error_wrap(err, "srt poller initialize"); - } - if ((err = _srt_eventloop->start()) != srs_success) { - return srs_error_wrap(err, "srt poller start"); - } _srs_hybrid->register_server(new SrsSrtServerAdapter()); #endif