1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

Refine get_queue_length and set_queue_size in time unit

This commit is contained in:
winlin 2019-04-16 07:55:19 +08:00
parent e3983b3513
commit c1b64ba24f
13 changed files with 43 additions and 32 deletions

View file

@ -260,9 +260,9 @@ srs_utime_t SrsMessageQueue::duration()
return (av_end_time - av_start_time);
}
void SrsMessageQueue::set_queue_size(double queue_size)
void SrsMessageQueue::set_queue_size(srs_utime_t queue_size)
{
max_queue_size = srs_utime_t(queue_size * SRS_UTIME_SECONDS);
max_queue_size = queue_size;
}
srs_error_t SrsMessageQueue::enqueue(SrsSharedPtrMessage* msg, bool* is_overflow)
@ -442,7 +442,7 @@ SrsConsumer::~SrsConsumer()
#endif
}
void SrsConsumer::set_queue_size(double queue_size)
void SrsConsumer::set_queue_size(srs_utime_t queue_size)
{
queue->set_queue_size(queue_size);
}
@ -1468,9 +1468,8 @@ srs_error_t SrsOriginHub::create_forwarders()
if ((err = forwarder->initialize(req, forward_server)) != srs_success) {
return srs_error_wrap(err, "init forwarder");
}
// TODO: FIXME: support queue size.
double queue_size = _srs_config->get_queue_length(req->vhost);
srs_utime_t queue_size = _srs_config->get_queue_length(req->vhost);
forwarder->set_queue_size(queue_size);
if ((err = forwarder->on_publish()) != srs_success) {
@ -1864,7 +1863,7 @@ srs_error_t SrsSource::initialize(SrsRequest* r, ISrsSourceHandler* h)
return srs_error_wrap(err, "edge(publish)");
}
double queue_size = _srs_config->get_queue_length(req->vhost);
srs_utime_t queue_size = _srs_config->get_queue_length(req->vhost);
publish_edge->set_queue_size(queue_size);
jitter_algorithm = (SrsRtmpJitterAlgorithm)_srs_config->get_time_jitter(req->vhost);
@ -1919,7 +1918,7 @@ srs_error_t SrsSource::on_reload_vhost_play(string vhost)
// queue length
if (true) {
double v = _srs_config->get_queue_length(req->vhost);
srs_utime_t v = _srs_config->get_queue_length(req->vhost);
if (true) {
std::vector<SrsConsumer*>::iterator it;
@ -2443,7 +2442,7 @@ srs_error_t SrsSource::create_consumer(SrsConnection* conn, SrsConsumer*& consum
consumer = new SrsConsumer(this, conn);
consumers.push_back(consumer);
double queue_size = _srs_config->get_queue_length(req->vhost);
srs_utime_t queue_size = _srs_config->get_queue_length(req->vhost);
consumer->set_queue_size(queue_size);
// if atc, update the sequence header to gop cache time.