mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Kernel: Never depends on another globals for global variables
This commit is contained in:
parent
20df644a05
commit
1909cfb3ff
11 changed files with 88 additions and 76 deletions
|
@ -38,10 +38,10 @@ using namespace std;
|
||||||
|
|
||||||
#include <srs_protocol_kbps.hpp>
|
#include <srs_protocol_kbps.hpp>
|
||||||
|
|
||||||
SrsPps* _srs_pps_ids = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_ids = new SrsPps();
|
||||||
SrsPps* _srs_pps_fids = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_fids = new SrsPps();
|
||||||
SrsPps* _srs_pps_fids_level0 = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_fids_level0 = new SrsPps();
|
||||||
SrsPps* _srs_pps_dispose = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_dispose = new SrsPps();
|
||||||
|
|
||||||
ISrsDisposingHandler::ISrsDisposingHandler()
|
ISrsDisposingHandler::ISrsDisposingHandler()
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,7 +30,7 @@ using namespace std;
|
||||||
|
|
||||||
#include <srs_protocol_kbps.hpp>
|
#include <srs_protocol_kbps.hpp>
|
||||||
|
|
||||||
SrsPps* _srs_pps_timer = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_timer = new SrsPps();
|
||||||
|
|
||||||
ISrsHourGlass::ISrsHourGlass()
|
ISrsHourGlass::ISrsHourGlass()
|
||||||
{
|
{
|
||||||
|
|
|
@ -44,10 +44,10 @@ extern unsigned long long _st_stat_recvfrom;
|
||||||
extern unsigned long long _st_stat_recvfrom_eagain;
|
extern unsigned long long _st_stat_recvfrom_eagain;
|
||||||
extern unsigned long long _st_stat_sendto;
|
extern unsigned long long _st_stat_sendto;
|
||||||
extern unsigned long long _st_stat_sendto_eagain;
|
extern unsigned long long _st_stat_sendto_eagain;
|
||||||
SrsPps* _srs_pps_recvfrom = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_recvfrom = new SrsPps();
|
||||||
SrsPps* _srs_pps_recvfrom_eagain = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_recvfrom_eagain = new SrsPps();
|
||||||
SrsPps* _srs_pps_sendto = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sendto = new SrsPps();
|
||||||
SrsPps* _srs_pps_sendto_eagain = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sendto_eagain = new SrsPps();
|
||||||
|
|
||||||
extern unsigned long long _st_stat_read;
|
extern unsigned long long _st_stat_read;
|
||||||
extern unsigned long long _st_stat_read_eagain;
|
extern unsigned long long _st_stat_read_eagain;
|
||||||
|
@ -55,12 +55,12 @@ extern unsigned long long _st_stat_readv;
|
||||||
extern unsigned long long _st_stat_readv_eagain;
|
extern unsigned long long _st_stat_readv_eagain;
|
||||||
extern unsigned long long _st_stat_writev;
|
extern unsigned long long _st_stat_writev;
|
||||||
extern unsigned long long _st_stat_writev_eagain;
|
extern unsigned long long _st_stat_writev_eagain;
|
||||||
SrsPps* _srs_pps_read = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_read = new SrsPps();
|
||||||
SrsPps* _srs_pps_read_eagain = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_read_eagain = new SrsPps();
|
||||||
SrsPps* _srs_pps_readv = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_readv = new SrsPps();
|
||||||
SrsPps* _srs_pps_readv_eagain = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_readv_eagain = new SrsPps();
|
||||||
SrsPps* _srs_pps_writev = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_writev = new SrsPps();
|
||||||
SrsPps* _srs_pps_writev_eagain = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_writev_eagain = new SrsPps();
|
||||||
|
|
||||||
extern unsigned long long _st_stat_recvmsg;
|
extern unsigned long long _st_stat_recvmsg;
|
||||||
extern unsigned long long _st_stat_recvmsg_eagain;
|
extern unsigned long long _st_stat_recvmsg_eagain;
|
||||||
|
@ -68,21 +68,21 @@ extern unsigned long long _st_stat_sendmsg;
|
||||||
extern unsigned long long _st_stat_sendmsg_eagain;
|
extern unsigned long long _st_stat_sendmsg_eagain;
|
||||||
extern unsigned long long _st_stat_sendmmsg;
|
extern unsigned long long _st_stat_sendmmsg;
|
||||||
extern unsigned long long _st_stat_sendmmsg_eagain;
|
extern unsigned long long _st_stat_sendmmsg_eagain;
|
||||||
SrsPps* _srs_pps_recvmsg = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_recvmsg = new SrsPps();
|
||||||
SrsPps* _srs_pps_recvmsg_eagain = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_recvmsg_eagain = new SrsPps();
|
||||||
SrsPps* _srs_pps_sendmsg = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sendmsg = new SrsPps();
|
||||||
SrsPps* _srs_pps_sendmsg_eagain = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sendmsg_eagain = new SrsPps();
|
||||||
SrsPps* _srs_pps_sendmmsg = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sendmmsg = new SrsPps();
|
||||||
SrsPps* _srs_pps_sendmmsg_eagain = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sendmmsg_eagain = new SrsPps();
|
||||||
|
|
||||||
extern unsigned long long _st_stat_epoll;
|
extern unsigned long long _st_stat_epoll;
|
||||||
extern unsigned long long _st_stat_epoll_zero;
|
extern unsigned long long _st_stat_epoll_zero;
|
||||||
extern unsigned long long _st_stat_epoll_shake;
|
extern unsigned long long _st_stat_epoll_shake;
|
||||||
extern unsigned long long _st_stat_epoll_spin;
|
extern unsigned long long _st_stat_epoll_spin;
|
||||||
SrsPps* _srs_pps_epoll = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_epoll = new SrsPps();
|
||||||
SrsPps* _srs_pps_epoll_zero = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_epoll_zero = new SrsPps();
|
||||||
SrsPps* _srs_pps_epoll_shake = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_epoll_shake = new SrsPps();
|
||||||
SrsPps* _srs_pps_epoll_spin = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_epoll_spin = new SrsPps();
|
||||||
|
|
||||||
extern unsigned long long _st_stat_sched_15ms;
|
extern unsigned long long _st_stat_sched_15ms;
|
||||||
extern unsigned long long _st_stat_sched_20ms;
|
extern unsigned long long _st_stat_sched_20ms;
|
||||||
|
@ -93,26 +93,26 @@ extern unsigned long long _st_stat_sched_40ms;
|
||||||
extern unsigned long long _st_stat_sched_80ms;
|
extern unsigned long long _st_stat_sched_80ms;
|
||||||
extern unsigned long long _st_stat_sched_160ms;
|
extern unsigned long long _st_stat_sched_160ms;
|
||||||
extern unsigned long long _st_stat_sched_s;
|
extern unsigned long long _st_stat_sched_s;
|
||||||
SrsPps* _srs_pps_sched_15ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sched_15ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_sched_20ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sched_20ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_sched_25ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sched_25ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_sched_30ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sched_30ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_sched_35ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sched_35ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_sched_40ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sched_40ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_sched_80ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sched_80ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_sched_160ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sched_160ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_sched_s = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sched_s = new SrsPps();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SrsPps* _srs_pps_clock_15ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_clock_15ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_clock_20ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_clock_20ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_clock_25ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_clock_25ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_clock_30ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_clock_30ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_clock_35ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_clock_35ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_clock_40ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_clock_40ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_clock_80ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_clock_80ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_clock_160ms = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_clock_160ms = new SrsPps();
|
||||||
SrsPps* _srs_pps_timer_s = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_timer_s = new SrsPps();
|
||||||
|
|
||||||
#if defined(SRS_DEBUG) && defined(SRS_DEBUG_STATS)
|
#if defined(SRS_DEBUG) && defined(SRS_DEBUG_STATS)
|
||||||
extern int _st_active_count;
|
extern int _st_active_count;
|
||||||
|
@ -120,10 +120,10 @@ extern unsigned long long _st_stat_thread_run;
|
||||||
extern unsigned long long _st_stat_thread_idle;
|
extern unsigned long long _st_stat_thread_idle;
|
||||||
extern unsigned long long _st_stat_thread_yield;
|
extern unsigned long long _st_stat_thread_yield;
|
||||||
extern unsigned long long _st_stat_thread_yield2;
|
extern unsigned long long _st_stat_thread_yield2;
|
||||||
SrsPps* _srs_pps_thread_run = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_thread_run = new SrsPps();
|
||||||
SrsPps* _srs_pps_thread_idle = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_thread_idle = new SrsPps();
|
||||||
SrsPps* _srs_pps_thread_yield = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_thread_yield = new SrsPps();
|
||||||
SrsPps* _srs_pps_thread_yield2 = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_thread_yield2 = new SrsPps();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ISrsHybridServer::ISrsHybridServer()
|
ISrsHybridServer::ISrsHybridServer()
|
||||||
|
|
|
@ -45,11 +45,11 @@ using namespace std;
|
||||||
|
|
||||||
#include <srs_protocol_kbps.hpp>
|
#include <srs_protocol_kbps.hpp>
|
||||||
|
|
||||||
SrsPps* _srs_pps_rpkts = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_rpkts = new SrsPps();
|
||||||
SrsPps* _srs_pps_addrs = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_addrs = new SrsPps();
|
||||||
SrsPps* _srs_pps_fast_addrs = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_fast_addrs = new SrsPps();
|
||||||
|
|
||||||
SrsPps* _srs_pps_spkts = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_spkts = new SrsPps();
|
||||||
|
|
||||||
// set the max packet size.
|
// set the max packet size.
|
||||||
#define SRS_UDP_MAX_PACKET_SIZE 65535
|
#define SRS_UDP_MAX_PACKET_SIZE 65535
|
||||||
|
|
|
@ -60,15 +60,15 @@ using namespace std;
|
||||||
|
|
||||||
#include <srs_protocol_kbps.hpp>
|
#include <srs_protocol_kbps.hpp>
|
||||||
|
|
||||||
SrsPps* _srs_pps_sstuns = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sstuns = new SrsPps();
|
||||||
SrsPps* _srs_pps_srtcps = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_srtcps = new SrsPps();
|
||||||
SrsPps* _srs_pps_srtps = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_srtps = new SrsPps();
|
||||||
|
|
||||||
SrsPps* _srs_pps_pli = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_pli = new SrsPps();
|
||||||
SrsPps* _srs_pps_twcc = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_twcc = new SrsPps();
|
||||||
SrsPps* _srs_pps_rr = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_rr = new SrsPps();
|
||||||
SrsPps* _srs_pps_pub = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_pub = new SrsPps();
|
||||||
SrsPps* _srs_pps_conn = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_conn = new SrsPps();
|
||||||
|
|
||||||
extern SrsPps* _srs_pps_snack;
|
extern SrsPps* _srs_pps_snack;
|
||||||
extern SrsPps* _srs_pps_snack2;
|
extern SrsPps* _srs_pps_snack2;
|
||||||
|
|
|
@ -46,9 +46,9 @@ using namespace std;
|
||||||
#include <srs_protocol_utility.hpp>
|
#include <srs_protocol_utility.hpp>
|
||||||
|
|
||||||
extern SrsPps* _srs_pps_rpkts;
|
extern SrsPps* _srs_pps_rpkts;
|
||||||
SrsPps* _srs_pps_rstuns = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_rstuns = new SrsPps();
|
||||||
SrsPps* _srs_pps_rrtps = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_rrtps = new SrsPps();
|
||||||
SrsPps* _srs_pps_rrtcps = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_rrtcps = new SrsPps();
|
||||||
extern SrsPps* _srs_pps_addrs;
|
extern SrsPps* _srs_pps_addrs;
|
||||||
extern SrsPps* _srs_pps_fast_addrs;
|
extern SrsPps* _srs_pps_fast_addrs;
|
||||||
|
|
||||||
|
|
|
@ -51,15 +51,15 @@
|
||||||
#include <srs_protocol_kbps.hpp>
|
#include <srs_protocol_kbps.hpp>
|
||||||
|
|
||||||
// The NACK sent by us(SFU).
|
// The NACK sent by us(SFU).
|
||||||
SrsPps* _srs_pps_snack = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_snack = new SrsPps();
|
||||||
SrsPps* _srs_pps_snack2 = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_snack2 = new SrsPps();
|
||||||
SrsPps* _srs_pps_sanack = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_sanack = new SrsPps();
|
||||||
SrsPps* _srs_pps_svnack = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_svnack = new SrsPps();
|
||||||
|
|
||||||
SrsPps* _srs_pps_rnack = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_rnack = new SrsPps();
|
||||||
SrsPps* _srs_pps_rnack2 = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_rnack2 = new SrsPps();
|
||||||
SrsPps* _srs_pps_rhnack = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_rhnack = new SrsPps();
|
||||||
SrsPps* _srs_pps_rmnack = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_rmnack = new SrsPps();
|
||||||
|
|
||||||
// Firefox defaults as 109, Chrome is 111.
|
// Firefox defaults as 109, Chrome is 111.
|
||||||
const int kAudioPayloadType = 111;
|
const int kAudioPayloadType = 111;
|
||||||
|
|
|
@ -59,9 +59,9 @@ void srs_pps_update(SrsRateSample& sample, int64_t nn, srs_utime_t now)
|
||||||
sample.update(nn, now, pps);
|
sample.update(nn, now, pps);
|
||||||
}
|
}
|
||||||
|
|
||||||
SrsPps::SrsPps(SrsWallClock* c)
|
SrsPps::SrsPps()
|
||||||
{
|
{
|
||||||
clk_ = c;
|
clk_ = NULL;
|
||||||
sugar = 0;
|
sugar = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,6 +69,11 @@ SrsPps::~SrsPps()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SrsPps::set_clock(SrsWallClock* clk)
|
||||||
|
{
|
||||||
|
clk_ = clk;
|
||||||
|
}
|
||||||
|
|
||||||
void SrsPps::update()
|
void SrsPps::update()
|
||||||
{
|
{
|
||||||
update(sugar);
|
update(sugar);
|
||||||
|
@ -76,6 +81,11 @@ void SrsPps::update()
|
||||||
|
|
||||||
void SrsPps::update(int64_t nn)
|
void SrsPps::update(int64_t nn)
|
||||||
{
|
{
|
||||||
|
// Lazy setup the clock.
|
||||||
|
if (!clk_) {
|
||||||
|
clk_ = _srs_clock;
|
||||||
|
}
|
||||||
|
|
||||||
srs_utime_t now = clk_->now();
|
srs_utime_t now = clk_->now();
|
||||||
|
|
||||||
srs_pps_init(sample_10s_, nn, now);
|
srs_pps_init(sample_10s_, nn, now);
|
||||||
|
|
|
@ -61,9 +61,11 @@ public:
|
||||||
// Sugar for target to stat.
|
// Sugar for target to stat.
|
||||||
int64_t sugar;
|
int64_t sugar;
|
||||||
public:
|
public:
|
||||||
SrsPps(SrsWallClock* clk);
|
SrsPps();
|
||||||
virtual ~SrsPps();
|
virtual ~SrsPps();
|
||||||
public:
|
public:
|
||||||
|
// Setup the clock, use global clock if not set.
|
||||||
|
void set_clock(SrsWallClock* clk);
|
||||||
// Update with the nn which is target.
|
// Update with the nn which is target.
|
||||||
void update();
|
void update();
|
||||||
// Update with the nn.
|
// Update with the nn.
|
||||||
|
|
|
@ -36,7 +36,7 @@ using namespace std;
|
||||||
|
|
||||||
#include <srs_kernel_kbps.hpp>
|
#include <srs_kernel_kbps.hpp>
|
||||||
|
|
||||||
SrsPps* _srs_pps_objs_rtps = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_objs_rtps = new SrsPps();
|
||||||
|
|
||||||
/* @see https://tools.ietf.org/html/rfc1889#section-5.1
|
/* @see https://tools.ietf.org/html/rfc1889#section-5.1
|
||||||
0 1 2 3
|
0 1 2 3
|
||||||
|
|
|
@ -35,8 +35,8 @@ using namespace std;
|
||||||
|
|
||||||
#include <srs_protocol_kbps.hpp>
|
#include <srs_protocol_kbps.hpp>
|
||||||
|
|
||||||
SrsPps* _srs_pps_cids_get = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_cids_get = new SrsPps();
|
||||||
SrsPps* _srs_pps_cids_set = new SrsPps(_srs_clock);
|
SrsPps* _srs_pps_cids_set = new SrsPps();
|
||||||
|
|
||||||
#define SRS_BASIC_LOG_SIZE 8192
|
#define SRS_BASIC_LOG_SIZE 8192
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue