正在显示
4 个修改的文件
包含
10 行增加
和
26 行删除
| @@ -1210,15 +1210,6 @@ int SrsHttpStreamServer::hijack(ISrsHttpMessage* request, ISrsHttpHandler** ph) | @@ -1210,15 +1210,6 @@ int SrsHttpStreamServer::hijack(ISrsHttpMessage* request, ISrsHttpHandler** ph) | ||
| 1210 | srs_trace("hstrs: source url=%s, is_edge=%d, source_id=%d[%d]", | 1210 | srs_trace("hstrs: source url=%s, is_edge=%d, source_id=%d[%d]", |
| 1211 | r->get_stream_url().c_str(), vhost_is_edge, s->source_id(), s->source_id()); | 1211 | r->get_stream_url().c_str(), vhost_is_edge, s->source_id(), s->source_id()); |
| 1212 | 1212 | ||
| 1213 | - // TODO: FIXME: disconnect when all connection closed. | ||
| 1214 | - if (vhost_is_edge) { | ||
| 1215 | - // notice edge to start for the first client. | ||
| 1216 | - if ((ret = s->on_edge_start_play()) != ERROR_SUCCESS) { | ||
| 1217 | - srs_error("notice edge start play stream failed. ret=%d", ret); | ||
| 1218 | - return ret; | ||
| 1219 | - } | ||
| 1220 | - } | ||
| 1221 | - | ||
| 1222 | return ret; | 1213 | return ret; |
| 1223 | } | 1214 | } |
| 1224 | 1215 |
| @@ -537,14 +537,6 @@ int SrsRtmpConn::playing(SrsSource* source) | @@ -537,14 +537,6 @@ int SrsRtmpConn::playing(SrsSource* source) | ||
| 537 | SrsAutoFree(SrsConsumer, consumer); | 537 | SrsAutoFree(SrsConsumer, consumer); |
| 538 | srs_verbose("consumer created success."); | 538 | srs_verbose("consumer created success."); |
| 539 | 539 | ||
| 540 | - if (_srs_config->get_vhost_is_edge(req->vhost)) { | ||
| 541 | - // notice edge to start for the first client. | ||
| 542 | - if ((ret = source->on_edge_start_play()) != ERROR_SUCCESS) { | ||
| 543 | - srs_error("notice edge start play stream failed. ret=%d", ret); | ||
| 544 | - return ret; | ||
| 545 | - } | ||
| 546 | - } | ||
| 547 | - | ||
| 548 | // use isolate thread to recv, | 540 | // use isolate thread to recv, |
| 549 | // @see: https://github.com/simple-rtmp-server/srs/issues/217 | 541 | // @see: https://github.com/simple-rtmp-server/srs/issues/217 |
| 550 | SrsQueueRecvThread trd(consumer, rtmp, SRS_PERF_MW_SLEEP); | 542 | SrsQueueRecvThread trd(consumer, rtmp, SRS_PERF_MW_SLEEP); |
| @@ -835,7 +827,6 @@ int SrsRtmpConn::acquire_publish(SrsSource* source, bool is_edge) | @@ -835,7 +827,6 @@ int SrsRtmpConn::acquire_publish(SrsSource* source, bool is_edge) | ||
| 835 | if ((ret = source->on_edge_start_publish()) != ERROR_SUCCESS) { | 827 | if ((ret = source->on_edge_start_publish()) != ERROR_SUCCESS) { |
| 836 | srs_error("notice edge start publish stream failed. ret=%d", ret); | 828 | srs_error("notice edge start publish stream failed. ret=%d", ret); |
| 837 | } | 829 | } |
| 838 | - return ret; | ||
| 839 | } else { | 830 | } else { |
| 840 | if ((ret = source->on_publish()) != ERROR_SUCCESS) { | 831 | if ((ret = source->on_publish()) != ERROR_SUCCESS) { |
| 841 | srs_error("notify publish failed. ret=%d", ret); | 832 | srs_error("notify publish failed. ret=%d", ret); |
| @@ -765,7 +765,7 @@ SrsSource* SrsSource::fetch(SrsRequest* r) | @@ -765,7 +765,7 @@ SrsSource* SrsSource::fetch(SrsRequest* r) | ||
| 765 | SrsSource* SrsSource::fetch(std::string vhost, std::string app, std::string stream) | 765 | SrsSource* SrsSource::fetch(std::string vhost, std::string app, std::string stream) |
| 766 | { | 766 | { |
| 767 | SrsSource* source = NULL; | 767 | SrsSource* source = NULL; |
| 768 | - string stream_url = srs_generate_stream_url(vhost, app, stream); | 768 | + string stream_url = srs_generate_stream_url(vhost, app, stream); |
| 769 | 769 | ||
| 770 | if (pool.find(stream_url) == pool.end()) { | 770 | if (pool.find(stream_url) == pool.end()) { |
| 771 | return NULL; | 771 | return NULL; |
| @@ -2135,6 +2135,15 @@ int SrsSource::create_consumer(SrsConsumer*& consumer, bool ds, bool dm, bool dg | @@ -2135,6 +2135,15 @@ int SrsSource::create_consumer(SrsConsumer*& consumer, bool ds, bool dm, bool dg | ||
| 2135 | } else { | 2135 | } else { |
| 2136 | srs_trace("create consumer, ignore gop cache, jitter=%d", jitter_algorithm); | 2136 | srs_trace("create consumer, ignore gop cache, jitter=%d", jitter_algorithm); |
| 2137 | } | 2137 | } |
| 2138 | + | ||
| 2139 | + // for edge, when play edge stream, check the state | ||
| 2140 | + if (_srs_config->get_vhost_is_edge(_req->vhost)) { | ||
| 2141 | + // notice edge to start for the first client. | ||
| 2142 | + if ((ret = play_edge->on_client_play()) != ERROR_SUCCESS) { | ||
| 2143 | + srs_error("notice edge start play stream failed. ret=%d", ret); | ||
| 2144 | + return ret; | ||
| 2145 | + } | ||
| 2146 | + } | ||
| 2138 | 2147 | ||
| 2139 | return ret; | 2148 | return ret; |
| 2140 | } | 2149 | } |
| @@ -2163,11 +2172,6 @@ SrsRtmpJitterAlgorithm SrsSource::jitter() | @@ -2163,11 +2172,6 @@ SrsRtmpJitterAlgorithm SrsSource::jitter() | ||
| 2163 | return jitter_algorithm; | 2172 | return jitter_algorithm; |
| 2164 | } | 2173 | } |
| 2165 | 2174 | ||
| 2166 | -int SrsSource::on_edge_start_play() | ||
| 2167 | -{ | ||
| 2168 | - return play_edge->on_client_play(); | ||
| 2169 | -} | ||
| 2170 | - | ||
| 2171 | int SrsSource::on_edge_start_publish() | 2175 | int SrsSource::on_edge_start_publish() |
| 2172 | { | 2176 | { |
| 2173 | return publish_edge->on_client_publish(); | 2177 | return publish_edge->on_client_publish(); |
| @@ -574,8 +574,6 @@ public: | @@ -574,8 +574,6 @@ public: | ||
| 574 | virtual SrsRtmpJitterAlgorithm jitter(); | 574 | virtual SrsRtmpJitterAlgorithm jitter(); |
| 575 | // internal | 575 | // internal |
| 576 | public: | 576 | public: |
| 577 | - // for edge, when play edge stream, check the state | ||
| 578 | - virtual int on_edge_start_play(); | ||
| 579 | // for edge, when publish edge stream, check the state | 577 | // for edge, when publish edge stream, check the state |
| 580 | virtual int on_edge_start_publish(); | 578 | virtual int on_edge_start_publish(); |
| 581 | // for edge, proxy the publish | 579 | // for edge, proxy the publish |
-
请 注册 或 登录 后发表评论