From e436cc56656cddf60b8543373e5aa3e7766fedfc Mon Sep 17 00:00:00 2001 From: winlin Date: Mon, 22 Apr 2019 08:03:12 +0800 Subject: [PATCH] Refine SrsBasicRtmpClient in time unit. --- trunk/src/app/srs_app_caster_flv.cpp | 6 +++--- trunk/src/app/srs_app_edge.cpp | 13 ++++++------- trunk/src/app/srs_app_forward.cpp | 7 +++---- trunk/src/app/srs_app_mpegts_udp.cpp | 6 +++--- trunk/src/app/srs_app_rtmp_conn.cpp | 2 +- trunk/src/app/srs_app_rtmp_conn.hpp | 2 +- trunk/src/app/srs_app_rtsp.cpp | 6 +++--- trunk/src/main/srs_main_ingest_hls.cpp | 6 +++--- trunk/src/service/srs_service_rtmp_conn.cpp | 8 ++++---- trunk/src/service/srs_service_rtmp_conn.hpp | 10 +++++----- 10 files changed, 32 insertions(+), 34 deletions(-) diff --git a/trunk/src/app/srs_app_caster_flv.cpp b/trunk/src/app/srs_app_caster_flv.cpp index 086afdcde..87f7a893e 100644 --- a/trunk/src/app/srs_app_caster_flv.cpp +++ b/trunk/src/app/srs_app_caster_flv.cpp @@ -192,12 +192,12 @@ srs_error_t SrsDynamicHttpConn::do_proxy(ISrsHttpResponseReader* rr, SrsFlvDecod srs_freep(sdk); - int64_t cto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT); - int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE); + srs_utime_t cto = SRS_CONSTS_RTMP_TIMEOUT; + srs_utime_t sto = SRS_CONSTS_RTMP_PULSE; sdk = new SrsSimpleRtmpClient(output, cto, sto); if ((err = sdk->connect()) != srs_success) { - return srs_error_wrap(err, "connect %s failed, cto=%" PRId64 ", sto=%" PRId64, output.c_str(), cto, sto); + return srs_error_wrap(err, "connect %s failed, cto=%dms, sto=%dms.", output.c_str(), srsu2msi(cto), srsu2msi(sto)); } if ((err = sdk->publish(SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE)) != srs_success) { diff --git a/trunk/src/app/srs_app_edge.cpp b/trunk/src/app/srs_app_edge.cpp index 6ecd4409d..11582373c 100644 --- a/trunk/src/app/srs_app_edge.cpp +++ b/trunk/src/app/srs_app_edge.cpp @@ -114,12 +114,12 @@ srs_error_t SrsEdgeRtmpUpstream::connect(SrsRequest* r, SrsLbRoundRobin* lb) } srs_freep(sdk); - int64_t cto = srsu2ms(SRS_EDGE_INGESTER_TIMEOUT); - int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE); + srs_utime_t cto = SRS_EDGE_INGESTER_TIMEOUT; + srs_utime_t sto = SRS_CONSTS_RTMP_PULSE; sdk = new SrsSimpleRtmpClient(url, cto, sto); if ((err = sdk->connect()) != srs_success) { - return srs_error_wrap(err, "edge pull %s failed, cto=%" PRId64 ", sto=%" PRId64, url.c_str(), cto, sto); + return srs_error_wrap(err, "edge pull %s failed, cto=%dms, sto=%dms.", url.c_str(), srsu2msi(cto), srsu2msi(sto)); } if ((err = sdk->play(_srs_config->get_chunk_size(req->vhost))) != srs_success) { @@ -474,13 +474,12 @@ srs_error_t SrsEdgeForwarder::start() // open socket. srs_freep(sdk); - // TODO: FIXME: Should switch cto with sto? - int64_t cto = srsu2ms(SRS_EDGE_FORWARDER_TIMEOUT); - int64_t sto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT); + srs_utime_t cto = SRS_EDGE_FORWARDER_TIMEOUT; + srs_utime_t sto = SRS_CONSTS_RTMP_TIMEOUT; sdk = new SrsSimpleRtmpClient(url, cto, sto); if ((err = sdk->connect()) != srs_success) { - return srs_error_wrap(err, "sdk connect %s failed, cto=%" PRId64 ", sto=%" PRId64, url.c_str(), cto, sto); + return srs_error_wrap(err, "sdk connect %s failed, cto=%dms, sto=%dms.", url.c_str(), srsu2msi(cto), srsu2msi(sto)); } if ((err = sdk->publish(_srs_config->get_chunk_size(req->vhost))) != srs_success) { diff --git a/trunk/src/app/srs_app_forward.cpp b/trunk/src/app/srs_app_forward.cpp index 3bcb78e27..94e11e203 100755 --- a/trunk/src/app/srs_app_forward.cpp +++ b/trunk/src/app/srs_app_forward.cpp @@ -213,13 +213,12 @@ srs_error_t SrsForwarder::do_cycle() } srs_freep(sdk); - // TODO: FIXME: Should switch cto with sto? - int64_t cto = srsu2ms(SRS_FORWARDER_CIMS); - int64_t sto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT); + srs_utime_t cto = SRS_FORWARDER_CIMS; + srs_utime_t sto = SRS_CONSTS_RTMP_TIMEOUT; sdk = new SrsSimpleRtmpClient(url, cto, sto); if ((err = sdk->connect()) != srs_success) { - return srs_error_wrap(err, "sdk connect url=%s, cto=%" PRId64 ", sto=%" PRId64, url.c_str(), cto, sto); + return srs_error_wrap(err, "sdk connect url=%s, cto=%dms, sto=%dms.", url.c_str(), srsu2msi(cto), srsu2msi(sto)); } if ((err = sdk->publish(_srs_config->get_chunk_size(req->vhost))) != srs_success) { diff --git a/trunk/src/app/srs_app_mpegts_udp.cpp b/trunk/src/app/srs_app_mpegts_udp.cpp index f6a4ebbf2..6d4e09019 100644 --- a/trunk/src/app/srs_app_mpegts_udp.cpp +++ b/trunk/src/app/srs_app_mpegts_udp.cpp @@ -615,13 +615,13 @@ srs_error_t SrsMpegtsOverUdp::connect() return err; } - int64_t cto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT); - int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE); + srs_utime_t cto = SRS_CONSTS_RTMP_TIMEOUT; + srs_utime_t sto = SRS_CONSTS_RTMP_PULSE; sdk = new SrsSimpleRtmpClient(output, cto, sto); if ((err = sdk->connect()) != srs_success) { close(); - return srs_error_wrap(err, "connect %s failed, cto=%" PRId64 ", sto=%" PRId64, output.c_str(), cto, sto); + return srs_error_wrap(err, "connect %s failed, cto=%dms, sto=%dms.", output.c_str(), srsu2msi(cto), srsu2msi(sto)); } if ((err = sdk->publish(SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE)) != srs_success) { diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index 81067def1..9fc028ef6 100644 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -72,7 +72,7 @@ using namespace std; // when edge timeout, retry next. #define SRS_EDGE_TOKEN_TRAVERSE_TIMEOUT (3 * SRS_UTIME_SECONDS) -SrsSimpleRtmpClient::SrsSimpleRtmpClient(string u, int64_t ctm, int64_t stm) : SrsBasicRtmpClient(u, ctm, stm) +SrsSimpleRtmpClient::SrsSimpleRtmpClient(string u, srs_utime_t ctm, srs_utime_t stm) : SrsBasicRtmpClient(u, ctm, stm) { } diff --git a/trunk/src/app/srs_app_rtmp_conn.hpp b/trunk/src/app/srs_app_rtmp_conn.hpp index 94c6d1c4b..905779572 100644 --- a/trunk/src/app/srs_app_rtmp_conn.hpp +++ b/trunk/src/app/srs_app_rtmp_conn.hpp @@ -64,7 +64,7 @@ class ISrsKafkaCluster; class SrsSimpleRtmpClient : public SrsBasicRtmpClient { public: - SrsSimpleRtmpClient(std::string u, int64_t ctm, int64_t stm); + SrsSimpleRtmpClient(std::string u, srs_utime_t ctm, srs_utime_t stm); virtual ~SrsSimpleRtmpClient(); protected: virtual srs_error_t connect_app(); diff --git a/trunk/src/app/srs_app_rtsp.cpp b/trunk/src/app/srs_app_rtsp.cpp index 0502a0324..35fffa620 100644 --- a/trunk/src/app/srs_app_rtsp.cpp +++ b/trunk/src/app/srs_app_rtsp.cpp @@ -649,13 +649,13 @@ srs_error_t SrsRtspConn::connect() } // connect host. - int64_t cto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT); - int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE); + srs_utime_t cto = SRS_CONSTS_RTMP_TIMEOUT; + srs_utime_t sto = SRS_CONSTS_RTMP_PULSE; sdk = new SrsSimpleRtmpClient(url, cto, sto); if ((err = sdk->connect()) != srs_success) { close(); - return srs_error_wrap(err, "connect %s failed, cto=%" PRId64 ", sto=%" PRId64, url.c_str(), cto, sto); + return srs_error_wrap(err, "connect %s failed, cto=%dms, sto=%dms.", url.c_str(), srsu2msi(cto), srsu2msi(sto)); } // publish. diff --git a/trunk/src/main/srs_main_ingest_hls.cpp b/trunk/src/main/srs_main_ingest_hls.cpp index ba405560e..e9cdb29dd 100644 --- a/trunk/src/main/srs_main_ingest_hls.cpp +++ b/trunk/src/main/srs_main_ingest_hls.cpp @@ -1275,8 +1275,8 @@ int SrsIngestHlsOutput::connect() srs_trace("connect output=%s", url.c_str()); // connect host. - int64_t cto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT); - int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE); + srs_utime_t cto =SRS_CONSTS_RTMP_TIMEOUT; + srs_utime_t sto =SRS_CONSTS_RTMP_PULSE; sdk = new SrsBasicRtmpClient(url, cto, sto); if ((err = sdk->connect()) != srs_success) { @@ -1284,7 +1284,7 @@ int SrsIngestHlsOutput::connect() ret = srs_error_code(err); srs_freep(err); close(); - srs_error("mpegts: connect %s failed, cto=%" PRId64 ", sto=%" PRId64 ". ret=%d", url.c_str(), cto, sto, ret); + srs_error("mpegts: connect %s failed, cto=%dms, sto=%dms. ret=%d", url.c_str(), srsu2msi(cto), srsu2msi(sto), ret); return ret; } diff --git a/trunk/src/service/srs_service_rtmp_conn.cpp b/trunk/src/service/srs_service_rtmp_conn.cpp index e7cc2b58c..575c151c8 100644 --- a/trunk/src/service/srs_service_rtmp_conn.cpp +++ b/trunk/src/service/srs_service_rtmp_conn.cpp @@ -33,7 +33,7 @@ using namespace std; #include #include -SrsBasicRtmpClient::SrsBasicRtmpClient(string u, int64_t ctm, int64_t stm) +SrsBasicRtmpClient::SrsBasicRtmpClient(string u, srs_utime_t ctm, srs_utime_t stm) { clk = new SrsWallClock(); kbps = new SrsKbps(clk); @@ -65,7 +65,7 @@ srs_error_t SrsBasicRtmpClient::connect() close(); - transport = new SrsTcpClient(req->host, req->port, srs_utime_t(connect_timeout * SRS_UTIME_MILLISECONDS)); + transport = new SrsTcpClient(req->host, req->port, srs_utime_t(connect_timeout)); client = new SrsRtmpClient(transport); kbps->set_io(transport, transport); @@ -74,8 +74,8 @@ srs_error_t SrsBasicRtmpClient::connect() return srs_error_wrap(err, "connect"); } - client->set_recv_timeout(stream_timeout * SRS_UTIME_MILLISECONDS); - client->set_send_timeout(stream_timeout * SRS_UTIME_MILLISECONDS); + client->set_recv_timeout(stream_timeout); + client->set_send_timeout(stream_timeout); // connect to vhost/app if ((err = client->handshake()) != srs_success) { diff --git a/trunk/src/service/srs_service_rtmp_conn.hpp b/trunk/src/service/srs_service_rtmp_conn.hpp index 59bbb878a..9538ce4d7 100644 --- a/trunk/src/service/srs_service_rtmp_conn.hpp +++ b/trunk/src/service/srs_service_rtmp_conn.hpp @@ -50,8 +50,8 @@ class SrsBasicRtmpClient { private: std::string url; - int64_t connect_timeout; - int64_t stream_timeout; + srs_utime_t connect_timeout; + srs_utime_t stream_timeout; protected: SrsRequest* req; private: @@ -63,9 +63,9 @@ private: public: // Constructor. // @param u The RTMP url, for example, rtmp://ip:port/app/stream?domain=vhost - // @param ctm The timeout in ms to connect to server. - // @param stm The timeout in ms to delivery A/V stream. - SrsBasicRtmpClient(std::string u, int64_t ctm, int64_t stm); + // @param ctm The timeout in srs_utime_t to connect to server. + // @param stm The timeout in srs_utime_t to delivery A/V stream. + SrsBasicRtmpClient(std::string u, srs_utime_t ctm, srs_utime_t stm); virtual ~SrsBasicRtmpClient(); public: // Connect, handshake and connect app to RTMP server.