From b4ff9cfba16e3c6816b55ecf0952b28233353526 Mon Sep 17 00:00:00 2001 From: zhengfl Date: Wed, 17 Jun 2015 23:09:17 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix=20bug=20=E6=9F=90=E7=A7=8D=E6=83=85?= =?UTF-8?q?=E5=86=B5=E4=B8=8B=EF=BC=8C=E5=BD=93=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E6=96=AD=E5=BC=80=E5=90=8E=EF=BC=8C=E8=BE=B9?= =?UTF-8?q?=E7=BC=98=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=9B=9E=E6=BA=90=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=EF=BC=88EdgeIngester/EdgeForwarder=EF=BC=89=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E8=A2=AB=E6=96=AD=E5=BC=80=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- trunk/src/app/srs_app_rtmp_conn.cpp | 36 +++++++++++------------------ 1 file changed, 14 insertions(+), 22 deletions(-) mode change 100644 => 100755 trunk/src/app/srs_app_rtmp_conn.cpp diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp old mode 100644 new mode 100755 index a199a17f7..c639726af --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -455,14 +455,6 @@ int SrsRtmpConn::stream_service_cycle() case SrsRtmpConnPlay: { srs_verbose("start to play stream %s.", req->stream.c_str()); - if (vhost_is_edge) { - // notice edge to start for the first client. - if ((ret = source->on_edge_start_play()) != ERROR_SUCCESS) { - srs_error("notice edge start play stream failed. ret=%d", ret); - return ret; - } - } - // response connection start play if ((ret = rtmp->start_play(res->stream_id)) != ERROR_SUCCESS) { srs_error("start to play stream failed. ret=%d", ret); @@ -482,13 +474,6 @@ int SrsRtmpConn::stream_service_cycle() case SrsRtmpConnFMLEPublish: { srs_verbose("FMLE start to publish stream %s.", req->stream.c_str()); - if (vhost_is_edge) { - if ((ret = source->on_edge_start_publish()) != ERROR_SUCCESS) { - srs_error("notice edge start publish stream failed. ret=%d", ret); - return ret; - } - } - if ((ret = rtmp->start_fmle_publish(res->stream_id)) != ERROR_SUCCESS) { srs_error("start to publish stream failed. ret=%d", ret); return ret; @@ -511,13 +496,6 @@ int SrsRtmpConn::stream_service_cycle() case SrsRtmpConnFlashPublish: { srs_verbose("flash start to publish stream %s.", req->stream.c_str()); - if (vhost_is_edge) { - if ((ret = source->on_edge_start_publish()) != ERROR_SUCCESS) { - srs_error("notice edge start publish stream failed. ret=%d", ret); - return ret; - } - } - if ((ret = rtmp->start_flash_publish(res->stream_id)) != ERROR_SUCCESS) { srs_error("flash start to publish stream failed. ret=%d", ret); return ret; @@ -596,6 +574,14 @@ int SrsRtmpConn::playing(SrsSource* source) } SrsAutoFree(SrsConsumer, consumer); srs_verbose("consumer created success."); + + if (_srs_config->get_vhost_is_edge(req->vhost)) { + // notice edge to start for the first client. + if ((ret = source->on_edge_start_play()) != ERROR_SUCCESS) { + srs_error("notice edge start play stream failed. ret=%d", ret); + return ret; + } + } // use isolate thread to recv, // @see: https://github.com/simple-rtmp-server/srs/issues/217 @@ -875,6 +861,12 @@ int SrsRtmpConn::do_publishing(SrsSource* source, SrsPublishRecvThread* trd) } srs_verbose("hls on_publish success."); } + else { + if ((ret = source->on_edge_start_publish()) != ERROR_SUCCESS) { + srs_error("notice edge start publish stream failed. ret=%d", ret); + return ret; + } + } // start isolate recv thread. if ((ret = trd->start()) != ERROR_SUCCESS) { From 52110990c1a1e1c2b99f5e44dcb359945afc7957 Mon Sep 17 00:00:00 2001 From: zhengfl Date: Thu, 18 Jun 2015 16:21:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E9=A3=8E=E6=A0=BC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- trunk/src/app/srs_app_rtmp_conn.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index c639726af..6239a8872 100755 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -860,8 +860,7 @@ int SrsRtmpConn::do_publishing(SrsSource* source, SrsPublishRecvThread* trd) return ret; } srs_verbose("hls on_publish success."); - } - else { + } else { if ((ret = source->on_edge_start_publish()) != ERROR_SUCCESS) { srs_error("notice edge start publish stream failed. ret=%d", ret); return ret; From 3b8daafc034152ac2fe15b20ae91b813af2da42e Mon Sep 17 00:00:00 2001 From: winlin Date: Mon, 6 Jul 2015 10:32:28 +0800 Subject: [PATCH 3/3] use local openssl header files to avoid warnings on osx. --- trunk/configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/trunk/configure b/trunk/configure index a8c6559f8..d705c6ceb 100755 --- a/trunk/configure +++ b/trunk/configure @@ -167,7 +167,7 @@ PROTOCOL_OBJS="${MODULE_OBJS[@]}" if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then MODULE_ID="APP" MODULE_DEPENDS=("CORE" "KERNEL" "PROTOCOL") - ModuleLibIncs=(${LibSTRoot} ${LibHttpParserRoot} ${SRS_OBJS_DIR}) + ModuleLibIncs=(${LibSTRoot} ${LibHttpParserRoot} ${LibSSLRoot} ${SRS_OBJS_DIR}) MODULE_FILES=("srs_app_server" "srs_app_conn" "srs_app_rtmp_conn" "srs_app_source" "srs_app_refer" "srs_app_hls" "srs_app_forward" "srs_app_encoder" "srs_app_http_stream" "srs_app_thread" "srs_app_bandwidth" "srs_app_st" "srs_app_log" "srs_app_config" @@ -200,7 +200,7 @@ LIBS_OBJS="${MODULE_OBJS[@]}" if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then MODULE_ID="MAIN" MODULE_DEPENDS=("CORE" "KERNEL" "PROTOCOL" "APP") - ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS_DIR} ${LibGperfRoot} ${LibHttpParserRoot}) + ModuleLibIncs=(${LibSTRoot} ${SRS_OBJS_DIR} ${LibGperfRoot} ${LibHttpParserRoot} ${LibSSLRoot}) MODULE_FILES=("srs_main_server" "srs_main_ingest_hls") # add each modules for main for SRS_MODULE in ${SRS_MODULES[*]}; do