mirror of
https://github.com/ossrs/srs.git
synced 2025-02-13 03:41:55 +00:00
Refine SrsBasicRtmpClient in time unit.
This commit is contained in:
parent
c6dcc76fea
commit
e436cc5665
10 changed files with 32 additions and 34 deletions
|
@ -192,12 +192,12 @@ srs_error_t SrsDynamicHttpConn::do_proxy(ISrsHttpResponseReader* rr, SrsFlvDecod
|
||||||
|
|
||||||
srs_freep(sdk);
|
srs_freep(sdk);
|
||||||
|
|
||||||
int64_t cto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT);
|
srs_utime_t cto = SRS_CONSTS_RTMP_TIMEOUT;
|
||||||
int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE);
|
srs_utime_t sto = SRS_CONSTS_RTMP_PULSE;
|
||||||
sdk = new SrsSimpleRtmpClient(output, cto, sto);
|
sdk = new SrsSimpleRtmpClient(output, cto, sto);
|
||||||
|
|
||||||
if ((err = sdk->connect()) != srs_success) {
|
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) {
|
if ((err = sdk->publish(SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE)) != srs_success) {
|
||||||
|
|
|
@ -114,12 +114,12 @@ srs_error_t SrsEdgeRtmpUpstream::connect(SrsRequest* r, SrsLbRoundRobin* lb)
|
||||||
}
|
}
|
||||||
|
|
||||||
srs_freep(sdk);
|
srs_freep(sdk);
|
||||||
int64_t cto = srsu2ms(SRS_EDGE_INGESTER_TIMEOUT);
|
srs_utime_t cto = SRS_EDGE_INGESTER_TIMEOUT;
|
||||||
int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE);
|
srs_utime_t sto = SRS_CONSTS_RTMP_PULSE;
|
||||||
sdk = new SrsSimpleRtmpClient(url, cto, sto);
|
sdk = new SrsSimpleRtmpClient(url, cto, sto);
|
||||||
|
|
||||||
if ((err = sdk->connect()) != srs_success) {
|
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) {
|
if ((err = sdk->play(_srs_config->get_chunk_size(req->vhost))) != srs_success) {
|
||||||
|
@ -474,13 +474,12 @@ srs_error_t SrsEdgeForwarder::start()
|
||||||
|
|
||||||
// open socket.
|
// open socket.
|
||||||
srs_freep(sdk);
|
srs_freep(sdk);
|
||||||
// TODO: FIXME: Should switch cto with sto?
|
srs_utime_t cto = SRS_EDGE_FORWARDER_TIMEOUT;
|
||||||
int64_t cto = srsu2ms(SRS_EDGE_FORWARDER_TIMEOUT);
|
srs_utime_t sto = SRS_CONSTS_RTMP_TIMEOUT;
|
||||||
int64_t sto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT);
|
|
||||||
sdk = new SrsSimpleRtmpClient(url, cto, sto);
|
sdk = new SrsSimpleRtmpClient(url, cto, sto);
|
||||||
|
|
||||||
if ((err = sdk->connect()) != srs_success) {
|
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) {
|
if ((err = sdk->publish(_srs_config->get_chunk_size(req->vhost))) != srs_success) {
|
||||||
|
|
|
@ -213,13 +213,12 @@ srs_error_t SrsForwarder::do_cycle()
|
||||||
}
|
}
|
||||||
|
|
||||||
srs_freep(sdk);
|
srs_freep(sdk);
|
||||||
// TODO: FIXME: Should switch cto with sto?
|
srs_utime_t cto = SRS_FORWARDER_CIMS;
|
||||||
int64_t cto = srsu2ms(SRS_FORWARDER_CIMS);
|
srs_utime_t sto = SRS_CONSTS_RTMP_TIMEOUT;
|
||||||
int64_t sto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT);
|
|
||||||
sdk = new SrsSimpleRtmpClient(url, cto, sto);
|
sdk = new SrsSimpleRtmpClient(url, cto, sto);
|
||||||
|
|
||||||
if ((err = sdk->connect()) != srs_success) {
|
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) {
|
if ((err = sdk->publish(_srs_config->get_chunk_size(req->vhost))) != srs_success) {
|
||||||
|
|
|
@ -615,13 +615,13 @@ srs_error_t SrsMpegtsOverUdp::connect()
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t cto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT);
|
srs_utime_t cto = SRS_CONSTS_RTMP_TIMEOUT;
|
||||||
int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE);
|
srs_utime_t sto = SRS_CONSTS_RTMP_PULSE;
|
||||||
sdk = new SrsSimpleRtmpClient(output, cto, sto);
|
sdk = new SrsSimpleRtmpClient(output, cto, sto);
|
||||||
|
|
||||||
if ((err = sdk->connect()) != srs_success) {
|
if ((err = sdk->connect()) != srs_success) {
|
||||||
close();
|
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) {
|
if ((err = sdk->publish(SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE)) != srs_success) {
|
||||||
|
|
|
@ -72,7 +72,7 @@ using namespace std;
|
||||||
// when edge timeout, retry next.
|
// when edge timeout, retry next.
|
||||||
#define SRS_EDGE_TOKEN_TRAVERSE_TIMEOUT (3 * SRS_UTIME_SECONDS)
|
#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)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ class ISrsKafkaCluster;
|
||||||
class SrsSimpleRtmpClient : public SrsBasicRtmpClient
|
class SrsSimpleRtmpClient : public SrsBasicRtmpClient
|
||||||
{
|
{
|
||||||
public:
|
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();
|
virtual ~SrsSimpleRtmpClient();
|
||||||
protected:
|
protected:
|
||||||
virtual srs_error_t connect_app();
|
virtual srs_error_t connect_app();
|
||||||
|
|
|
@ -649,13 +649,13 @@ srs_error_t SrsRtspConn::connect()
|
||||||
}
|
}
|
||||||
|
|
||||||
// connect host.
|
// connect host.
|
||||||
int64_t cto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT);
|
srs_utime_t cto = SRS_CONSTS_RTMP_TIMEOUT;
|
||||||
int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE);
|
srs_utime_t sto = SRS_CONSTS_RTMP_PULSE;
|
||||||
sdk = new SrsSimpleRtmpClient(url, cto, sto);
|
sdk = new SrsSimpleRtmpClient(url, cto, sto);
|
||||||
|
|
||||||
if ((err = sdk->connect()) != srs_success) {
|
if ((err = sdk->connect()) != srs_success) {
|
||||||
close();
|
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.
|
// publish.
|
||||||
|
|
|
@ -1275,8 +1275,8 @@ int SrsIngestHlsOutput::connect()
|
||||||
srs_trace("connect output=%s", url.c_str());
|
srs_trace("connect output=%s", url.c_str());
|
||||||
|
|
||||||
// connect host.
|
// connect host.
|
||||||
int64_t cto = srsu2ms(SRS_CONSTS_RTMP_TIMEOUT);
|
srs_utime_t cto =SRS_CONSTS_RTMP_TIMEOUT;
|
||||||
int64_t sto = srsu2ms(SRS_CONSTS_RTMP_PULSE);
|
srs_utime_t sto =SRS_CONSTS_RTMP_PULSE;
|
||||||
sdk = new SrsBasicRtmpClient(url, cto, sto);
|
sdk = new SrsBasicRtmpClient(url, cto, sto);
|
||||||
|
|
||||||
if ((err = sdk->connect()) != srs_success) {
|
if ((err = sdk->connect()) != srs_success) {
|
||||||
|
@ -1284,7 +1284,7 @@ int SrsIngestHlsOutput::connect()
|
||||||
ret = srs_error_code(err);
|
ret = srs_error_code(err);
|
||||||
srs_freep(err);
|
srs_freep(err);
|
||||||
close();
|
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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ using namespace std;
|
||||||
#include <srs_protocol_utility.hpp>
|
#include <srs_protocol_utility.hpp>
|
||||||
#include <srs_service_utility.hpp>
|
#include <srs_service_utility.hpp>
|
||||||
|
|
||||||
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();
|
clk = new SrsWallClock();
|
||||||
kbps = new SrsKbps(clk);
|
kbps = new SrsKbps(clk);
|
||||||
|
@ -65,7 +65,7 @@ srs_error_t SrsBasicRtmpClient::connect()
|
||||||
|
|
||||||
close();
|
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);
|
client = new SrsRtmpClient(transport);
|
||||||
kbps->set_io(transport, transport);
|
kbps->set_io(transport, transport);
|
||||||
|
|
||||||
|
@ -74,8 +74,8 @@ srs_error_t SrsBasicRtmpClient::connect()
|
||||||
return srs_error_wrap(err, "connect");
|
return srs_error_wrap(err, "connect");
|
||||||
}
|
}
|
||||||
|
|
||||||
client->set_recv_timeout(stream_timeout * SRS_UTIME_MILLISECONDS);
|
client->set_recv_timeout(stream_timeout);
|
||||||
client->set_send_timeout(stream_timeout * SRS_UTIME_MILLISECONDS);
|
client->set_send_timeout(stream_timeout);
|
||||||
|
|
||||||
// connect to vhost/app
|
// connect to vhost/app
|
||||||
if ((err = client->handshake()) != srs_success) {
|
if ((err = client->handshake()) != srs_success) {
|
||||||
|
|
|
@ -50,8 +50,8 @@ class SrsBasicRtmpClient
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
std::string url;
|
std::string url;
|
||||||
int64_t connect_timeout;
|
srs_utime_t connect_timeout;
|
||||||
int64_t stream_timeout;
|
srs_utime_t stream_timeout;
|
||||||
protected:
|
protected:
|
||||||
SrsRequest* req;
|
SrsRequest* req;
|
||||||
private:
|
private:
|
||||||
|
@ -63,9 +63,9 @@ private:
|
||||||
public:
|
public:
|
||||||
// Constructor.
|
// Constructor.
|
||||||
// @param u The RTMP url, for example, rtmp://ip:port/app/stream?domain=vhost
|
// @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 ctm The timeout in srs_utime_t to connect to server.
|
||||||
// @param stm The timeout in ms to delivery A/V stream.
|
// @param stm The timeout in srs_utime_t to delivery A/V stream.
|
||||||
SrsBasicRtmpClient(std::string u, int64_t ctm, int64_t stm);
|
SrsBasicRtmpClient(std::string u, srs_utime_t ctm, srs_utime_t stm);
|
||||||
virtual ~SrsBasicRtmpClient();
|
virtual ~SrsBasicRtmpClient();
|
||||||
public:
|
public:
|
||||||
// Connect, handshake and connect app to RTMP server.
|
// Connect, handshake and connect app to RTMP server.
|
||||||
|
|
Loading…
Reference in a new issue