RTC: Send NACK by timer, no by RTP packet

pull/2199/head
winlin 4 years ago
parent d2e728812b
commit 6feaeace27

@ -64,6 +64,7 @@ SrsPps* _srs_pps_pli = new SrsPps(_srs_clock);
SrsPps* _srs_pps_twcc = new SrsPps(_srs_clock); SrsPps* _srs_pps_twcc = new SrsPps(_srs_clock);
SrsPps* _srs_pps_rr = new SrsPps(_srs_clock); SrsPps* _srs_pps_rr = new SrsPps(_srs_clock);
SrsPps* _srs_pps_pub = new SrsPps(_srs_clock); SrsPps* _srs_pps_pub = new SrsPps(_srs_clock);
SrsPps* _srs_pps_conn = new SrsPps(_srs_clock);
extern SrsPps* _srs_pps_snack; extern SrsPps* _srs_pps_snack;
extern SrsPps* _srs_pps_snack2; extern SrsPps* _srs_pps_snack2;
@ -2266,8 +2267,12 @@ srs_error_t SrsRtcConnection::notify(int type, srs_utime_t interval, srs_utime_t
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
++_srs_pps_conn->sugar;
// For publisher to send NACK. // For publisher to send NACK.
if (type == SRS_TICKID_SEND_NACKS) { if (type == SRS_TICKID_SEND_NACKS) {
srs_update_system_time();
std::map<std::string, SrsRtcPublishStream*>::iterator it; std::map<std::string, SrsRtcPublishStream*>::iterator it;
for (it = publishers_.begin(); it != publishers_.end(); it++) { for (it = publishers_.begin(); it != publishers_.end(); it++) {
SrsRtcPublishStream* publisher = it->second; SrsRtcPublishStream* publisher = it->second;

@ -59,6 +59,7 @@ extern SrsPps* _srs_pps_rr;
extern SrsPps* _srs_pps_timer; extern SrsPps* _srs_pps_timer;
extern SrsPps* _srs_pps_pub; extern SrsPps* _srs_pps_pub;
extern SrsPps* _srs_pps_conn;
extern SrsPps* _srs_pps_snack; extern SrsPps* _srs_pps_snack;
extern SrsPps* _srs_pps_snack2; extern SrsPps* _srs_pps_snack2;
@ -670,16 +671,17 @@ srs_error_t SrsRtcServer::notify(int type, srs_utime_t interval, srs_utime_t tic
_srs_pps_pkts->update(); _srs_pps_addrs->update(); _srs_pps_fast_addrs->update(); _srs_pps_pkts->update(); _srs_pps_addrs->update(); _srs_pps_fast_addrs->update();
_srs_pps_ids->update(); _srs_pps_fids->update(); _srs_pps_fids_level0->update(); _srs_pps_ids->update(); _srs_pps_fids->update(); _srs_pps_fids_level0->update();
_srs_pps_pli->update(); _srs_pps_twcc->update(); _srs_pps_rr->update(); _srs_pps_pli->update(); _srs_pps_twcc->update(); _srs_pps_rr->update();
_srs_pps_timer->update(); _srs_pps_pub->update(); _srs_pps_timer->update(); _srs_pps_pub->update(); _srs_pps_conn->update();
_srs_pps_snack->update(); _srs_pps_snack2->update(); _srs_pps_sanack->update(); _srs_pps_svnack->update(); _srs_pps_snack->update(); _srs_pps_snack2->update(); _srs_pps_sanack->update(); _srs_pps_svnack->update();
_srs_pps_rnack->update(); _srs_pps_rnack2->update();
// TODO: FIXME: Show more data for RTC server. // 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, rtcp=%d,%d,%d, timer=%d,%d, snk=%d,%d,%d,%d, rnk=%d,%d", srs_trace("RTC: Server conns=%u, cpu=%.2f%%, rss=%dMB, pkts=%d, addrs=%d,%d, fid=%d,%d,%d, rtcp=%d,%d,%d, timer=%d,%d,%d, snk=%d,%d,%d,%d, rnk=%d,%d",
nn_rtc_conns, u->percent * 100, memory, nn_rtc_conns, u->percent * 100, memory,
_srs_pps_pkts->r10s(), _srs_pps_addrs->r10s(), _srs_pps_fast_addrs->r10s(), _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_ids->r10s(), _srs_pps_fids->r10s(), _srs_pps_fids_level0->r10s(),
_srs_pps_pli->r10s(), _srs_pps_twcc->r10s(), _srs_pps_rr->r10s(), _srs_pps_pli->r10s(), _srs_pps_twcc->r10s(), _srs_pps_rr->r10s(),
_srs_pps_timer->r10s(), _srs_pps_pub->r10s(), _srs_pps_timer->r10s(), _srs_pps_pub->r10s(), _srs_pps_conn->r10s(),
_srs_pps_snack->r10s(), _srs_pps_snack2->r10s(), _srs_pps_sanack->r10s(), _srs_pps_svnack->r10s(), _srs_pps_snack->r10s(), _srs_pps_snack2->r10s(), _srs_pps_sanack->r10s(), _srs_pps_svnack->r10s(),
_srs_pps_rnack->r10s(), _srs_pps_rnack2->r10s() _srs_pps_rnack->r10s(), _srs_pps_rnack2->r10s()
); );

Loading…
Cancel
Save