diff --git a/trunk/src/app/srs_app_caster_flv.cpp b/trunk/src/app/srs_app_caster_flv.cpp index 6b9e88d3f..dbee0cfd8 100644 --- a/trunk/src/app/srs_app_caster_flv.cpp +++ b/trunk/src/app/srs_app_caster_flv.cpp @@ -183,7 +183,7 @@ int SrsDynamicHttpConn::do_proxy(ISrsHttpResponseReader* rr, SrsFlvDecoder* dec) while (!rr->eof()) { pprint->elapse(); - if ((ret = sdk->connect(output)) != ERROR_SUCCESS) { + if ((ret = sdk->connect(output, SRS_CONSTS_RTMP_RECV_TIMEOUT_US)) != ERROR_SUCCESS) { return ret; } @@ -206,6 +206,7 @@ int SrsDynamicHttpConn::do_proxy(ISrsHttpResponseReader* rr, SrsFlvDecoder* dec) return ret; } + // TODO: FIXME: for post flv, reconnect when error. if ((ret = sdk->rtmp_write_packet(type, time, data, size)) != ERROR_SUCCESS) { if (!srs_is_client_gracefully_close(ret)) { srs_error("flv: proxy rtmp packet failed. ret=%d", ret); diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index d612af6e2..d4e91869f 100644 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -92,7 +92,7 @@ SrsSimpleRtmpClient::~SrsSimpleRtmpClient() srs_freep(transport); } -int SrsSimpleRtmpClient::connect(string url) +int SrsSimpleRtmpClient::connect(string url, int64_t timeout) { int ret = ERROR_SUCCESS; @@ -110,15 +110,15 @@ int SrsSimpleRtmpClient::connect(string url) } // connect host. - if ((ret = transport->connect(req->host, req->port, ST_UTIME_NO_TIMEOUT)) != ERROR_SUCCESS) { + if ((ret = transport->connect(req->host, req->port, timeout)) != ERROR_SUCCESS) { return ret; } srs_freep(client); client = new SrsRtmpClient(transport); - client->set_recv_timeout(SRS_CONSTS_RTMP_RECV_TIMEOUT_US); - client->set_send_timeout(SRS_CONSTS_RTMP_SEND_TIMEOUT_US); + client->set_recv_timeout(timeout); + client->set_send_timeout(timeout); // connect to vhost/app if ((ret = client->handshake()) != ERROR_SUCCESS) { diff --git a/trunk/src/app/srs_app_rtmp_conn.hpp b/trunk/src/app/srs_app_rtmp_conn.hpp index be8192781..c783cea5e 100644 --- a/trunk/src/app/srs_app_rtmp_conn.hpp +++ b/trunk/src/app/srs_app_rtmp_conn.hpp @@ -71,7 +71,7 @@ public: SrsSimpleRtmpClient(); virtual ~SrsSimpleRtmpClient(); public: - virtual int connect(std::string url); + virtual int connect(std::string url, int64_t timeout); virtual void close(); public: virtual int rtmp_write_packet(char type, u_int32_t timestamp, char* data, int size);