From a5a9f7c8c5ceb6b41fc0fed7c43c126fb2e1b7c4 Mon Sep 17 00:00:00 2001 From: zhengfl Date: Thu, 16 Jul 2015 11:36:14 +0800 Subject: [PATCH] =?UTF-8?q?refine=20code:=E4=BC=98=E5=8C=96edge=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E5=9B=9E=E6=BA=90=E6=92=AD=E6=94=BE=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- trunk/src/app/srs_app_http_stream.cpp | 9 --------- trunk/src/app/srs_app_rtmp_conn.cpp | 9 --------- trunk/src/app/srs_app_source.cpp | 16 ++++++++++------ trunk/src/app/srs_app_source.hpp | 2 -- 4 files changed, 10 insertions(+), 26 deletions(-) diff --git a/trunk/src/app/srs_app_http_stream.cpp b/trunk/src/app/srs_app_http_stream.cpp index 5d99d9917..e74660ac0 100644 --- a/trunk/src/app/srs_app_http_stream.cpp +++ b/trunk/src/app/srs_app_http_stream.cpp @@ -1210,15 +1210,6 @@ int SrsHttpStreamServer::hijack(ISrsHttpMessage* request, ISrsHttpHandler** ph) srs_trace("hstrs: source url=%s, is_edge=%d, source_id=%d[%d]", r->get_stream_url().c_str(), vhost_is_edge, s->source_id(), s->source_id()); - // TODO: FIXME: disconnect when all connection closed. - if (vhost_is_edge) { - // notice edge to start for the first client. - if ((ret = s->on_edge_start_play()) != ERROR_SUCCESS) { - srs_error("notice edge start play stream failed. ret=%d", ret); - return ret; - } - } - return ret; } diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index 9cf15db59..1a936cacf 100755 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -537,14 +537,6 @@ 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 SrsQueueRecvThread trd(consumer, rtmp, SRS_PERF_MW_SLEEP); @@ -835,7 +827,6 @@ int SrsRtmpConn::acquire_publish(SrsSource* source, bool is_edge) if ((ret = source->on_edge_start_publish()) != ERROR_SUCCESS) { srs_error("notice edge start publish stream failed. ret=%d", ret); } - return ret; } else { if ((ret = source->on_publish()) != ERROR_SUCCESS) { srs_error("notify publish failed. ret=%d", ret); diff --git a/trunk/src/app/srs_app_source.cpp b/trunk/src/app/srs_app_source.cpp index 5dd98c204..1c38fbaa9 100755 --- a/trunk/src/app/srs_app_source.cpp +++ b/trunk/src/app/srs_app_source.cpp @@ -765,7 +765,7 @@ SrsSource* SrsSource::fetch(SrsRequest* r) SrsSource* SrsSource::fetch(std::string vhost, std::string app, std::string stream) { SrsSource* source = NULL; - string stream_url = srs_generate_stream_url(vhost, app, stream); + string stream_url = srs_generate_stream_url(vhost, app, stream); if (pool.find(stream_url) == pool.end()) { return NULL; @@ -2135,6 +2135,15 @@ int SrsSource::create_consumer(SrsConsumer*& consumer, bool ds, bool dm, bool dg } else { srs_trace("create consumer, ignore gop cache, jitter=%d", jitter_algorithm); } + + // for edge, when play edge stream, check the state + if (_srs_config->get_vhost_is_edge(_req->vhost)) { + // notice edge to start for the first client. + if ((ret = play_edge->on_client_play()) != ERROR_SUCCESS) { + srs_error("notice edge start play stream failed. ret=%d", ret); + return ret; + } + } return ret; } @@ -2163,11 +2172,6 @@ SrsRtmpJitterAlgorithm SrsSource::jitter() return jitter_algorithm; } -int SrsSource::on_edge_start_play() -{ - return play_edge->on_client_play(); -} - int SrsSource::on_edge_start_publish() { return publish_edge->on_client_publish(); diff --git a/trunk/src/app/srs_app_source.hpp b/trunk/src/app/srs_app_source.hpp index 372803dd5..523115964 100755 --- a/trunk/src/app/srs_app_source.hpp +++ b/trunk/src/app/srs_app_source.hpp @@ -574,8 +574,6 @@ public: virtual SrsRtmpJitterAlgorithm jitter(); // internal public: - // for edge, when play edge stream, check the state - virtual int on_edge_start_play(); // for edge, when publish edge stream, check the state virtual int on_edge_start_publish(); // for edge, proxy the publish