mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
RTC: Update stat for nack
This commit is contained in:
parent
e31169d306
commit
d01a429c13
3 changed files with 28 additions and 2 deletions
|
@ -65,6 +65,9 @@ SrsPps* _srs_pps_twcc = new SrsPps(_srs_clock);
|
|||
SrsPps* _srs_pps_rr = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_pub = new SrsPps(_srs_clock);
|
||||
|
||||
extern SrsPps* _srs_pps_snack;
|
||||
extern SrsPps* _srs_pps_snack2;
|
||||
|
||||
#define SRS_TICKID_RTCP 0
|
||||
#define SRS_TICKID_TWCC 2
|
||||
|
||||
|
@ -2287,6 +2290,8 @@ srs_error_t SrsRtcConnection::send_rtcp(char *data, int nb_data)
|
|||
|
||||
void SrsRtcConnection::check_send_nacks(SrsRtpNackForReceiver* nack, uint32_t ssrc, uint32_t& sent_nacks, uint32_t& timeout_nacks)
|
||||
{
|
||||
++_srs_pps_snack->sugar;
|
||||
|
||||
SrsRtcpNack rtcpNack(ssrc);
|
||||
|
||||
rtcpNack.set_media_ssrc(ssrc);
|
||||
|
@ -2297,6 +2302,8 @@ void SrsRtcConnection::check_send_nacks(SrsRtpNackForReceiver* nack, uint32_t ss
|
|||
return;
|
||||
}
|
||||
|
||||
++_srs_pps_snack2->sugar;
|
||||
|
||||
char buf[kRtcpPacketSize];
|
||||
SrsBuffer stream(buf, sizeof(buf));
|
||||
|
||||
|
|
|
@ -64,6 +64,11 @@ extern SrsPps* _srs_pps_timer;
|
|||
extern SrsPps* _srs_pps_pub;
|
||||
extern SrsPps* _srs_pps_dispose;
|
||||
|
||||
extern SrsPps* _srs_pps_snack;
|
||||
extern SrsPps* _srs_pps_snack2;
|
||||
extern SrsPps* _srs_pps_sanack;
|
||||
extern SrsPps* _srs_pps_svnack;
|
||||
|
||||
SrsRtcBlackhole::SrsRtcBlackhole()
|
||||
{
|
||||
blackhole = false;
|
||||
|
@ -668,16 +673,18 @@ srs_error_t SrsRtcServer::notify(int type, srs_utime_t interval, srs_utime_t tic
|
|||
_srs_pps_cids_get->update(); _srs_pps_cids_set->update();
|
||||
_srs_pps_pli->update(); _srs_pps_twcc->update(); _srs_pps_rr->update();
|
||||
_srs_pps_timer->update(); _srs_pps_pub->update(); _srs_pps_dispose->update();
|
||||
_srs_pps_snack->update(); _srs_pps_snack2->update(); _srs_pps_sanack->update(); _srs_pps_svnack->update();
|
||||
|
||||
// TODO: FIXME: Show more data for RTC server.
|
||||
srs_trace("RTC: Server conns=%u, cpu=%.2f%%, rss=%dMB, pkts=%d, addrs=%d,%d, fid=%d,%d,%d, cid=%d,%d, rtcp=%d,%d,%d, timer=%d,%d, dispose=%d",
|
||||
srs_trace("RTC: Server conns=%u, cpu=%.2f%%, rss=%dMB, pkts=%d, addrs=%d,%d, fid=%d,%d,%d, cid=%d,%d, rtcp=%d,%d,%d, timer=%d,%d, free=%d, nack=%d,%d,%d,%d",
|
||||
nn_rtc_conns, u->percent * 100, memory,
|
||||
_srs_pps_pkts->r10s(), _srs_pps_addrs->r10s(), _srs_pps_fast_addrs->r10s(),
|
||||
_srs_pps_ids->r10s(), _srs_pps_fids->r10s(), _srs_pps_fids_level0->r10s(),
|
||||
_srs_pps_cids_get->r10s(), _srs_pps_cids_set->r10s(),
|
||||
_srs_pps_pli->r10s(), _srs_pps_twcc->r10s(), _srs_pps_rr->r10s(),
|
||||
_srs_pps_timer->r10s(), _srs_pps_pub->r10s(),
|
||||
_srs_pps_dispose->r10s()
|
||||
_srs_pps_dispose->r10s(),
|
||||
_srs_pps_snack->r10s(), _srs_pps_snack2->r10s(), _srs_pps_sanack->r10s(), _srs_pps_svnack->r10s()
|
||||
);
|
||||
|
||||
return err;
|
||||
|
|
|
@ -48,6 +48,14 @@
|
|||
#include <srs_app_rtc_codec.hpp>
|
||||
#endif
|
||||
|
||||
#include <srs_protocol_kbps.hpp>
|
||||
|
||||
// The NACK sent by us(SFU).
|
||||
SrsPps* _srs_pps_snack = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_snack2 = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_sanack = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_svnack = new SrsPps(_srs_clock);
|
||||
|
||||
// Firefox defaults as 109, Chrome is 111.
|
||||
const int kAudioPayloadType = 111;
|
||||
const int kAudioChannel = 2;
|
||||
|
@ -1868,6 +1876,8 @@ srs_error_t SrsRtcAudioRecvTrack::check_send_nacks()
|
|||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
++_srs_pps_sanack->sugar;
|
||||
|
||||
uint32_t timeout_nacks = 0;
|
||||
if ((err = do_check_send_nacks(timeout_nacks)) != srs_success) {
|
||||
return srs_error_wrap(err, "audio");
|
||||
|
@ -1931,6 +1941,8 @@ srs_error_t SrsRtcVideoRecvTrack::check_send_nacks()
|
|||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
++_srs_pps_svnack->sugar;
|
||||
|
||||
uint32_t timeout_nacks = 0;
|
||||
if ((err = do_check_send_nacks(timeout_nacks)) != srs_success) {
|
||||
return srs_error_wrap(err, "video");
|
||||
|
|
Loading…
Reference in a new issue