From f841e0c37aa8a53a1f3b2ceeceb618ab31a9da30 Mon Sep 17 00:00:00 2001 From: winlin Date: Mon, 10 Aug 2020 15:35:17 +0800 Subject: [PATCH] RTC: Refien NACK code --- trunk/src/app/srs_app_rtc_conn.cpp | 74 +++++++++++++++--------------- 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index a492bcc9e..768b9b371 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -580,50 +580,48 @@ srs_error_t SrsRtcPlayStream::send_packets(SrsRtcStream* source, const vector& pkts, uint32_t ssrc, uint16_t seq) { - if (true) { - std::map::iterator it; - for (it = audio_tracks_.begin(); it != audio_tracks_.end(); ++it) { - SrsRtcAudioSendTrack* track = it->second; + for (map::iterator it = audio_tracks_.begin(); it != audio_tracks_.end(); ++it) { + SrsRtcAudioSendTrack* track = it->second; - // If track is inactive, not process nack request. - if (!track->get_track_status()){ - continue; - } - - if (track->has_ssrc(ssrc)) { - // update recv nack statistic - track->on_recv_nack(); - - SrsRtpPacket2* pkt = track->fetch_rtp_packet(seq); - if (pkt != NULL) { - pkts.push_back(pkt); - } - return; - } + // If track is inactive, not process nack request. + if (!track->get_track_status()){ + continue; } + + if (!track->has_ssrc(ssrc)) { + continue; + } + + // update recv nack statistic + track->on_recv_nack(); + + SrsRtpPacket2* pkt = track->fetch_rtp_packet(seq); + if (pkt != NULL) { + pkts.push_back(pkt); + } + return; } - if (true) { - std::map::iterator it; - for (it = video_tracks_.begin(); it != video_tracks_.end(); ++it) { - SrsRtcVideoSendTrack* track = it->second; + for (map::iterator it = video_tracks_.begin(); it != video_tracks_.end(); ++it) { + SrsRtcVideoSendTrack* track = it->second; - // If track is inactive, not process nack request. - if (!track->get_track_status()){ - continue; - } - - if (track->has_ssrc(ssrc)) { - // update recv nack statistic - track->on_recv_nack(); - - SrsRtpPacket2* pkt = track->fetch_rtp_packet(seq); - if (pkt != NULL) { - pkts.push_back(pkt); - } - return; - } + // If track is inactive, not process nack request. + if (!track->get_track_status()){ + continue; } + + if (!track->has_ssrc(ssrc)) { + continue; + } + + // update recv nack statistic + track->on_recv_nack(); + + SrsRtpPacket2* pkt = track->fetch_rtp_packet(seq); + if (pkt != NULL) { + pkts.push_back(pkt); + } + return; } }