正在显示
6 个修改的文件
包含
66 行增加
和
48 行删除
@@ -51,9 +51,9 @@ if [ $SRS_UTEST = YES ]; then SrsUtestMakeEntry="(cd ${SRS_OBJS_DIR}/utest; \$(M | @@ -51,9 +51,9 @@ if [ $SRS_UTEST = YES ]; then SrsUtestMakeEntry="(cd ${SRS_OBJS_DIR}/utest; \$(M | ||
51 | ##################################################################################### | 51 | ##################################################################################### |
52 | # finger out modules to install. | 52 | # finger out modules to install. |
53 | # where srs module is a dir which contains a config file. | 53 | # where srs module is a dir which contains a config file. |
54 | -SRS_MODULES="" | 54 | +SRS_MODULES=() |
55 | __mfiles=`find modules -name "config"` && for __mfile in $__mfiles; do | 55 | __mfiles=`find modules -name "config"` && for __mfile in $__mfiles; do |
56 | - SRS_MODULES="$SRS_MODULES `dirname $__mfile`" | 56 | + SRS_MODULES+="`dirname $__mfile`" |
57 | done | 57 | done |
58 | 58 | ||
59 | # variables for makefile for all modules. | 59 | # variables for makefile for all modules. |
@@ -177,6 +177,11 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | @@ -177,6 +177,11 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
177 | "srs_app_kbps" "srs_app_heartbeat" "srs_app_empty" "srs_app_http_client" | 177 | "srs_app_kbps" "srs_app_heartbeat" "srs_app_empty" "srs_app_http_client" |
178 | "srs_app_recv_thread" "srs_app_security" "srs_app_statistic" | 178 | "srs_app_recv_thread" "srs_app_security" "srs_app_statistic" |
179 | "srs_app_mpegts_udp" "srs_app_rtsp" "srs_app_listener") | 179 | "srs_app_mpegts_udp" "srs_app_rtsp" "srs_app_listener") |
180 | + # add each modules for app | ||
181 | + for SRS_MODULE in $SRS_MODULES; do | ||
182 | + . $SRS_MODULE/config | ||
183 | + MODULE_FILES+=($SRS_MODULE_APP) | ||
184 | + done | ||
180 | APP_INCS="src/app"; MODULE_DIR=${APP_INCS} . auto/modules.sh | 185 | APP_INCS="src/app"; MODULE_DIR=${APP_INCS} . auto/modules.sh |
181 | APP_OBJS="${MODULE_OBJS[@]}" | 186 | APP_OBJS="${MODULE_OBJS[@]}" |
182 | fi | 187 | fi |
@@ -198,7 +203,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | @@ -198,7 +203,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
198 | # add each modules for main | 203 | # add each modules for main |
199 | for SRS_MODULE in $SRS_MODULES; do | 204 | for SRS_MODULE in $SRS_MODULES; do |
200 | . $SRS_MODULE/config | 205 | . $SRS_MODULE/config |
201 | - MODULE_FILES="${MODULE_FILES[@]} $SRS_MODULE_MAIN" | 206 | + MODULE_FILES+=($SRS_MODULE_MAIN) |
202 | done | 207 | done |
203 | MAIN_INCS="src/main"; MODULE_DIR=${MAIN_INCS} . auto/modules.sh | 208 | MAIN_INCS="src/main"; MODULE_DIR=${MAIN_INCS} . auto/modules.sh |
204 | MAIN_OBJS="${MODULE_OBJS[@]}" | 209 | MAIN_OBJS="${MODULE_OBJS[@]}" |
@@ -215,7 +220,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | @@ -215,7 +220,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then | ||
215 | # add each modules for main | 220 | # add each modules for main |
216 | for SRS_MODULE in $SRS_MODULES; do | 221 | for SRS_MODULE in $SRS_MODULES; do |
217 | . $SRS_MODULE/config | 222 | . $SRS_MODULE/config |
218 | - MAIN_ENTRANCES="${MAIN_ENTRANCES[@]} $SRS_MODULE_MAIN" | 223 | + MAIN_ENTRANCES+=($SRS_MODULE_MAIN) |
219 | done | 224 | done |
220 | # | 225 | # |
221 | # all depends libraries | 226 | # all depends libraries |
@@ -6,5 +6,6 @@ SRS模块规则: | @@ -6,5 +6,6 @@ SRS模块规则: | ||
6 | 模块中需要定义变量,例如: | 6 | 模块中需要定义变量,例如: |
7 | 1. SRS_MODULE_NAME:模块名称,用来做Makefile的phony以及执行binary文件名。 | 7 | 1. SRS_MODULE_NAME:模块名称,用来做Makefile的phony以及执行binary文件名。 |
8 | 2. SRS_MODULE_MAIN:模块的main函数所在的cpp文件,在src/main目录。 | 8 | 2. SRS_MODULE_MAIN:模块的main函数所在的cpp文件,在src/main目录。 |
9 | +3. SRS_MODULE_APP:模块在src/app目录的源文件列表。 | ||
9 | 10 | ||
10 | winlin, 2015.3 | 11 | winlin, 2015.3 |
@@ -351,11 +351,11 @@ private: | @@ -351,11 +351,11 @@ private: | ||
351 | * print help and exit. | 351 | * print help and exit. |
352 | */ | 352 | */ |
353 | virtual void print_help(char** argv); | 353 | virtual void print_help(char** argv); |
354 | +public: | ||
354 | /** | 355 | /** |
355 | * parse the config file, which is specified by cli. | 356 | * parse the config file, which is specified by cli. |
356 | */ | 357 | */ |
357 | virtual int parse_file(const char* filename); | 358 | virtual int parse_file(const char* filename); |
358 | -public: | ||
359 | /** | 359 | /** |
360 | * check the parsed config. | 360 | * check the parsed config. |
361 | */ | 361 | */ |
@@ -487,49 +487,6 @@ int SrsServer::initialize() | @@ -487,49 +487,6 @@ int SrsServer::initialize() | ||
487 | return ret; | 487 | return ret; |
488 | } | 488 | } |
489 | #endif | 489 | #endif |
490 | - | ||
491 | -#ifdef SRS_AUTO_HTTP_API | ||
492 | - srs_assert(http_api_mux); | ||
493 | - if ((ret = http_api_mux->handle("/", new SrsGoApiRoot())) != ERROR_SUCCESS) { | ||
494 | - return ret; | ||
495 | - } | ||
496 | - if ((ret = http_api_mux->handle("/api", new SrsGoApiApi())) != ERROR_SUCCESS) { | ||
497 | - return ret; | ||
498 | - } | ||
499 | - if ((ret = http_api_mux->handle("/api/v1", new SrsGoApiV1())) != ERROR_SUCCESS) { | ||
500 | - return ret; | ||
501 | - } | ||
502 | - if ((ret = http_api_mux->handle("/api/v1/versions", new SrsGoApiVersion())) != ERROR_SUCCESS) { | ||
503 | - return ret; | ||
504 | - } | ||
505 | - if ((ret = http_api_mux->handle("/api/v1/summaries", new SrsGoApiSummaries())) != ERROR_SUCCESS) { | ||
506 | - return ret; | ||
507 | - } | ||
508 | - if ((ret = http_api_mux->handle("/api/v1/rusages", new SrsGoApiRusages())) != ERROR_SUCCESS) { | ||
509 | - return ret; | ||
510 | - } | ||
511 | - if ((ret = http_api_mux->handle("/api/v1/self_proc_stats", new SrsGoApiSelfProcStats())) != ERROR_SUCCESS) { | ||
512 | - return ret; | ||
513 | - } | ||
514 | - if ((ret = http_api_mux->handle("/api/v1/system_proc_stats", new SrsGoApiSystemProcStats())) != ERROR_SUCCESS) { | ||
515 | - return ret; | ||
516 | - } | ||
517 | - if ((ret = http_api_mux->handle("/api/v1/meminfos", new SrsGoApiMemInfos())) != ERROR_SUCCESS) { | ||
518 | - return ret; | ||
519 | - } | ||
520 | - if ((ret = http_api_mux->handle("/api/v1/authors", new SrsGoApiAuthors())) != ERROR_SUCCESS) { | ||
521 | - return ret; | ||
522 | - } | ||
523 | - if ((ret = http_api_mux->handle("/api/v1/requests", new SrsGoApiRequests())) != ERROR_SUCCESS) { | ||
524 | - return ret; | ||
525 | - } | ||
526 | - if ((ret = http_api_mux->handle("/api/v1/vhosts", new SrsGoApiVhosts())) != ERROR_SUCCESS) { | ||
527 | - return ret; | ||
528 | - } | ||
529 | - if ((ret = http_api_mux->handle("/api/v1/streams", new SrsGoApiStreams())) != ERROR_SUCCESS) { | ||
530 | - return ret; | ||
531 | - } | ||
532 | -#endif | ||
533 | 490 | ||
534 | #ifdef SRS_AUTO_HTTP_SERVER | 491 | #ifdef SRS_AUTO_HTTP_SERVER |
535 | srs_assert(http_stream_mux); | 492 | srs_assert(http_stream_mux); |
@@ -689,6 +646,56 @@ int SrsServer::register_signal() | @@ -689,6 +646,56 @@ int SrsServer::register_signal() | ||
689 | return signal_manager->start(); | 646 | return signal_manager->start(); |
690 | } | 647 | } |
691 | 648 | ||
649 | +int SrsServer::http_handle() | ||
650 | +{ | ||
651 | + int ret = ERROR_SUCCESS; | ||
652 | + | ||
653 | +#ifdef SRS_AUTO_HTTP_API | ||
654 | + srs_assert(http_api_mux); | ||
655 | + if ((ret = http_api_mux->handle("/", new SrsGoApiRoot())) != ERROR_SUCCESS) { | ||
656 | + return ret; | ||
657 | + } | ||
658 | + if ((ret = http_api_mux->handle("/api", new SrsGoApiApi())) != ERROR_SUCCESS) { | ||
659 | + return ret; | ||
660 | + } | ||
661 | + if ((ret = http_api_mux->handle("/api/v1", new SrsGoApiV1())) != ERROR_SUCCESS) { | ||
662 | + return ret; | ||
663 | + } | ||
664 | + if ((ret = http_api_mux->handle("/api/v1/versions", new SrsGoApiVersion())) != ERROR_SUCCESS) { | ||
665 | + return ret; | ||
666 | + } | ||
667 | + if ((ret = http_api_mux->handle("/api/v1/summaries", new SrsGoApiSummaries())) != ERROR_SUCCESS) { | ||
668 | + return ret; | ||
669 | + } | ||
670 | + if ((ret = http_api_mux->handle("/api/v1/rusages", new SrsGoApiRusages())) != ERROR_SUCCESS) { | ||
671 | + return ret; | ||
672 | + } | ||
673 | + if ((ret = http_api_mux->handle("/api/v1/self_proc_stats", new SrsGoApiSelfProcStats())) != ERROR_SUCCESS) { | ||
674 | + return ret; | ||
675 | + } | ||
676 | + if ((ret = http_api_mux->handle("/api/v1/system_proc_stats", new SrsGoApiSystemProcStats())) != ERROR_SUCCESS) { | ||
677 | + return ret; | ||
678 | + } | ||
679 | + if ((ret = http_api_mux->handle("/api/v1/meminfos", new SrsGoApiMemInfos())) != ERROR_SUCCESS) { | ||
680 | + return ret; | ||
681 | + } | ||
682 | + if ((ret = http_api_mux->handle("/api/v1/authors", new SrsGoApiAuthors())) != ERROR_SUCCESS) { | ||
683 | + return ret; | ||
684 | + } | ||
685 | + if ((ret = http_api_mux->handle("/api/v1/requests", new SrsGoApiRequests())) != ERROR_SUCCESS) { | ||
686 | + return ret; | ||
687 | + } | ||
688 | + if ((ret = http_api_mux->handle("/api/v1/vhosts", new SrsGoApiVhosts())) != ERROR_SUCCESS) { | ||
689 | + return ret; | ||
690 | + } | ||
691 | + if ((ret = http_api_mux->handle("/api/v1/streams", new SrsGoApiStreams())) != ERROR_SUCCESS) { | ||
692 | + return ret; | ||
693 | + } | ||
694 | +#endif | ||
695 | + | ||
696 | + return ret; | ||
697 | +} | ||
698 | + | ||
692 | int SrsServer::ingest() | 699 | int SrsServer::ingest() |
693 | { | 700 | { |
694 | int ret = ERROR_SUCCESS; | 701 | int ret = ERROR_SUCCESS; |
@@ -236,6 +236,7 @@ public: | @@ -236,6 +236,7 @@ public: | ||
236 | virtual int initialize_st(); | 236 | virtual int initialize_st(); |
237 | virtual int listen(); | 237 | virtual int listen(); |
238 | virtual int register_signal(); | 238 | virtual int register_signal(); |
239 | + virtual int http_handle(); | ||
239 | virtual int ingest(); | 240 | virtual int ingest(); |
240 | virtual int cycle(); | 241 | virtual int cycle(); |
241 | // server utility | 242 | // server utility |
@@ -336,6 +336,10 @@ int run_master() | @@ -336,6 +336,10 @@ int run_master() | ||
336 | return ret; | 336 | return ret; |
337 | } | 337 | } |
338 | 338 | ||
339 | + if ((ret = _srs_server->http_handle()) != ERROR_SUCCESS) { | ||
340 | + return ret; | ||
341 | + } | ||
342 | + | ||
339 | if ((ret = _srs_server->ingest()) != ERROR_SUCCESS) { | 343 | if ((ret = _srs_server->ingest()) != ERROR_SUCCESS) { |
340 | return ret; | 344 | return ret; |
341 | } | 345 | } |
-
请 注册 或 登录 后发表评论