From fd91df94115631a475666f911cf9d43aca5d5d7b Mon Sep 17 00:00:00 2001 From: winlin Date: Fri, 22 Sep 2017 16:14:30 +0800 Subject: [PATCH] For #913, reload use complex error --- trunk/src/app/srs_app_config.cpp | 376 +++++++++++++------------- trunk/src/app/srs_app_config.hpp | 26 +- trunk/src/app/srs_app_dvr.cpp | 45 +-- trunk/src/app/srs_app_dvr.hpp | 6 +- trunk/src/app/srs_app_http_api.cpp | 4 +- trunk/src/app/srs_app_http_api.hpp | 2 +- trunk/src/app/srs_app_http_static.cpp | 12 +- trunk/src/app/srs_app_http_static.hpp | 4 +- trunk/src/app/srs_app_http_stream.cpp | 24 +- trunk/src/app/srs_app_http_stream.hpp | 4 +- trunk/src/app/srs_app_ingest.cpp | 50 ++-- trunk/src/app/srs_app_ingest.hpp | 12 +- trunk/src/app/srs_app_log.cpp | 30 +- trunk/src/app/srs_app_log.hpp | 6 +- trunk/src/app/srs_app_pithy_print.cpp | 4 +- trunk/src/app/srs_app_pithy_print.hpp | 2 +- trunk/src/app/srs_app_recv_thread.cpp | 16 +- trunk/src/app/srs_app_recv_thread.hpp | 4 +- trunk/src/app/srs_app_reload.cpp | 136 +++++----- trunk/src/app/srs_app_reload.hpp | 68 ++--- trunk/src/app/srs_app_rtmp_conn.cpp | 40 +-- trunk/src/app/srs_app_rtmp_conn.hpp | 10 +- trunk/src/app/srs_app_server.cpp | 100 +++---- trunk/src/app/srs_app_server.hpp | 18 +- trunk/src/app/srs_app_source.cpp | 119 ++++---- trunk/src/app/srs_app_source.hpp | 16 +- trunk/src/utest/srs_utest_reload.cpp | 92 +++---- trunk/src/utest/srs_utest_reload.hpp | 46 ++-- 28 files changed, 642 insertions(+), 630 deletions(-) diff --git a/trunk/src/app/srs_app_config.cpp b/trunk/src/app/srs_app_config.cpp index b66f5b94e..bdb53891b 100644 --- a/trunk/src/app/srs_app_config.cpp +++ b/trunk/src/app/srs_app_config.cpp @@ -1220,9 +1220,9 @@ srs_error_t SrsConfig::reload() return err; } -int SrsConfig::reload_vhost(SrsConfDirective* old_root) +srs_error_t SrsConfig::reload_vhost(SrsConfDirective* old_root) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; // merge config. std::vector::iterator it; @@ -1265,16 +1265,16 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) // DISABLED => ENABLED if (!get_vhost_enabled(old_vhost) && get_vhost_enabled(new_vhost)) { - if ((ret = do_reload_vhost_added(vhost)) != ERROR_SUCCESS) { - return ret; + if ((err = do_reload_vhost_added(vhost)) != srs_success) { + return srs_error_wrap(err, "reload vhost added"); } continue; } // ENABLED => DISABLED if (get_vhost_enabled(old_vhost) && !get_vhost_enabled(new_vhost)) { - if ((ret = do_reload_vhost_removed(vhost)) != ERROR_SUCCESS) { - return ret; + if ((err = do_reload_vhost_removed(vhost)) != srs_success) { + return srs_error_wrap(err, "reload vhost removed"); } continue; } @@ -1287,9 +1287,7 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) // edge will retry and the users connected to edge are ok. // it's ok to add or remove edge/origin vhost. if (get_vhost_is_edge(old_vhost) != get_vhost_is_edge(new_vhost)) { - ret = ERROR_RTMP_EDGE_RELOAD; - srs_error("reload never supports mode changed. ret=%d", ret); - return ret; + return srs_error_new(ERROR_RTMP_EDGE_RELOAD, "vhost mode changed"); } // the auto reload configs: @@ -1302,9 +1300,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("chunk_size"), old_vhost->get("chunk_size"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_chunk_size(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes chunk_size failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_chunk_size(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes chunk_size failed", vhost.c_str()); } } srs_trace("vhost %s reload chunk_size success.", vhost.c_str()); @@ -1314,9 +1311,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("tcp_nodelay"), old_vhost->get("tcp_nodelay"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_tcp_nodelay(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes tcp_nodelay failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_tcp_nodelay(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes tcp_nodelay failed", vhost.c_str()); } } srs_trace("vhost %s reload tcp_nodelay success.", vhost.c_str()); @@ -1326,9 +1322,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("min_latency"), old_vhost->get("min_latency"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_realtime(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes min_latency failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_realtime(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes min_latency failed", vhost.c_str()); } } srs_trace("vhost %s reload min_latency success.", vhost.c_str()); @@ -1338,9 +1333,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("play"), old_vhost->get("play"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_play(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes play failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_play(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes play failed", vhost.c_str()); } } srs_trace("vhost %s reload play success.", vhost.c_str()); @@ -1350,9 +1344,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("forward"), old_vhost->get("forward"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_forward(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes forward failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_forward(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes forward failed", vhost.c_str()); } } srs_trace("vhost %s reload forward success.", vhost.c_str()); @@ -1362,9 +1355,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("dash"), old_vhost->get("dash"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_dash(vhost)) != ERROR_SUCCESS) { - srs_error("Reload vhost %s dash failed, ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_dash(vhost)) != srs_success) { + return srs_error_wrap(err, "Reload vhost %s dash failed", vhost.c_str()); } } srs_trace("Reload vhost %s dash ok.", vhost.c_str()); @@ -1375,9 +1367,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("hls"), old_vhost->get("hls"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_hls(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes hls failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_hls(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes hls failed", vhost.c_str()); } } srs_trace("vhost %s reload hls success.", vhost.c_str()); @@ -1387,9 +1378,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("hds"), old_vhost->get("hds"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_hds(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes hds failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_hds(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes hds failed", vhost.c_str()); } } srs_trace("vhost %s reload hds success.", vhost.c_str()); @@ -1399,9 +1389,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("dvr"), old_vhost->get("dvr"), "dvr_apply")) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_dvr(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes dvr failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_dvr(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes dvr failed", vhost.c_str()); } } srs_trace("vhost %s reload dvr success.", vhost.c_str()); @@ -1413,8 +1402,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) // @see https://github.com/ossrs/srs/issues/459#issuecomment-140296597 SrsConfDirective* nda = new_vhost->get("dvr")? new_vhost->get("dvr")->get("dvr_apply") : NULL; SrsConfDirective* oda = old_vhost->get("dvr")? old_vhost->get("dvr")->get("dvr_apply") : NULL; - if (!srs_directive_equals(nda, oda) && (ret = do_reload_vhost_dvr_apply(vhost)) != ERROR_SUCCESS) { - return ret; + if (!srs_directive_equals(nda, oda) && (err = do_reload_vhost_dvr_apply(vhost)) != srs_success) { + return srs_error_wrap(err, "reload dvr_apply"); } } @@ -1422,9 +1411,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("exec"), old_vhost->get("exec"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_exec(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes exec failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_exec(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes exec failed", vhost.c_str()); } } srs_trace("vhost %s reload exec success.", vhost.c_str()); @@ -1434,9 +1422,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("publish"), old_vhost->get("publish"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_publish(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes publish failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_publish(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes publish failed", vhost.c_str()); } } srs_trace("vhost %s reload publish success.", vhost.c_str()); @@ -1446,9 +1433,8 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("http_static"), old_vhost->get("http_static"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_http_updated()) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes http_static failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_http_updated()) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes http_static failed", vhost.c_str()); } } srs_trace("vhost %s reload http_static success.", vhost.c_str()); @@ -1458,22 +1444,21 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) if (!srs_directive_equals(new_vhost->get("http_remux"), old_vhost->get("http_remux"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_http_remux_updated(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes http_remux failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_http_remux_updated(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes http_remux failed", vhost.c_str()); } } srs_trace("vhost %s reload http_remux success.", vhost.c_str()); } // transcode, many per vhost. - if ((ret = reload_transcode(new_vhost, old_vhost)) != ERROR_SUCCESS) { - return ret; + if ((err = reload_transcode(new_vhost, old_vhost)) != srs_success) { + return srs_error_wrap(err, "reload transcode"); } // ingest, many per vhost. - if ((ret = reload_ingest(new_vhost, old_vhost)) != ERROR_SUCCESS) { - return ret; + if ((err = reload_ingest(new_vhost, old_vhost)) != srs_success) { + return srs_error_wrap(err, "reload ingest"); } continue; } @@ -1481,12 +1466,11 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root) get_vhost_enabled(old_vhost), get_vhost_enabled(new_vhost)); } - return ret; + return err; } srs_error_t SrsConfig::reload_conf(SrsConfig* conf) { - int ret = ERROR_SUCCESS; srs_error_t err = srs_success; SrsConfDirective* old_root = root; @@ -1508,43 +1492,43 @@ srs_error_t SrsConfig::reload_conf(SrsConfig* conf) // merge config: listen if (!srs_directive_equals(root->get("listen"), old_root->get("listen"))) { - if ((ret = do_reload_listen()) != ERROR_SUCCESS) { - return srs_error_new(ret, "listen"); + if ((err = do_reload_listen()) != srs_success) { + return srs_error_wrap(err, "listen"); } } // merge config: pid if (!srs_directive_equals(root->get("pid"), old_root->get("pid"))) { - if ((ret = do_reload_pid()) != ERROR_SUCCESS) { - return srs_error_new(ret, "pid");; + if ((err = do_reload_pid()) != srs_success) { + return srs_error_wrap(err, "pid");; } } // merge config: srs_log_tank if (!srs_directive_equals(root->get("srs_log_tank"), old_root->get("srs_log_tank"))) { - if ((ret = do_reload_srs_log_tank()) != ERROR_SUCCESS) { - return srs_error_new(ret, "log tank");; + if ((err = do_reload_srs_log_tank()) != srs_success) { + return srs_error_wrap(err, "log tank");; } } // merge config: srs_log_level if (!srs_directive_equals(root->get("srs_log_level"), old_root->get("srs_log_level"))) { - if ((ret = do_reload_srs_log_level()) != ERROR_SUCCESS) { - return srs_error_new(ret, "log level");; + if ((err = do_reload_srs_log_level()) != srs_success) { + return srs_error_wrap(err, "log level");; } } // merge config: srs_log_file if (!srs_directive_equals(root->get("srs_log_file"), old_root->get("srs_log_file"))) { - if ((ret = do_reload_srs_log_file()) != ERROR_SUCCESS) { - return srs_error_new(ret, "log file");; + if ((err = do_reload_srs_log_file()) != srs_success) { + return srs_error_wrap(err, "log file");; } } // merge config: max_connections if (!srs_directive_equals(root->get("max_connections"), old_root->get("max_connections"))) { - if ((ret = do_reload_max_connections()) != ERROR_SUCCESS) { - return srs_error_new(ret, "max connections");; + if ((err = do_reload_max_connections()) != srs_success) { + return srs_error_wrap(err, "max connections");; } } @@ -1557,8 +1541,8 @@ srs_error_t SrsConfig::reload_conf(SrsConfig* conf) // merge config: pithy_print_ms if (!srs_directive_equals(root->get("pithy_print_ms"), old_root->get("pithy_print_ms"))) { - if ((ret = do_reload_pithy_print_ms()) != ERROR_SUCCESS) { - return srs_error_new(ret, "pithy print ms");; + if ((err = do_reload_pithy_print_ms()) != srs_success) { + return srs_error_wrap(err, "pithy print ms");; } } @@ -1576,8 +1560,8 @@ srs_error_t SrsConfig::reload_conf(SrsConfig* conf) // TODO: FIXME: support reload kafka. // merge config: vhost - if ((ret = reload_vhost(old_root)) != ERROR_SUCCESS) { - return srs_error_new(ret, "vhost");; + if ((err = reload_vhost(old_root)) != srs_success) { + return srs_error_wrap(err, "vhost");; } return err; @@ -1585,7 +1569,6 @@ srs_error_t SrsConfig::reload_conf(SrsConfig* conf) srs_error_t SrsConfig::reload_http_api(SrsConfDirective* old_root) { - int ret = ERROR_SUCCESS; srs_error_t err = srs_success; // merge config. @@ -1604,8 +1587,8 @@ srs_error_t SrsConfig::reload_http_api(SrsConfDirective* old_root) if (!get_http_api_enabled(old_http_api) && get_http_api_enabled(new_http_api)) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_http_api_enabled()) != ERROR_SUCCESS) { - return srs_error_new(ret, "http api off=>on"); + if ((err = subscribe->on_reload_http_api_enabled()) != srs_success) { + return srs_error_wrap(err, "http api off=>on"); } } srs_trace("reload off=>on http_api success."); @@ -1616,8 +1599,8 @@ srs_error_t SrsConfig::reload_http_api(SrsConfDirective* old_root) if (get_http_api_enabled(old_http_api) && !get_http_api_enabled(new_http_api)) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_http_api_disabled()) != ERROR_SUCCESS) { - return srs_error_new(ret, "http api on=>off"); + if ((err = subscribe->on_reload_http_api_disabled()) != srs_success) { + return srs_error_wrap(err, "http api on=>off"); } } srs_trace("reload http_api on=>off success."); @@ -1630,8 +1613,8 @@ srs_error_t SrsConfig::reload_http_api(SrsConfDirective* old_root) ) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_http_api_enabled()) != ERROR_SUCCESS) { - return srs_error_new(ret, "http api enabled"); + if ((err = subscribe->on_reload_http_api_enabled()) != srs_success) { + return srs_error_wrap(err, "http api enabled"); } } srs_trace("reload http api enabled success."); @@ -1649,8 +1632,8 @@ srs_error_t SrsConfig::reload_http_api(SrsConfDirective* old_root) if (!srs_directive_equals(old_http_api->get("raw_api"), new_http_api->get("raw_api"))) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_http_api_raw_api()) != ERROR_SUCCESS) { - return srs_error_new(ret, "http api raw_api"); + if ((err = subscribe->on_reload_http_api_raw_api()) != srs_success) { + return srs_error_wrap(err, "http api raw_api"); } } } @@ -1664,7 +1647,6 @@ srs_error_t SrsConfig::reload_http_api(SrsConfDirective* old_root) srs_error_t SrsConfig::reload_http_stream(SrsConfDirective* old_root) { - int ret = ERROR_SUCCESS; srs_error_t err = srs_success; // merge config. @@ -1683,8 +1665,8 @@ srs_error_t SrsConfig::reload_http_stream(SrsConfDirective* old_root) if (!get_http_stream_enabled(old_http_stream) && get_http_stream_enabled(new_http_stream)) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_http_stream_enabled()) != ERROR_SUCCESS) { - return srs_error_new(ret, "http stream off=>on"); + if ((err = subscribe->on_reload_http_stream_enabled()) != srs_success) { + return srs_error_wrap(err, "http stream off=>on"); } } srs_trace("reload http stream off=>on success."); @@ -1695,8 +1677,8 @@ srs_error_t SrsConfig::reload_http_stream(SrsConfDirective* old_root) if (get_http_stream_enabled(old_http_stream) && !get_http_stream_enabled(new_http_stream)) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_http_stream_disabled()) != ERROR_SUCCESS) { - return srs_error_new(ret, "http stream on=>off"); + if ((err = subscribe->on_reload_http_stream_disabled()) != srs_success) { + return srs_error_wrap(err, "http stream on=>off"); } } srs_trace("reload http stream on=>off success."); @@ -1709,8 +1691,8 @@ srs_error_t SrsConfig::reload_http_stream(SrsConfDirective* old_root) ) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_http_stream_updated()) != ERROR_SUCCESS) { - return srs_error_new(ret, "http stream enabled"); + if ((err = subscribe->on_reload_http_stream_updated()) != srs_success) { + return srs_error_wrap(err, "http stream enabled"); } } srs_trace("reload http stream enabled success."); @@ -1731,9 +1713,9 @@ srs_error_t SrsConfig::reload_http_stream(SrsConfDirective* old_root) return err; } -int SrsConfig::reload_transcode(SrsConfDirective* new_vhost, SrsConfDirective* old_vhost) +srs_error_t SrsConfig::reload_transcode(SrsConfDirective* new_vhost, SrsConfDirective* old_vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; std::vector old_transcoders; for (int i = 0; i < (int)old_vhost->directives.size(); i++) { @@ -1804,20 +1786,19 @@ int SrsConfig::reload_transcode(SrsConfDirective* new_vhost, SrsConfDirective* o if (changed) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_transcode(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes transcode failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_transcode(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes transcode failed", vhost.c_str()); } } srs_trace("vhost %s reload transcode success.", vhost.c_str()); } - return ret; + return err; } -int SrsConfig::reload_ingest(SrsConfDirective* new_vhost, SrsConfDirective* old_vhost) +srs_error_t SrsConfig::reload_ingest(SrsConfDirective* new_vhost, SrsConfDirective* old_vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; std::vector old_ingesters; for (int i = 0; i < (int)old_vhost->directives.size(); i++) { @@ -1850,10 +1831,8 @@ int SrsConfig::reload_ingest(SrsConfDirective* new_vhost, SrsConfDirective* old_ // notice handler ingester removed. for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_ingest_removed(vhost, ingest_id)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes ingest=%s removed failed. ret=%d", - vhost.c_str(), ingest_id.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_ingest_removed(vhost, ingest_id)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes ingest=%s removed failed", vhost.c_str(), ingest_id.c_str()); } } srs_trace("vhost %s reload ingest=%s removed success.", vhost.c_str(), ingest_id.c_str()); @@ -1870,10 +1849,8 @@ int SrsConfig::reload_ingest(SrsConfDirective* new_vhost, SrsConfDirective* old_ if (!get_ingest_enabled(old_ingester) && get_ingest_enabled(new_ingester)) { for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_ingest_added(vhost, ingest_id)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes ingest=%s added failed. ret=%d", - vhost.c_str(), ingest_id.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_ingest_added(vhost, ingest_id)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes ingest=%s added failed", vhost.c_str(), ingest_id.c_str()); } } srs_trace("vhost %s reload ingest=%s added success.", vhost.c_str(), ingest_id.c_str()); @@ -1895,10 +1872,8 @@ int SrsConfig::reload_ingest(SrsConfDirective* new_vhost, SrsConfDirective* old_ // notice handler ingester removed. for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_ingest_updated(vhost, ingest_id)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes ingest=%s updated failed. ret=%d", - vhost.c_str(), ingest_id.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_ingest_updated(vhost, ingest_id)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes ingest=%s updated failed", vhost.c_str(), ingest_id.c_str()); } } srs_trace("vhost %s reload ingest=%s updated success.", vhost.c_str(), ingest_id.c_str()); @@ -1907,7 +1882,7 @@ int SrsConfig::reload_ingest(SrsConfDirective* new_vhost, SrsConfDirective* old_ srs_trace("ingest nothing changed for vhost=%s", vhost.c_str()); - return ret; + return err; } // see: ngx_get_options @@ -2814,6 +2789,7 @@ int SrsConfig::raw_to_json(SrsJsonObject* obj) int SrsConfig::raw_set_listen(const vector& eps, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; @@ -2827,7 +2803,10 @@ int SrsConfig::raw_set_listen(const vector& eps, bool& applied) // changed, apply and reload. conf->args = eps; - if ((ret = do_reload_listen()) != ERROR_SUCCESS) { + if ((err = do_reload_listen()) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -2839,6 +2818,7 @@ int SrsConfig::raw_set_listen(const vector& eps, bool& applied) int SrsConfig::raw_set_pid(string pid, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; @@ -2851,7 +2831,10 @@ int SrsConfig::raw_set_pid(string pid, bool& applied) conf->args.clear(); conf->args.push_back(pid); - if ((ret = do_reload_pid()) != ERROR_SUCCESS) { + if ((err = do_reload_pid()) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -2907,6 +2890,7 @@ int SrsConfig::raw_set_ff_log_dir(string ff_log_dir, bool& applied) int SrsConfig::raw_set_srs_log_tank(string srs_log_tank, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; @@ -2919,7 +2903,10 @@ int SrsConfig::raw_set_srs_log_tank(string srs_log_tank, bool& applied) conf->args.clear(); conf->args.push_back(srs_log_tank); - if ((ret = do_reload_srs_log_tank()) != ERROR_SUCCESS) { + if ((err = do_reload_srs_log_tank()) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -2931,6 +2918,7 @@ int SrsConfig::raw_set_srs_log_tank(string srs_log_tank, bool& applied) int SrsConfig::raw_set_srs_log_level(string srs_log_level, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; @@ -2943,7 +2931,10 @@ int SrsConfig::raw_set_srs_log_level(string srs_log_level, bool& applied) conf->args.clear(); conf->args.push_back(srs_log_level); - if ((ret = do_reload_srs_log_level()) != ERROR_SUCCESS) { + if ((err = do_reload_srs_log_level()) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -2955,6 +2946,7 @@ int SrsConfig::raw_set_srs_log_level(string srs_log_level, bool& applied) int SrsConfig::raw_set_srs_log_file(string srs_log_file, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; @@ -2967,7 +2959,10 @@ int SrsConfig::raw_set_srs_log_file(string srs_log_file, bool& applied) conf->args.clear(); conf->args.push_back(srs_log_file); - if ((ret = do_reload_srs_log_file()) != ERROR_SUCCESS) { + if ((err = do_reload_srs_log_file()) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -2979,6 +2974,7 @@ int SrsConfig::raw_set_srs_log_file(string srs_log_file, bool& applied) int SrsConfig::raw_set_max_connections(string max_connections, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; @@ -2991,7 +2987,10 @@ int SrsConfig::raw_set_max_connections(string max_connections, bool& applied) conf->args.clear(); conf->args.push_back(max_connections); - if ((ret = do_reload_max_connections()) != ERROR_SUCCESS) { + if ((err = do_reload_max_connections()) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -3027,6 +3026,7 @@ srs_error_t SrsConfig::raw_set_utc_time(string utc_time, bool& applied) int SrsConfig::raw_set_pithy_print_ms(string pithy_print_ms, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; @@ -3039,7 +3039,10 @@ int SrsConfig::raw_set_pithy_print_ms(string pithy_print_ms, bool& applied) conf->args.clear(); conf->args.push_back(pithy_print_ms); - if ((ret = do_reload_pithy_print_ms()) != ERROR_SUCCESS) { + if ((err = do_reload_pithy_print_ms()) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -3051,13 +3054,17 @@ int SrsConfig::raw_set_pithy_print_ms(string pithy_print_ms, bool& applied) int SrsConfig::raw_create_vhost(string vhost, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; SrsConfDirective* conf = root->get_or_create("vhost", vhost); conf->get_or_create("enabled")->set_arg0("on"); - if ((ret = do_reload_vhost_added(vhost)) != ERROR_SUCCESS) { + if ((err = do_reload_vhost_added(vhost)) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -3103,13 +3110,17 @@ int SrsConfig::raw_delete_vhost(string vhost, bool& applied) int SrsConfig::raw_disable_vhost(string vhost, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; SrsConfDirective* conf = root->get("vhost", vhost); conf->get_or_create("enabled")->set_arg0("off"); - if ((ret = do_reload_vhost_removed(vhost)) != ERROR_SUCCESS) { + if ((err = do_reload_vhost_removed(vhost)) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -3121,13 +3132,17 @@ int SrsConfig::raw_disable_vhost(string vhost, bool& applied) int SrsConfig::raw_enable_vhost(string vhost, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; SrsConfDirective* conf = root->get("vhost", vhost); conf->get_or_create("enabled")->set_arg0("on"); - if ((ret = do_reload_vhost_added(vhost)) != ERROR_SUCCESS) { + if ((err = do_reload_vhost_added(vhost)) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -3139,6 +3154,7 @@ int SrsConfig::raw_enable_vhost(string vhost, bool& applied) int SrsConfig::raw_enable_dvr(string vhost, string stream, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; @@ -3153,7 +3169,10 @@ int SrsConfig::raw_enable_dvr(string vhost, string stream, bool& applied) conf->args.push_back(stream); } - if ((ret = do_reload_vhost_dvr_apply(vhost)) != ERROR_SUCCESS) { + if ((err = do_reload_vhost_dvr_apply(vhost)) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -3165,6 +3184,7 @@ int SrsConfig::raw_enable_dvr(string vhost, string stream, bool& applied) int SrsConfig::raw_disable_dvr(string vhost, string stream, bool& applied) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; applied = false; @@ -3181,7 +3201,10 @@ int SrsConfig::raw_disable_dvr(string vhost, string stream, bool& applied) conf->args.push_back("none"); } - if ((ret = do_reload_vhost_dvr_apply(vhost)) != ERROR_SUCCESS) { + if ((err = do_reload_vhost_dvr_apply(vhost)) != srs_success) { + // TODO: FIXME: Use error + ret = srs_error_code(err); + srs_freep(err); return ret; } @@ -3190,106 +3213,100 @@ int SrsConfig::raw_disable_dvr(string vhost, string stream, bool& applied) return ret; } -int SrsConfig::do_reload_listen() +srs_error_t SrsConfig::do_reload_listen() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_listen()) != ERROR_SUCCESS) { - srs_error("notify subscribes reload listen failed. ret=%d", ret); - return ret; + if ((err = subscribe->on_reload_listen()) != srs_success) { + return srs_error_wrap(err, "notify subscribes reload listen failed"); } } srs_trace("reload listen success."); - return ret; + return err; } -int SrsConfig::do_reload_pid() +srs_error_t SrsConfig::do_reload_pid() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_pid()) != ERROR_SUCCESS) { - srs_error("notify subscribes reload pid failed. ret=%d", ret); - return ret; + if ((err = subscribe->on_reload_pid()) != srs_success) { + return srs_error_wrap(err, "notify subscribes reload pid failed"); } } srs_trace("reload pid success."); - return ret; + return err; } -int SrsConfig::do_reload_srs_log_tank() +srs_error_t SrsConfig::do_reload_srs_log_tank() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_log_tank()) != ERROR_SUCCESS) { - srs_error("notify subscribes reload srs_log_tank failed. ret=%d", ret); - return ret; + if ((err = subscribe->on_reload_log_tank()) != srs_success) { + return srs_error_wrap(err, "notify subscribes reload srs_log_tank failed"); } } srs_trace("reload srs_log_tank success."); - return ret; + return err; } -int SrsConfig::do_reload_srs_log_level() +srs_error_t SrsConfig::do_reload_srs_log_level() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_log_level()) != ERROR_SUCCESS) { - srs_error("notify subscribes reload srs_log_level failed. ret=%d", ret); - return ret; + if ((err = subscribe->on_reload_log_level()) != srs_success) { + return srs_error_wrap(err, "notify subscribes reload srs_log_level failed"); } } srs_trace("reload srs_log_level success."); - return ret; + return err; } -int SrsConfig::do_reload_srs_log_file() +srs_error_t SrsConfig::do_reload_srs_log_file() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_log_file()) != ERROR_SUCCESS) { - srs_error("notify subscribes reload srs_log_file failed. ret=%d", ret); - return ret; + if ((err = subscribe->on_reload_log_file()) != srs_success) { + return srs_error_wrap(err, "notify subscribes reload srs_log_file failed"); } } srs_trace("reload srs_log_file success."); - return ret; + return err; } -int SrsConfig::do_reload_max_connections() +srs_error_t SrsConfig::do_reload_max_connections() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_max_conns()) != ERROR_SUCCESS) { - srs_error("notify subscribes reload max_connections failed. ret=%d", ret); - return ret; + if ((err = subscribe->on_reload_max_conns()) != srs_success) { + return srs_error_wrap(err, "notify subscribes reload max_connections failed"); } } srs_trace("reload max_connections success."); - return ret; + return err; } srs_error_t SrsConfig::do_reload_utc_time() @@ -3308,78 +3325,73 @@ srs_error_t SrsConfig::do_reload_utc_time() return err; } -int SrsConfig::do_reload_pithy_print_ms() +srs_error_t SrsConfig::do_reload_pithy_print_ms() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_pithy_print()) != ERROR_SUCCESS) { - srs_error("notify subscribes pithy_print_ms failed. ret=%d", ret); - return ret; + if ((err = subscribe->on_reload_pithy_print()) != srs_success) { + return srs_error_wrap(err, "notify subscribes pithy_print_ms failed"); } } srs_trace("reload pithy_print_ms success."); - return ret; + return err; } -int SrsConfig::do_reload_vhost_added(string vhost) +srs_error_t SrsConfig::do_reload_vhost_added(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; srs_trace("vhost %s added, reload it.", vhost.c_str()); vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_added(vhost)) != ERROR_SUCCESS) { - srs_error("notify subscribes added vhost %s failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_added(vhost)) != srs_success) { + return srs_error_wrap(err, "notify subscribes added vhost %s failed", vhost.c_str()); } } srs_trace("reload new vhost %s success.", vhost.c_str()); - return ret; + return err; } -int SrsConfig::do_reload_vhost_removed(string vhost) +srs_error_t SrsConfig::do_reload_vhost_removed(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; srs_trace("vhost %s removed, reload it.", vhost.c_str()); vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_removed(vhost)) != ERROR_SUCCESS) { - srs_error("notify subscribes removed " - "vhost %s failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_removed(vhost)) != srs_success) { + return srs_error_wrap(err, "notify subscribes removed vhost %s failed", vhost.c_str()); } } srs_trace("reload removed vhost %s success.", vhost.c_str()); - return ret; + return err; } -int SrsConfig::do_reload_vhost_dvr_apply(string vhost) +srs_error_t SrsConfig::do_reload_vhost_dvr_apply(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; vector::iterator it; for (it = subscribes.begin(); it != subscribes.end(); ++it) { ISrsReloadHandler* subscribe = *it; - if ((ret = subscribe->on_reload_vhost_dvr_apply(vhost)) != ERROR_SUCCESS) { - srs_error("vhost %s notify subscribes dvr_apply failed. ret=%d", vhost.c_str(), ret); - return ret; + if ((err = subscribe->on_reload_vhost_dvr_apply(vhost)) != srs_success) { + return srs_error_wrap(err, "vhost %s notify subscribes dvr_apply failed", vhost.c_str()); } } srs_trace("vhost %s reload dvr_apply success.", vhost.c_str()); - return ret; + return err; } string SrsConfig::config() diff --git a/trunk/src/app/srs_app_config.hpp b/trunk/src/app/srs_app_config.hpp index 13bf75387..124981832 100644 --- a/trunk/src/app/srs_app_config.hpp +++ b/trunk/src/app/srs_app_config.hpp @@ -382,7 +382,7 @@ private: /** * reload the vhost section of config. */ - virtual int reload_vhost(SrsConfDirective* old_root); + virtual srs_error_t reload_vhost(SrsConfDirective* old_root); protected: /** * reload from the config. @@ -402,11 +402,11 @@ private: /** * reload the transcode section of vhost of config. */ - virtual int reload_transcode(SrsConfDirective* new_vhost, SrsConfDirective* old_vhost); + virtual srs_error_t reload_transcode(SrsConfDirective* new_vhost, SrsConfDirective* old_vhost); /** * reload the ingest section of vhost of config. */ - virtual int reload_ingest(SrsConfDirective* new_vhost, SrsConfDirective* old_vhost); + virtual srs_error_t reload_ingest(SrsConfDirective* new_vhost, SrsConfDirective* old_vhost); // parse options and file public: /** @@ -510,17 +510,17 @@ public: */ virtual int raw_disable_dvr(std::string vhost, std::string stream, bool& applied); private: - virtual int do_reload_listen(); - virtual int do_reload_pid(); - virtual int do_reload_srs_log_tank(); - virtual int do_reload_srs_log_level(); - virtual int do_reload_srs_log_file(); - virtual int do_reload_max_connections(); + virtual srs_error_t do_reload_listen(); + virtual srs_error_t do_reload_pid(); + virtual srs_error_t do_reload_srs_log_tank(); + virtual srs_error_t do_reload_srs_log_level(); + virtual srs_error_t do_reload_srs_log_file(); + virtual srs_error_t do_reload_max_connections(); virtual srs_error_t do_reload_utc_time(); - virtual int do_reload_pithy_print_ms(); - virtual int do_reload_vhost_added(std::string vhost); - virtual int do_reload_vhost_removed(std::string vhost); - virtual int do_reload_vhost_dvr_apply(std::string vhost); + virtual srs_error_t do_reload_pithy_print_ms(); + virtual srs_error_t do_reload_vhost_added(std::string vhost); + virtual srs_error_t do_reload_vhost_removed(std::string vhost); + virtual srs_error_t do_reload_vhost_dvr_apply(std::string vhost); public: /** * get the config file path. diff --git a/trunk/src/app/srs_app_dvr.cpp b/trunk/src/app/srs_app_dvr.cpp index 1aefe65c7..45322d7c3 100644 --- a/trunk/src/app/srs_app_dvr.cpp +++ b/trunk/src/app/srs_app_dvr.cpp @@ -205,15 +205,6 @@ int SrsDvrSegmenter::close() return ret; } -int SrsDvrSegmenter::on_update_duration(SrsSharedPtrMessage* msg) -{ - int ret = ERROR_SUCCESS; - - fragment->append(msg->timestamp); - - return ret; -} - string SrsDvrSegmenter::generate_path() { // the path in config, for example, @@ -233,18 +224,27 @@ string SrsDvrSegmenter::generate_path() return flv_path; } -int SrsDvrSegmenter::on_reload_vhost_dvr(std::string vhost) +int SrsDvrSegmenter::on_update_duration(SrsSharedPtrMessage* msg) { int ret = ERROR_SUCCESS; + fragment->append(msg->timestamp); + + return ret; +} + +srs_error_t SrsDvrSegmenter::on_reload_vhost_dvr(std::string vhost) +{ + srs_error_t err = srs_success; + if (req->vhost != vhost) { - return ret; + return err; } jitter_algorithm = (SrsRtmpJitterAlgorithm)_srs_config->get_dvr_time_jitter(req->vhost); wait_keyframe = _srs_config->get_dvr_wait_keyframe(req->vhost); - return ret; + return err; } SrsDvrFlvSegmenter::SrsDvrFlvSegmenter() @@ -885,12 +885,12 @@ int SrsDvrSegmentPlan::update_duration(SrsSharedPtrMessage* msg) return ret; } -int SrsDvrSegmentPlan::on_reload_vhost_dvr(string vhost) +srs_error_t SrsDvrSegmentPlan::on_reload_vhost_dvr(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } wait_keyframe = _srs_config->get_dvr_wait_keyframe(req->vhost); @@ -899,7 +899,7 @@ int SrsDvrSegmentPlan::on_reload_vhost_dvr(string vhost) // to ms cduration *= 1000; - return ret; + return err; } SrsDvr::SrsDvr() @@ -1006,32 +1006,33 @@ int SrsDvr::on_video(SrsSharedPtrMessage* shared_video, SrsFormat* format) return plan->on_video(shared_video, format); } -int SrsDvr::on_reload_vhost_dvr_apply(string vhost) +srs_error_t SrsDvr::on_reload_vhost_dvr_apply(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; SrsConfDirective* conf = _srs_config->get_dvr_apply(req->vhost); bool v = srs_config_apply_filter(conf, req); // the apply changed, republish the dvr. if (v == actived) { - return ret; + return err; } actived = v; on_unpublish(); if (!actived) { - return ret; + return err; } if ((ret = on_publish()) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "on publish"); } if ((ret = hub->on_dvr_request_sh()) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "request sh"); } - return ret; + return err; } diff --git a/trunk/src/app/srs_app_dvr.hpp b/trunk/src/app/srs_app_dvr.hpp index e8d7d90d6..d3ce624a1 100644 --- a/trunk/src/app/srs_app_dvr.hpp +++ b/trunk/src/app/srs_app_dvr.hpp @@ -107,7 +107,7 @@ private: virtual int on_update_duration(SrsSharedPtrMessage* msg); // interface ISrsReloadHandler public: - virtual int on_reload_vhost_dvr(std::string vhost); + virtual srs_error_t on_reload_vhost_dvr(std::string vhost); }; /** @@ -243,7 +243,7 @@ private: virtual int update_duration(SrsSharedPtrMessage* msg); // interface ISrsReloadHandler public: - virtual int on_reload_vhost_dvr(std::string vhost); + virtual srs_error_t on_reload_vhost_dvr(std::string vhost); }; /** @@ -297,7 +297,7 @@ public: virtual int on_video(SrsSharedPtrMessage* shared_video, SrsFormat* format); // interface ISrsReloadHandler public: - virtual int on_reload_vhost_dvr_apply(std::string vhost); + virtual srs_error_t on_reload_vhost_dvr_apply(std::string vhost); }; #endif diff --git a/trunk/src/app/srs_app_http_api.cpp b/trunk/src/app/srs_app_http_api.cpp index 180167a7d..4c9c1e31b 100644 --- a/trunk/src/app/srs_app_http_api.cpp +++ b/trunk/src/app/srs_app_http_api.cpp @@ -1316,14 +1316,14 @@ srs_error_t SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* return err; } -int SrsGoApiRaw::on_reload_http_api_raw_api() +srs_error_t SrsGoApiRaw::on_reload_http_api_raw_api() { raw_api = _srs_config->get_raw_api(); allow_reload = _srs_config->get_raw_api_allow_reload(); allow_query = _srs_config->get_raw_api_allow_query(); allow_update = _srs_config->get_raw_api_allow_update(); - return ERROR_SUCCESS; + return srs_success; } SrsGoApiError::SrsGoApiError() diff --git a/trunk/src/app/srs_app_http_api.hpp b/trunk/src/app/srs_app_http_api.hpp index aa2ff49dd..aa490b9d5 100644 --- a/trunk/src/app/srs_app_http_api.hpp +++ b/trunk/src/app/srs_app_http_api.hpp @@ -189,7 +189,7 @@ public: virtual srs_error_t serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r); // interface ISrsReloadHandler public: - virtual int on_reload_http_api_raw_api(); + virtual srs_error_t on_reload_http_api_raw_api(); }; class SrsGoApiError : public ISrsHttpHandler diff --git a/trunk/src/app/srs_app_http_static.cpp b/trunk/src/app/srs_app_http_static.cpp index fd2e8a226..34ec28f2b 100644 --- a/trunk/src/app/srs_app_http_static.cpp +++ b/trunk/src/app/srs_app_http_static.cpp @@ -289,22 +289,22 @@ int SrsHttpStaticServer::mount_vhost(string vhost, string& pmount) return ret; } -int SrsHttpStaticServer::on_reload_vhost_added(string vhost) +srs_error_t SrsHttpStaticServer::on_reload_vhost_added(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; string pmount; if ((ret = mount_vhost(vhost, pmount)) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "mount vhost"); } - return ret; + return err; } -int SrsHttpStaticServer::on_reload_vhost_http_updated() +srs_error_t SrsHttpStaticServer::on_reload_vhost_http_updated() { - int ret = ERROR_SUCCESS; // TODO: FIXME: implements it. - return ret; + return srs_success; } diff --git a/trunk/src/app/srs_app_http_static.hpp b/trunk/src/app/srs_app_http_static.hpp index 39b097109..c9257e972 100644 --- a/trunk/src/app/srs_app_http_static.hpp +++ b/trunk/src/app/srs_app_http_static.hpp @@ -63,8 +63,8 @@ private: virtual int mount_vhost(std::string vhost, std::string& pmount); // interface ISrsReloadHandler. public: - virtual int on_reload_vhost_added(std::string vhost); - virtual int on_reload_vhost_http_updated(); + virtual srs_error_t on_reload_vhost_added(std::string vhost); + virtual srs_error_t on_reload_vhost_http_updated(); }; #endif diff --git a/trunk/src/app/srs_app_http_stream.cpp b/trunk/src/app/srs_app_http_stream.cpp index 2b9f818d0..f8d2671cc 100755 --- a/trunk/src/app/srs_app_http_stream.cpp +++ b/trunk/src/app/srs_app_http_stream.cpp @@ -813,29 +813,30 @@ void SrsHttpStreamServer::http_unmount(SrsSource* s, SrsRequest* r) entry->stream->entry->enabled = false; } -int SrsHttpStreamServer::on_reload_vhost_added(string vhost) +srs_error_t SrsHttpStreamServer::on_reload_vhost_added(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; - if ((ret = on_reload_vhost_http_remux_updated(vhost)) != ERROR_SUCCESS) { - return ret; + if ((err = on_reload_vhost_http_remux_updated(vhost)) != srs_success) { + return srs_error_wrap(err, "reload vhost added"); } - return ret; + return err; } -int SrsHttpStreamServer::on_reload_vhost_http_remux_updated(string vhost) +srs_error_t SrsHttpStreamServer::on_reload_vhost_http_remux_updated(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (tflvs.find(vhost) == tflvs.end()) { if ((ret = initialize_flv_entry(vhost)) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "init flv entry"); } // http mount need SrsRequest and SrsSource param, only create a mapping template entry // and do mount automatically on playing http flv if this stream is a new http_remux stream. - return ret; + return err; } SrsLiveEntry* tmpl = tflvs[vhost]; @@ -848,7 +849,7 @@ int SrsHttpStreamServer::on_reload_vhost_http_remux_updated(string vhost) } if (!_srs_config->get_vhost_http_remux_enabled(vhost)) { - return ret; + return err; } string old_tmpl_mount = tmpl->mount; @@ -867,8 +868,7 @@ int SrsHttpStreamServer::on_reload_vhost_http_remux_updated(string vhost) // remount stream. if ((ret = http_mount(source, req)) != ERROR_SUCCESS) { - srs_trace("vhost %s http_remux reload failed", vhost.c_str()); - return ret; + return srs_error_new(ret, "vhost %s http_remux reload failed", vhost.c_str()); } } else { // for without SrsRequest and SrsSource if stream is not played yet, do http mount automatically @@ -877,7 +877,7 @@ int SrsHttpStreamServer::on_reload_vhost_http_remux_updated(string vhost) srs_trace("vhost %s http_remux reload success", vhost.c_str()); - return ret; + return err; } srs_error_t SrsHttpStreamServer::hijack(ISrsHttpMessage* request, ISrsHttpHandler** ph) diff --git a/trunk/src/app/srs_app_http_stream.hpp b/trunk/src/app/srs_app_http_stream.hpp index c8368806e..8eb94cc02 100755 --- a/trunk/src/app/srs_app_http_stream.hpp +++ b/trunk/src/app/srs_app_http_stream.hpp @@ -290,8 +290,8 @@ public: virtual void http_unmount(SrsSource* s, SrsRequest* r); // interface ISrsReloadHandler. public: - virtual int on_reload_vhost_added(std::string vhost); - virtual int on_reload_vhost_http_remux_updated(std::string vhost); + virtual srs_error_t on_reload_vhost_added(std::string vhost); + virtual srs_error_t on_reload_vhost_http_remux_updated(std::string vhost); // interface ISrsHttpMatchHijacker public: virtual srs_error_t hijack(ISrsHttpMessage* request, ISrsHttpHandler** ph); diff --git a/trunk/src/app/srs_app_ingest.cpp b/trunk/src/app/srs_app_ingest.cpp index 4219e928e..c06f731c8 100644 --- a/trunk/src/app/srs_app_ingest.cpp +++ b/trunk/src/app/srs_app_ingest.cpp @@ -483,9 +483,9 @@ void SrsIngester::show_ingest_log_message() } } -int SrsIngester::on_reload_vhost_removed(string vhost) +srs_error_t SrsIngester::on_reload_vhost_removed(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; std::vector::iterator it; @@ -508,26 +508,27 @@ int SrsIngester::on_reload_vhost_removed(string vhost) it = ingesters.erase(it); } - return ret; + return err; } -int SrsIngester::on_reload_vhost_added(string vhost) +srs_error_t SrsIngester::on_reload_vhost_added(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; SrsConfDirective* _vhost = _srs_config->get_vhost(vhost); if ((ret = parse_ingesters(_vhost)) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "parse ingesters"); } srs_trace("reload add vhost ingesters, vhost=%s", vhost.c_str()); - return ret; + return err; } -int SrsIngester::on_reload_ingest_removed(string vhost, string ingest_id) +srs_error_t SrsIngester::on_reload_ingest_removed(string vhost, string ingest_id) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; std::vector::iterator it; @@ -550,48 +551,47 @@ int SrsIngester::on_reload_ingest_removed(string vhost, string ingest_id) it = ingesters.erase(it); } - return ret; + return err; } -int SrsIngester::on_reload_ingest_added(string vhost, string ingest_id) +srs_error_t SrsIngester::on_reload_ingest_added(string vhost, string ingest_id) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; SrsConfDirective* _vhost = _srs_config->get_vhost(vhost); SrsConfDirective* _ingester = _srs_config->get_ingest_by_id(vhost, ingest_id); if ((ret = parse_engines(_vhost, _ingester)) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "parse engines"); } - srs_trace("reload add ingester, " - "vhost=%s, id=%s", vhost.c_str(), ingest_id.c_str()); + srs_trace("reload add ingester, vhost=%s, id=%s", vhost.c_str(), ingest_id.c_str()); - return ret; + return err; } -int SrsIngester::on_reload_ingest_updated(string vhost, string ingest_id) +srs_error_t SrsIngester::on_reload_ingest_updated(string vhost, string ingest_id) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; - if ((ret = on_reload_ingest_removed(vhost, ingest_id)) != ERROR_SUCCESS) { - return ret; + if ((err = on_reload_ingest_removed(vhost, ingest_id)) != srs_success) { + return srs_error_wrap(err, "reload ingest removed"); } - if ((ret = on_reload_ingest_added(vhost, ingest_id)) != ERROR_SUCCESS) { - return ret; + if ((err = on_reload_ingest_added(vhost, ingest_id)) != srs_success) { + return srs_error_wrap(err, "reload ingest added"); } - srs_trace("reload updated ingester, " - "vhost=%s, id=%s", vhost.c_str(), ingest_id.c_str()); + srs_trace("reload updated ingester, vhost=%s, id=%s", vhost.c_str(), ingest_id.c_str()); - return ret; + return err; } -int SrsIngester::on_reload_listen() +srs_error_t SrsIngester::on_reload_listen() { expired = true; - return ERROR_SUCCESS; + return srs_success; } #endif diff --git a/trunk/src/app/srs_app_ingest.hpp b/trunk/src/app/srs_app_ingest.hpp index 4e5601cb8..9fdec2efb 100644 --- a/trunk/src/app/srs_app_ingest.hpp +++ b/trunk/src/app/srs_app_ingest.hpp @@ -106,12 +106,12 @@ private: virtual void show_ingest_log_message(); // interface ISrsReloadHandler. public: - virtual int on_reload_vhost_removed(std::string vhost); - virtual int on_reload_vhost_added(std::string vhost); - virtual int on_reload_ingest_removed(std::string vhost, std::string ingest_id); - virtual int on_reload_ingest_added(std::string vhost, std::string ingest_id); - virtual int on_reload_ingest_updated(std::string vhost, std::string ingest_id); - virtual int on_reload_listen(); + virtual srs_error_t on_reload_vhost_removed(std::string vhost); + virtual srs_error_t on_reload_vhost_added(std::string vhost); + virtual srs_error_t on_reload_ingest_removed(std::string vhost, std::string ingest_id); + virtual srs_error_t on_reload_ingest_added(std::string vhost, std::string ingest_id); + virtual srs_error_t on_reload_ingest_updated(std::string vhost, std::string ingest_id); + virtual srs_error_t on_reload_listen(); }; #endif diff --git a/trunk/src/app/srs_app_log.cpp b/trunk/src/app/srs_app_log.cpp index 97155825e..c290055a6 100644 --- a/trunk/src/app/srs_app_log.cpp +++ b/trunk/src/app/srs_app_log.cpp @@ -206,23 +206,23 @@ srs_error_t SrsFastLog::on_reload_utc_time() return srs_success; } -int SrsFastLog::on_reload_log_tank() +srs_error_t SrsFastLog::on_reload_log_tank() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (!_srs_config) { - return ret; + return err; } bool tank = log_to_file_tank; log_to_file_tank = _srs_config->get_log_tank_file(); if (tank) { - return ret; + return err; } if (!log_to_file_tank) { - return ret; + return err; } if (fd > 0) { @@ -230,32 +230,32 @@ int SrsFastLog::on_reload_log_tank() } open_log_file(); - return ret; + return err; } -int SrsFastLog::on_reload_log_level() +srs_error_t SrsFastLog::on_reload_log_level() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (!_srs_config) { - return ret; + return err; } level = srs_get_log_level(_srs_config->get_log_level()); - return ret; + return err; } -int SrsFastLog::on_reload_log_file() +srs_error_t SrsFastLog::on_reload_log_file() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (!_srs_config) { - return ret; + return err; } if (!log_to_file_tank) { - return ret; + return err; } if (fd > 0) { @@ -263,7 +263,7 @@ int SrsFastLog::on_reload_log_file() } open_log_file(); - return ret; + return err; } void SrsFastLog::write_log(int& fd, char *str_log, int size, int level) diff --git a/trunk/src/app/srs_app_log.hpp b/trunk/src/app/srs_app_log.hpp index 8d8bfae79..88e98a09c 100644 --- a/trunk/src/app/srs_app_log.hpp +++ b/trunk/src/app/srs_app_log.hpp @@ -66,9 +66,9 @@ public: // interface ISrsReloadHandler. public: virtual srs_error_t on_reload_utc_time(); - virtual int on_reload_log_tank(); - virtual int on_reload_log_level(); - virtual int on_reload_log_file(); + virtual srs_error_t on_reload_log_tank(); + virtual srs_error_t on_reload_log_level(); + virtual srs_error_t on_reload_log_file(); private: virtual void write_log(int& fd, char* str_log, int size, int level); virtual void open_log_file(); diff --git a/trunk/src/app/srs_app_pithy_print.cpp b/trunk/src/app/srs_app_pithy_print.cpp index 394685d7c..c0c78a65c 100644 --- a/trunk/src/app/srs_app_pithy_print.cpp +++ b/trunk/src/app/srs_app_pithy_print.cpp @@ -69,10 +69,10 @@ bool SrsStageInfo::can_print() return can_print; } -int SrsStageInfo::on_reload_pithy_print() +srs_error_t SrsStageInfo::on_reload_pithy_print() { update_print_time(); - return ERROR_SUCCESS; + return srs_success; } static std::map _srs_stages; diff --git a/trunk/src/app/srs_app_pithy_print.hpp b/trunk/src/app/srs_app_pithy_print.hpp index 23200165c..ae567c8fb 100644 --- a/trunk/src/app/srs_app_pithy_print.hpp +++ b/trunk/src/app/srs_app_pithy_print.hpp @@ -47,7 +47,7 @@ public: virtual void elapse(int64_t diff); virtual bool can_print(); public: - virtual int on_reload_pithy_print(); + virtual srs_error_t on_reload_pithy_print(); }; /** diff --git a/trunk/src/app/srs_app_recv_thread.cpp b/trunk/src/app/srs_app_recv_thread.cpp index dacb8e86e..e840379d8 100644 --- a/trunk/src/app/srs_app_recv_thread.cpp +++ b/trunk/src/app/srs_app_recv_thread.cpp @@ -468,12 +468,12 @@ void SrsPublishRecvThread::on_read(ssize_t nread) } #endif -int SrsPublishRecvThread::on_reload_vhost_publish(string vhost) +srs_error_t SrsPublishRecvThread::on_reload_vhost_publish(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } // the mr settings, @@ -505,22 +505,22 @@ int SrsPublishRecvThread::on_reload_vhost_publish(string vhost) mr = mr_enabled; mr_sleep = sleep_ms; - return ret; + return err; } -int SrsPublishRecvThread::on_reload_vhost_realtime(string vhost) +srs_error_t SrsPublishRecvThread::on_reload_vhost_realtime(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } bool realtime_enabled = _srs_config->get_realtime_enabled(req->vhost); srs_trace("realtime changed %d=>%d", realtime, realtime_enabled); realtime = realtime_enabled; - return ret; + return err; } void SrsPublishRecvThread::set_socket_buffer(int sleep_ms) diff --git a/trunk/src/app/srs_app_recv_thread.hpp b/trunk/src/app/srs_app_recv_thread.hpp index d9576a143..9c1e198ab 100644 --- a/trunk/src/app/srs_app_recv_thread.hpp +++ b/trunk/src/app/srs_app_recv_thread.hpp @@ -217,8 +217,8 @@ public: #endif // interface ISrsReloadHandler public: - virtual int on_reload_vhost_publish(std::string vhost); - virtual int on_reload_vhost_realtime(std::string vhost); + virtual srs_error_t on_reload_vhost_publish(std::string vhost); + virtual srs_error_t on_reload_vhost_realtime(std::string vhost); private: virtual void set_socket_buffer(int sleep_ms); }; diff --git a/trunk/src/app/srs_app_reload.cpp b/trunk/src/app/srs_app_reload.cpp index ce787ab6c..75d67cdd5 100644 --- a/trunk/src/app/srs_app_reload.cpp +++ b/trunk/src/app/srs_app_reload.cpp @@ -35,9 +35,9 @@ ISrsReloadHandler::~ISrsReloadHandler() { } -int ISrsReloadHandler::on_reload_listen() +srs_error_t ISrsReloadHandler::on_reload_listen() { - return ERROR_SUCCESS; + return srs_success; } srs_error_t ISrsReloadHandler::on_reload_utc_time() @@ -45,44 +45,44 @@ srs_error_t ISrsReloadHandler::on_reload_utc_time() return srs_success; } -int ISrsReloadHandler::on_reload_max_conns() +srs_error_t ISrsReloadHandler::on_reload_max_conns() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_pid() +srs_error_t ISrsReloadHandler::on_reload_pid() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_log_tank() +srs_error_t ISrsReloadHandler::on_reload_log_tank() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_log_level() +srs_error_t ISrsReloadHandler::on_reload_log_level() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_log_file() +srs_error_t ISrsReloadHandler::on_reload_log_file() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_pithy_print() +srs_error_t ISrsReloadHandler::on_reload_pithy_print() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_http_api_enabled() +srs_error_t ISrsReloadHandler::on_reload_http_api_enabled() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_http_api_disabled() +srs_error_t ISrsReloadHandler::on_reload_http_api_disabled() { - return ERROR_SUCCESS; + return srs_success; } srs_error_t ISrsReloadHandler::on_reload_http_api_crossdomain() @@ -90,24 +90,24 @@ srs_error_t ISrsReloadHandler::on_reload_http_api_crossdomain() return srs_success; } -int ISrsReloadHandler::on_reload_http_api_raw_api() +srs_error_t ISrsReloadHandler::on_reload_http_api_raw_api() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_http_stream_enabled() +srs_error_t ISrsReloadHandler::on_reload_http_stream_enabled() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_http_stream_disabled() +srs_error_t ISrsReloadHandler::on_reload_http_stream_disabled() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_http_stream_updated() +srs_error_t ISrsReloadHandler::on_reload_http_stream_updated() { - return ERROR_SUCCESS; + return srs_success; } srs_error_t ISrsReloadHandler::on_reload_http_stream_crossdomain() @@ -115,108 +115,108 @@ srs_error_t ISrsReloadHandler::on_reload_http_stream_crossdomain() return srs_success; } -int ISrsReloadHandler::on_reload_vhost_http_updated() +srs_error_t ISrsReloadHandler::on_reload_vhost_http_updated() { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_http_remux_updated(string vhost) +srs_error_t ISrsReloadHandler::on_reload_vhost_http_remux_updated(string vhost) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_added(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_added(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_removed(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_removed(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_play(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_play(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_forward(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_forward(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_dash(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_dash(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_hls(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_hls(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_hds(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_hds(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_dvr(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_dvr(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_dvr_apply(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_dvr_apply(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_publish(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_publish(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_tcp_nodelay(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_tcp_nodelay(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_realtime(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_realtime(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_chunk_size(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_chunk_size(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_transcode(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_transcode(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_vhost_exec(string /*vhost*/) +srs_error_t ISrsReloadHandler::on_reload_vhost_exec(string /*vhost*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_ingest_removed(string /*vhost*/, string /*ingest_id*/) +srs_error_t ISrsReloadHandler::on_reload_ingest_removed(string /*vhost*/, string /*ingest_id*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_ingest_added(string /*vhost*/, string /*ingest_id*/) +srs_error_t ISrsReloadHandler::on_reload_ingest_added(string /*vhost*/, string /*ingest_id*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_ingest_updated(string /*vhost*/, string /*ingest_id*/) +srs_error_t ISrsReloadHandler::on_reload_ingest_updated(string /*vhost*/, string /*ingest_id*/) { - return ERROR_SUCCESS; + return srs_success; } -int ISrsReloadHandler::on_reload_user_info() +srs_error_t ISrsReloadHandler::on_reload_user_info() { - return ERROR_SUCCESS; + return srs_success; } diff --git a/trunk/src/app/srs_app_reload.hpp b/trunk/src/app/srs_app_reload.hpp index 6dc21c546..51e6eb4f6 100644 --- a/trunk/src/app/srs_app_reload.hpp +++ b/trunk/src/app/srs_app_reload.hpp @@ -42,44 +42,44 @@ public: virtual ~ISrsReloadHandler(); public: virtual srs_error_t on_reload_utc_time(); - virtual int on_reload_max_conns(); - virtual int on_reload_listen(); - virtual int on_reload_pid(); - virtual int on_reload_log_tank(); - virtual int on_reload_log_level(); - virtual int on_reload_log_file(); - virtual int on_reload_pithy_print(); - virtual int on_reload_http_api_enabled(); - virtual int on_reload_http_api_disabled(); + virtual srs_error_t on_reload_max_conns(); + virtual srs_error_t on_reload_listen(); + virtual srs_error_t on_reload_pid(); + virtual srs_error_t on_reload_log_tank(); + virtual srs_error_t on_reload_log_level(); + virtual srs_error_t on_reload_log_file(); + virtual srs_error_t on_reload_pithy_print(); + virtual srs_error_t on_reload_http_api_enabled(); + virtual srs_error_t on_reload_http_api_disabled(); virtual srs_error_t on_reload_http_api_crossdomain(); - virtual int on_reload_http_api_raw_api(); - virtual int on_reload_http_stream_enabled(); - virtual int on_reload_http_stream_disabled(); - virtual int on_reload_http_stream_updated(); + virtual srs_error_t on_reload_http_api_raw_api(); + virtual srs_error_t on_reload_http_stream_enabled(); + virtual srs_error_t on_reload_http_stream_disabled(); + virtual srs_error_t on_reload_http_stream_updated(); virtual srs_error_t on_reload_http_stream_crossdomain(); public: // TODO: FIXME: should rename to http_static - virtual int on_reload_vhost_http_updated(); - virtual int on_reload_vhost_http_remux_updated(std::string vhost); - virtual int on_reload_vhost_added(std::string vhost); - virtual int on_reload_vhost_removed(std::string vhost); - virtual int on_reload_vhost_play(std::string vhost); - virtual int on_reload_vhost_forward(std::string vhost); - virtual int on_reload_vhost_dash(std::string vhost); - virtual int on_reload_vhost_hls(std::string vhost); - virtual int on_reload_vhost_hds(std::string vhost); - virtual int on_reload_vhost_dvr(std::string vhost); - virtual int on_reload_vhost_dvr_apply(std::string vhost); - virtual int on_reload_vhost_publish(std::string vhost); - virtual int on_reload_vhost_tcp_nodelay(std::string vhost); - virtual int on_reload_vhost_realtime(std::string vhost); - virtual int on_reload_vhost_chunk_size(std::string vhost); - virtual int on_reload_vhost_transcode(std::string vhost); - virtual int on_reload_vhost_exec(std::string vhost); - virtual int on_reload_ingest_removed(std::string vhost, std::string ingest_id); - virtual int on_reload_ingest_added(std::string vhost, std::string ingest_id); - virtual int on_reload_ingest_updated(std::string vhost, std::string ingest_id); - virtual int on_reload_user_info(); + virtual srs_error_t on_reload_vhost_http_updated(); + virtual srs_error_t on_reload_vhost_http_remux_updated(std::string vhost); + virtual srs_error_t on_reload_vhost_added(std::string vhost); + virtual srs_error_t on_reload_vhost_removed(std::string vhost); + virtual srs_error_t on_reload_vhost_play(std::string vhost); + virtual srs_error_t on_reload_vhost_forward(std::string vhost); + virtual srs_error_t on_reload_vhost_dash(std::string vhost); + virtual srs_error_t on_reload_vhost_hls(std::string vhost); + virtual srs_error_t on_reload_vhost_hds(std::string vhost); + virtual srs_error_t on_reload_vhost_dvr(std::string vhost); + virtual srs_error_t on_reload_vhost_dvr_apply(std::string vhost); + virtual srs_error_t on_reload_vhost_publish(std::string vhost); + virtual srs_error_t on_reload_vhost_tcp_nodelay(std::string vhost); + virtual srs_error_t on_reload_vhost_realtime(std::string vhost); + virtual srs_error_t on_reload_vhost_chunk_size(std::string vhost); + virtual srs_error_t on_reload_vhost_transcode(std::string vhost); + virtual srs_error_t on_reload_vhost_exec(std::string vhost); + virtual srs_error_t on_reload_ingest_removed(std::string vhost, std::string ingest_id); + virtual srs_error_t on_reload_ingest_added(std::string vhost, std::string ingest_id); + virtual srs_error_t on_reload_ingest_updated(std::string vhost, std::string ingest_id); + virtual srs_error_t on_reload_user_info(); }; #endif diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index 823a361cf..94506b826 100644 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -252,14 +252,14 @@ srs_error_t SrsRtmpConn::do_cycle() return err; } -int SrsRtmpConn::on_reload_vhost_removed(string vhost) +srs_error_t SrsRtmpConn::on_reload_vhost_removed(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; SrsRequest* req = info->req; if (req->vhost != vhost) { - return ret; + return err; } // if the vhost connected is removed, disconnect the client. @@ -271,17 +271,17 @@ int SrsRtmpConn::on_reload_vhost_removed(string vhost) // so we just ignore the vhost enabled event. //srs_close_stfd(stfd); - return ret; + return err; } -int SrsRtmpConn::on_reload_vhost_play(string vhost) +srs_error_t SrsRtmpConn::on_reload_vhost_play(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; SrsRequest* req = info->req; if (req->vhost != vhost) { - return ret; + return err; } // send_min_interval @@ -293,32 +293,32 @@ int SrsRtmpConn::on_reload_vhost_play(string vhost) } } - return ret; + return err; } -int SrsRtmpConn::on_reload_vhost_tcp_nodelay(string vhost) +srs_error_t SrsRtmpConn::on_reload_vhost_tcp_nodelay(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; SrsRequest* req = info->req; if (req->vhost != vhost) { - return ret; + return err; } set_sock_options(); - return ret; + return err; } -int SrsRtmpConn::on_reload_vhost_realtime(string vhost) +srs_error_t SrsRtmpConn::on_reload_vhost_realtime(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; SrsRequest* req = info->req; if (req->vhost != vhost) { - return ret; + return err; } bool realtime_enabled = _srs_config->get_realtime_enabled(req->vhost); @@ -327,17 +327,17 @@ int SrsRtmpConn::on_reload_vhost_realtime(string vhost) realtime = realtime_enabled; } - return ret; + return err; } -int SrsRtmpConn::on_reload_vhost_publish(string vhost) +srs_error_t SrsRtmpConn::on_reload_vhost_publish(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; SrsRequest* req = info->req; if (req->vhost != vhost) { - return ret; + return err; } int p1stpt = _srs_config->get_publish_1stpkt_timeout(req->vhost); @@ -352,7 +352,7 @@ int SrsRtmpConn::on_reload_vhost_publish(string vhost) publish_normal_timeout = pnt; } - return ret; + return err; } void SrsRtmpConn::resample() diff --git a/trunk/src/app/srs_app_rtmp_conn.hpp b/trunk/src/app/srs_app_rtmp_conn.hpp index c8850fac0..0921c874c 100644 --- a/trunk/src/app/srs_app_rtmp_conn.hpp +++ b/trunk/src/app/srs_app_rtmp_conn.hpp @@ -135,11 +135,11 @@ protected: virtual srs_error_t do_cycle(); // interface ISrsReloadHandler public: - virtual int on_reload_vhost_removed(std::string vhost); - virtual int on_reload_vhost_play(std::string vhost); - virtual int on_reload_vhost_tcp_nodelay(std::string vhost); - virtual int on_reload_vhost_realtime(std::string vhost); - virtual int on_reload_vhost_publish(std::string vhost); + virtual srs_error_t on_reload_vhost_removed(std::string vhost); + virtual srs_error_t on_reload_vhost_play(std::string vhost); + virtual srs_error_t on_reload_vhost_tcp_nodelay(std::string vhost); + virtual srs_error_t on_reload_vhost_realtime(std::string vhost); + virtual srs_error_t on_reload_vhost_publish(std::string vhost); // interface IKbpsDelta public: virtual void resample(); diff --git a/trunk/src/app/srs_app_server.cpp b/trunk/src/app/srs_app_server.cpp index ef83f9c96..8c14d9c82 100644 --- a/trunk/src/app/srs_app_server.cpp +++ b/trunk/src/app/srs_app_server.cpp @@ -1283,102 +1283,110 @@ void SrsServer::remove(ISrsConnection* c) conn_manager->remove(c); } -int SrsServer::on_reload_listen() +srs_error_t SrsServer::on_reload_listen() { - // TODO: FIXME: Use error. - srs_error_t err = listen(); - int ret = srs_error_code(err); - srs_freep(err); - return ret; + srs_error_t err = srs_success; + + if ((err = listen()) != srs_success) { + return srs_error_wrap(err, "reload listen"); + } + + return err; } -int SrsServer::on_reload_pid() +srs_error_t SrsServer::on_reload_pid() { + srs_error_t err = srs_success; + if (pid_fd > 0) { ::close(pid_fd); pid_fd = -1; } - // TODO: FIXME: Use error. - srs_error_t err = acquire_pid_file(); - int ret = srs_error_code(err); - srs_freep(err); - return ret; + if ((err = acquire_pid_file()) != srs_success) { + return srs_error_wrap(err, "reload pid"); + } + + return err; } -int SrsServer::on_reload_vhost_added(std::string vhost) +srs_error_t SrsServer::on_reload_vhost_added(std::string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (!_srs_config->get_vhost_http_enabled(vhost)) { - return ret; + return err; } // TODO: FIXME: should handle the event in SrsHttpStaticServer - if ((ret = on_reload_vhost_http_updated()) != ERROR_SUCCESS) { - return ret; + if ((err = on_reload_vhost_http_updated()) != srs_success) { + return srs_error_wrap(err, "reload vhost added"); } - return ret; + return err; } -int SrsServer::on_reload_vhost_removed(std::string /*vhost*/) +srs_error_t SrsServer::on_reload_vhost_removed(std::string /*vhost*/) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; // TODO: FIXME: should handle the event in SrsHttpStaticServer - if ((ret = on_reload_vhost_http_updated()) != ERROR_SUCCESS) { - return ret; + if ((err = on_reload_vhost_http_updated()) != srs_success) { + return srs_error_wrap(err, "reload vhost removed"); } - return ret; + return err; } -int SrsServer::on_reload_http_api_enabled() +srs_error_t SrsServer::on_reload_http_api_enabled() { - // TODO: FIXME: Use error. - srs_error_t err = listen_http_api(); - int ret = srs_error_code(err); - srs_freep(err); - return ret; + srs_error_t err = srs_success; + + if ((err = listen_http_api()) != srs_success) { + return srs_error_wrap(err, "reload http_api"); + } + + return err; } -int SrsServer::on_reload_http_api_disabled() +srs_error_t SrsServer::on_reload_http_api_disabled() { close_listeners(SrsListenerHttpApi); - return ERROR_SUCCESS; + return srs_success; } -int SrsServer::on_reload_http_stream_enabled() +srs_error_t SrsServer::on_reload_http_stream_enabled() { - // TODO: FIXME: Use error. - srs_error_t err = listen_http_stream(); - int ret = srs_error_code(err); - srs_freep(err); - return ret; + srs_error_t err = srs_success; + + if ((err = listen_http_stream()) != srs_success) { + return srs_error_wrap(err, "reload http_stream enabled"); + } + + return err; } -int SrsServer::on_reload_http_stream_disabled() +srs_error_t SrsServer::on_reload_http_stream_disabled() { close_listeners(SrsListenerHttpStream); - return ERROR_SUCCESS; + return srs_success; } // TODO: FIXME: rename to http_remux -int SrsServer::on_reload_http_stream_updated() +srs_error_t SrsServer::on_reload_http_stream_updated() { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; - if ((ret = on_reload_http_stream_enabled()) != ERROR_SUCCESS) { - return ret; + if ((err = on_reload_http_stream_enabled()) != srs_success) { + return srs_error_wrap(err, "reload http_stream updated"); } // TODO: FIXME: should handle the event in SrsHttpStaticServer - if ((ret = on_reload_vhost_http_updated()) != ERROR_SUCCESS) { - return ret; + if ((err = on_reload_vhost_http_updated()) != srs_success) { + return srs_error_wrap(err, "reload http_stream updated"); } - return ret; + return err; } int SrsServer::on_publish(SrsSource* s, SrsRequest* r) diff --git a/trunk/src/app/srs_app_server.hpp b/trunk/src/app/srs_app_server.hpp index f045e652d..7d9637aad 100644 --- a/trunk/src/app/srs_app_server.hpp +++ b/trunk/src/app/srs_app_server.hpp @@ -371,15 +371,15 @@ public: virtual void remove(ISrsConnection* c); // interface ISrsReloadHandler. public: - virtual int on_reload_listen(); - virtual int on_reload_pid(); - virtual int on_reload_vhost_added(std::string vhost); - virtual int on_reload_vhost_removed(std::string vhost); - virtual int on_reload_http_api_enabled(); - virtual int on_reload_http_api_disabled(); - virtual int on_reload_http_stream_enabled(); - virtual int on_reload_http_stream_disabled(); - virtual int on_reload_http_stream_updated(); + virtual srs_error_t on_reload_listen(); + virtual srs_error_t on_reload_pid(); + virtual srs_error_t on_reload_vhost_added(std::string vhost); + virtual srs_error_t on_reload_vhost_removed(std::string vhost); + virtual srs_error_t on_reload_http_api_enabled(); + virtual srs_error_t on_reload_http_api_disabled(); + virtual srs_error_t on_reload_http_stream_enabled(); + virtual srs_error_t on_reload_http_stream_disabled(); + virtual srs_error_t on_reload_http_stream_updated(); // interface ISrsSourceHandler public: virtual int on_publish(SrsSource* s, SrsRequest* r); diff --git a/trunk/src/app/srs_app_source.cpp b/trunk/src/app/srs_app_source.cpp index 8f2d2ae29..d577d535f 100755 --- a/trunk/src/app/srs_app_source.cpp +++ b/trunk/src/app/srs_app_source.cpp @@ -1295,12 +1295,13 @@ int SrsOriginHub::on_dvr_request_sh() return ret; } -int SrsOriginHub::on_reload_vhost_forward(string vhost) +srs_error_t SrsOriginHub::on_reload_vhost_forward(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } // TODO: FIXME: maybe should ignore when publish already stopped? @@ -1310,70 +1311,68 @@ int SrsOriginHub::on_reload_vhost_forward(string vhost) // Don't start forwarders when source is not active. if (!is_active) { - return ret; + return err; } if ((ret = create_forwarders()) != ERROR_SUCCESS) { - srs_error("create forwarders failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "create forwarders"); } srs_trace("vhost %s forwarders reload success", vhost.c_str()); - return ret; + return err; } -int SrsOriginHub::on_reload_vhost_dash(string vhost) +srs_error_t SrsOriginHub::on_reload_vhost_dash(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } dash->on_unpublish(); // Don't start DASH when source is not active. if (!is_active) { - return ret; + return err; } if ((ret = dash->on_publish()) != ERROR_SUCCESS) { - srs_error("DASH start failed, ret=%d", ret); - return ret; + return srs_error_new(ret, "dash start publish"); } SrsSharedPtrMessage* cache_sh_video = source->meta->vsh(); if (cache_sh_video) { if ((ret = format->on_video(cache_sh_video)) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "format on_video"); } if ((ret = dash->on_video(cache_sh_video, format)) != ERROR_SUCCESS) { - srs_error("DASH consume video failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "dash on_video"); } } SrsSharedPtrMessage* cache_sh_audio = source->meta->ash(); if (cache_sh_audio) { if ((ret = format->on_audio(cache_sh_audio)) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "format on_audio"); } if ((ret = dash->on_audio(cache_sh_audio, format)) != ERROR_SUCCESS) { - srs_error("DASH consume audio failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "dash on_audio"); } } - return ret; + return err; } -int SrsOriginHub::on_reload_vhost_hls(string vhost) +srs_error_t SrsOriginHub::on_reload_vhost_hls(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } // TODO: FIXME: maybe should ignore when publish already stopped? @@ -1382,12 +1381,11 @@ int SrsOriginHub::on_reload_vhost_hls(string vhost) // Don't start HLS when source is not active. if (!is_active) { - return ret; + return err; } if ((ret = hls->on_publish()) != ERROR_SUCCESS) { - srs_error("hls publish failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "hls publish failed"); } srs_trace("vhost %s hls reload success", vhost.c_str()); @@ -1399,34 +1397,33 @@ int SrsOriginHub::on_reload_vhost_hls(string vhost) SrsSharedPtrMessage* cache_sh_video = source->meta->vsh(); if (cache_sh_video) { if ((ret = format->on_video(cache_sh_video)) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "format on_video"); } if ((ret = hls->on_video(cache_sh_video, format)) != ERROR_SUCCESS) { - srs_error("hls process video sequence header message failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "hls on_video"); } } SrsSharedPtrMessage* cache_sh_audio = source->meta->ash(); if (cache_sh_audio) { if ((ret = format->on_audio(cache_sh_audio)) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "format on_audio"); } if ((ret = hls->on_audio(cache_sh_audio, format)) != ERROR_SUCCESS) { - srs_error("hls process audio sequence header message failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "hls on_audio"); } } - return ret; + return err; } -int SrsOriginHub::on_reload_vhost_hds(string vhost) +srs_error_t SrsOriginHub::on_reload_vhost_hds(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } // TODO: FIXME: maybe should ignore when publish already stopped? @@ -1436,26 +1433,25 @@ int SrsOriginHub::on_reload_vhost_hds(string vhost) // Don't start HDS when source is not active. if (!is_active) { - return ret; + return err; } if ((ret = hds->on_publish(req)) != ERROR_SUCCESS) { - srs_error("hds publish failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "hds publish failed"); } srs_trace("vhost %s hds reload success", vhost.c_str()); #endif - return ret; + return err; } -int SrsOriginHub::on_reload_vhost_dvr(string vhost) +srs_error_t SrsOriginHub::on_reload_vhost_dvr(string vhost) { int ret = ERROR_SUCCESS; srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } // TODO: FIXME: maybe should ignore when publish already stopped? @@ -1465,39 +1461,35 @@ int SrsOriginHub::on_reload_vhost_dvr(string vhost) // Don't start DVR when source is not active. if (!is_active) { - return ret; + return err; } // reinitialize the dvr, update plan. if ((err = dvr->initialize(this, req)) != srs_success) { - // TODO: FIXME: Use error. - ret = srs_error_code(err); - srs_freep(err); - - return ret; + return srs_error_wrap(err, "reload dvr"); } // start to publish by new plan. if ((ret = dvr->on_publish()) != ERROR_SUCCESS) { - srs_error("dvr publish failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "dvr publish failed"); } if ((ret = on_dvr_request_sh()) != ERROR_SUCCESS) { - return ret; + return srs_error_new(ret, "request sh"); } srs_trace("vhost %s dvr reload success", vhost.c_str()); - return ret; + return err; } -int SrsOriginHub::on_reload_vhost_transcode(string vhost) +srs_error_t SrsOriginHub::on_reload_vhost_transcode(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } // TODO: FIXME: maybe should ignore when publish already stopped? @@ -1507,25 +1499,25 @@ int SrsOriginHub::on_reload_vhost_transcode(string vhost) // Don't start transcode when source is not active. if (!is_active) { - return ret; + return err; } if ((ret = encoder->on_publish(req)) != ERROR_SUCCESS) { - srs_error("start encoder failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "start encoder failed"); } srs_trace("vhost %s transcode reload success", vhost.c_str()); #endif - return ret; + return err; } -int SrsOriginHub::on_reload_vhost_exec(string vhost) +srs_error_t SrsOriginHub::on_reload_vhost_exec(string vhost) { int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } // TODO: FIXME: maybe should ignore when publish already stopped? @@ -1534,16 +1526,15 @@ int SrsOriginHub::on_reload_vhost_exec(string vhost) // Don't start exec when source is not active. if (!is_active) { - return ret; + return err; } if ((ret = ng_exec->on_publish(req)) != ERROR_SUCCESS) { - srs_error("start exec failed. ret=%d", ret); - return ret; + return srs_error_new(ret, "start exec failed"); } srs_trace("vhost %s exec reload success", vhost.c_str()); - return ret; + return err; } int SrsOriginHub::create_forwarders() @@ -1993,12 +1984,12 @@ srs_error_t SrsSource::initialize(SrsRequest* r, ISrsSourceHandler* h) return err; } -int SrsSource::on_reload_vhost_play(string vhost) +srs_error_t SrsSource::on_reload_vhost_play(string vhost) { - int ret = ERROR_SUCCESS; + srs_error_t err = srs_success; if (req->vhost != vhost) { - return ret; + return err; } // time_jitter @@ -2073,7 +2064,7 @@ int SrsSource::on_reload_vhost_play(string vhost) #endif } - return ret; + return err; } int SrsSource::on_source_id_changed(int id) diff --git a/trunk/src/app/srs_app_source.hpp b/trunk/src/app/srs_app_source.hpp index 4412320e0..b1f3a9351 100644 --- a/trunk/src/app/srs_app_source.hpp +++ b/trunk/src/app/srs_app_source.hpp @@ -472,13 +472,13 @@ public: virtual int on_dvr_request_sh(); // interface ISrsReloadHandler public: - virtual int on_reload_vhost_forward(std::string vhost); - virtual int on_reload_vhost_dash(std::string vhost); - virtual int on_reload_vhost_hls(std::string vhost); - virtual int on_reload_vhost_hds(std::string vhost); - virtual int on_reload_vhost_dvr(std::string vhost); - virtual int on_reload_vhost_transcode(std::string vhost); - virtual int on_reload_vhost_exec(std::string vhost); + virtual srs_error_t on_reload_vhost_forward(std::string vhost); + virtual srs_error_t on_reload_vhost_dash(std::string vhost); + virtual srs_error_t on_reload_vhost_hls(std::string vhost); + virtual srs_error_t on_reload_vhost_hds(std::string vhost); + virtual srs_error_t on_reload_vhost_dvr(std::string vhost); + virtual srs_error_t on_reload_vhost_transcode(std::string vhost); + virtual srs_error_t on_reload_vhost_exec(std::string vhost); private: virtual int create_forwarders(); virtual void destroy_forwarders(); @@ -631,7 +631,7 @@ public: virtual srs_error_t initialize(SrsRequest* r, ISrsSourceHandler* h); // interface ISrsReloadHandler public: - virtual int on_reload_vhost_play(std::string vhost); + virtual srs_error_t on_reload_vhost_play(std::string vhost); // for the tools callback public: // source id changed. diff --git a/trunk/src/utest/srs_utest_reload.cpp b/trunk/src/utest/srs_utest_reload.cpp index 199220ecb..bce42ce2a 100644 --- a/trunk/src/utest/srs_utest_reload.cpp +++ b/trunk/src/utest/srs_utest_reload.cpp @@ -137,142 +137,142 @@ bool MockReloadHandler::all_true() return count_true() == count_total(); } -int MockReloadHandler::on_reload_listen() +srs_error_t MockReloadHandler::on_reload_listen() { listen_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_pid() +srs_error_t MockReloadHandler::on_reload_pid() { pid_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_log_tank() +srs_error_t MockReloadHandler::on_reload_log_tank() { log_tank_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_log_level() +srs_error_t MockReloadHandler::on_reload_log_level() { log_level_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_log_file() +srs_error_t MockReloadHandler::on_reload_log_file() { log_file_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_pithy_print() +srs_error_t MockReloadHandler::on_reload_pithy_print() { pithy_print_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_http_api_enabled() +srs_error_t MockReloadHandler::on_reload_http_api_enabled() { http_api_enabled_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_http_api_disabled() +srs_error_t MockReloadHandler::on_reload_http_api_disabled() { http_api_disabled_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_http_stream_enabled() +srs_error_t MockReloadHandler::on_reload_http_stream_enabled() { http_stream_enabled_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_http_stream_disabled() +srs_error_t MockReloadHandler::on_reload_http_stream_disabled() { http_stream_disabled_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_http_stream_updated() +srs_error_t MockReloadHandler::on_reload_http_stream_updated() { http_stream_updated_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_vhost_http_updated() +srs_error_t MockReloadHandler::on_reload_vhost_http_updated() { vhost_http_updated_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_vhost_added(string /*vhost*/) +srs_error_t MockReloadHandler::on_reload_vhost_added(string /*vhost*/) { vhost_added_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_vhost_removed(string /*vhost*/) +srs_error_t MockReloadHandler::on_reload_vhost_removed(string /*vhost*/) { vhost_removed_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_vhost_play(string /*vhost*/) +srs_error_t MockReloadHandler::on_reload_vhost_play(string /*vhost*/) { vhost_play_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_vhost_forward(string /*vhost*/) +srs_error_t MockReloadHandler::on_reload_vhost_forward(string /*vhost*/) { vhost_forward_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_vhost_hls(string /*vhost*/) +srs_error_t MockReloadHandler::on_reload_vhost_hls(string /*vhost*/) { vhost_hls_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_vhost_hds(string /*vhost*/) +srs_error_t MockReloadHandler::on_reload_vhost_hds(string /*vhost*/) { vhost_hls_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_vhost_dvr(string /*vhost*/) +srs_error_t MockReloadHandler::on_reload_vhost_dvr(string /*vhost*/) { vhost_dvr_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_vhost_transcode(string /*vhost*/) +srs_error_t MockReloadHandler::on_reload_vhost_transcode(string /*vhost*/) { vhost_transcode_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_ingest_removed(string /*vhost*/, string /*ingest_id*/) +srs_error_t MockReloadHandler::on_reload_ingest_removed(string /*vhost*/, string /*ingest_id*/) { ingest_removed_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_ingest_added(string /*vhost*/, string /*ingest_id*/) +srs_error_t MockReloadHandler::on_reload_ingest_added(string /*vhost*/, string /*ingest_id*/) { ingest_added_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } -int MockReloadHandler::on_reload_ingest_updated(string /*vhost*/, string /*ingest_id*/) +srs_error_t MockReloadHandler::on_reload_ingest_updated(string /*vhost*/, string /*ingest_id*/) { ingest_updated_reloaded = true; - return ERROR_SUCCESS; + return srs_success; } MockSrsReloadConfig::MockSrsReloadConfig() diff --git a/trunk/src/utest/srs_utest_reload.hpp b/trunk/src/utest/srs_utest_reload.hpp index 4e5eb2f18..2b5b543df 100644 --- a/trunk/src/utest/srs_utest_reload.hpp +++ b/trunk/src/utest/srs_utest_reload.hpp @@ -68,29 +68,29 @@ public: virtual int count_true(); virtual int count_false(); public: - virtual int on_reload_listen(); - virtual int on_reload_pid(); - virtual int on_reload_log_tank(); - virtual int on_reload_log_level(); - virtual int on_reload_log_file(); - virtual int on_reload_pithy_print(); - virtual int on_reload_http_api_enabled(); - virtual int on_reload_http_api_disabled(); - virtual int on_reload_http_stream_enabled(); - virtual int on_reload_http_stream_disabled(); - virtual int on_reload_http_stream_updated(); - virtual int on_reload_vhost_http_updated(); - virtual int on_reload_vhost_added(std::string vhost); - virtual int on_reload_vhost_removed(std::string vhost); - virtual int on_reload_vhost_play(std::string vhost); - virtual int on_reload_vhost_forward(std::string vhost); - virtual int on_reload_vhost_hls(std::string vhost); - virtual int on_reload_vhost_hds(std::string vhost); - virtual int on_reload_vhost_dvr(std::string vhost); - virtual int on_reload_vhost_transcode(std::string vhost); - virtual int on_reload_ingest_removed(std::string vhost, std::string ingest_id); - virtual int on_reload_ingest_added(std::string vhost, std::string ingest_id); - virtual int on_reload_ingest_updated(std::string vhost, std::string ingest_id); + virtual srs_error_t on_reload_listen(); + virtual srs_error_t on_reload_pid(); + virtual srs_error_t on_reload_log_tank(); + virtual srs_error_t on_reload_log_level(); + virtual srs_error_t on_reload_log_file(); + virtual srs_error_t on_reload_pithy_print(); + virtual srs_error_t on_reload_http_api_enabled(); + virtual srs_error_t on_reload_http_api_disabled(); + virtual srs_error_t on_reload_http_stream_enabled(); + virtual srs_error_t on_reload_http_stream_disabled(); + virtual srs_error_t on_reload_http_stream_updated(); + virtual srs_error_t on_reload_vhost_http_updated(); + virtual srs_error_t on_reload_vhost_added(std::string vhost); + virtual srs_error_t on_reload_vhost_removed(std::string vhost); + virtual srs_error_t on_reload_vhost_play(std::string vhost); + virtual srs_error_t on_reload_vhost_forward(std::string vhost); + virtual srs_error_t on_reload_vhost_hls(std::string vhost); + virtual srs_error_t on_reload_vhost_hds(std::string vhost); + virtual srs_error_t on_reload_vhost_dvr(std::string vhost); + virtual srs_error_t on_reload_vhost_transcode(std::string vhost); + virtual srs_error_t on_reload_ingest_removed(std::string vhost, std::string ingest_id); + virtual srs_error_t on_reload_ingest_added(std::string vhost, std::string ingest_id); + virtual srs_error_t on_reload_ingest_updated(std::string vhost, std::string ingest_id); }; class MockSrsReloadConfig : public MockSrsConfig