正在显示
3 个修改的文件
包含
19 行增加
和
1 行删除
trunk/src/app/srs_app_edge.cpp
100755 → 100644
| @@ -144,6 +144,11 @@ void SrsEdgeRtmpUpstream::close() | @@ -144,6 +144,11 @@ void SrsEdgeRtmpUpstream::close() | ||
| 144 | sdk->close(); | 144 | sdk->close(); |
| 145 | } | 145 | } |
| 146 | 146 | ||
| 147 | +void SrsEdgeRtmpUpstream::set_recv_timeout(int64_t timeout) | ||
| 148 | +{ | ||
| 149 | + sdk->set_recv_timeout(timeout); | ||
| 150 | +} | ||
| 151 | + | ||
| 147 | void SrsEdgeRtmpUpstream::kbps_sample(const char* label, int64_t age) | 152 | void SrsEdgeRtmpUpstream::kbps_sample(const char* label, int64_t age) |
| 148 | { | 153 | { |
| 149 | sdk->kbps_sample(label, age); | 154 | sdk->kbps_sample(label, age); |
| @@ -161,7 +166,7 @@ SrsEdgeIngester::SrsEdgeIngester() | @@ -161,7 +166,7 @@ SrsEdgeIngester::SrsEdgeIngester() | ||
| 161 | } | 166 | } |
| 162 | 167 | ||
| 163 | SrsEdgeIngester::~SrsEdgeIngester() | 168 | SrsEdgeIngester::~SrsEdgeIngester() |
| 164 | -{ | 169 | +{ |
| 165 | stop(); | 170 | stop(); |
| 166 | 171 | ||
| 167 | srs_freep(upstream); | 172 | srs_freep(upstream); |
| @@ -238,6 +243,9 @@ int SrsEdgeIngester::ingest() | @@ -238,6 +243,9 @@ int SrsEdgeIngester::ingest() | ||
| 238 | SrsPithyPrint* pprint = SrsPithyPrint::create_edge(); | 243 | SrsPithyPrint* pprint = SrsPithyPrint::create_edge(); |
| 239 | SrsAutoFree(SrsPithyPrint, pprint); | 244 | SrsAutoFree(SrsPithyPrint, pprint); |
| 240 | 245 | ||
| 246 | + // set to larger timeout to read av data from origin. | ||
| 247 | + upstream->set_recv_timeout(SRS_EDGE_INGESTER_TIMEOUT_US); | ||
| 248 | + | ||
| 241 | while (!pthread->interrupted()) { | 249 | while (!pthread->interrupted()) { |
| 242 | pprint->elapse(); | 250 | pprint->elapse(); |
| 243 | 251 | ||
| @@ -409,6 +417,7 @@ void SrsEdgeForwarder::stop() | @@ -409,6 +417,7 @@ void SrsEdgeForwarder::stop() | ||
| 409 | } | 417 | } |
| 410 | 418 | ||
| 411 | #define SYS_MAX_EDGE_SEND_MSGS 128 | 419 | #define SYS_MAX_EDGE_SEND_MSGS 128 |
| 420 | + | ||
| 412 | int SrsEdgeForwarder::cycle() | 421 | int SrsEdgeForwarder::cycle() |
| 413 | { | 422 | { |
| 414 | int ret = ERROR_SUCCESS; | 423 | int ret = ERROR_SUCCESS; |
| @@ -89,6 +89,8 @@ public: | @@ -89,6 +89,8 @@ public: | ||
| 89 | virtual int recv_message(SrsCommonMessage** pmsg) = 0; | 89 | virtual int recv_message(SrsCommonMessage** pmsg) = 0; |
| 90 | virtual int decode_message(SrsCommonMessage* msg, SrsPacket** ppacket) = 0; | 90 | virtual int decode_message(SrsCommonMessage* msg, SrsPacket** ppacket) = 0; |
| 91 | virtual void close() = 0; | 91 | virtual void close() = 0; |
| 92 | +public: | ||
| 93 | + virtual void set_recv_timeout(int64_t timeout) = 0; | ||
| 92 | virtual void kbps_sample(const char* label, int64_t age) = 0; | 94 | virtual void kbps_sample(const char* label, int64_t age) = 0; |
| 93 | }; | 95 | }; |
| 94 | 96 | ||
| @@ -104,6 +106,8 @@ public: | @@ -104,6 +106,8 @@ public: | ||
| 104 | virtual int recv_message(SrsCommonMessage** pmsg); | 106 | virtual int recv_message(SrsCommonMessage** pmsg); |
| 105 | virtual int decode_message(SrsCommonMessage* msg, SrsPacket** ppacket); | 107 | virtual int decode_message(SrsCommonMessage* msg, SrsPacket** ppacket); |
| 106 | virtual void close(); | 108 | virtual void close(); |
| 109 | +public: | ||
| 110 | + virtual void set_recv_timeout(int64_t timeout); | ||
| 107 | virtual void kbps_sample(const char* label, int64_t age); | 111 | virtual void kbps_sample(const char* label, int64_t age); |
| 108 | }; | 112 | }; |
| 109 | 113 |
| @@ -830,6 +830,11 @@ SrsRequest* SrsHttpMessage::to_request(string vhost) | @@ -830,6 +830,11 @@ SrsRequest* SrsHttpMessage::to_request(string vhost) | ||
| 830 | srs_discovery_tc_url(req->tcUrl, req->schema, req->host, req->vhost, req->app, req->port, req->param); | 830 | srs_discovery_tc_url(req->tcUrl, req->schema, req->host, req->vhost, req->app, req->port, req->param); |
| 831 | req->strip(); | 831 | req->strip(); |
| 832 | 832 | ||
| 833 | + // reset the host to http request host. | ||
| 834 | + if (req->host == SRS_CONSTS_RTMP_DEFAULT_VHOST) { | ||
| 835 | + req->host = _uri->get_host(); | ||
| 836 | + } | ||
| 837 | + | ||
| 833 | return req; | 838 | return req; |
| 834 | } | 839 | } |
| 835 | 840 |
-
请 注册 或 登录 后发表评论