From 89259ba44d944d94ac1b09985cb4ee9dafa3ad85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Wed, 4 Sep 2024 15:23:35 +0200 Subject: [PATCH] Restored split else-if --- srtcore/core.cpp | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/srtcore/core.cpp b/srtcore/core.cpp index 77da60623..c92c0877e 100644 --- a/srtcore/core.cpp +++ b/srtcore/core.cpp @@ -7948,30 +7948,27 @@ void srt::CUDT::sendCtrl(UDTMessageType pkttype, const int32_t* lparam, void* rp leaveCS(m_StatsLock); } // Call with no arguments - get loss list from internal data. - else + else if (m_pRcvLossList->getLossLength() > 0) { - if (m_pRcvLossList->getLossLength() > 0) - { - // this is periodically NAK report; make sure NAK cannot be sent back too often - - // read loss list from the local receiver loss list - int32_t *data = new int32_t[m_iMaxSRTPayloadSize / 4]; - int losslen; - m_pRcvLossList->getLossArray(data, losslen, m_iMaxSRTPayloadSize / 4); + // this is periodically NAK report; make sure NAK cannot be sent back too often - if (0 < losslen) - { - ctrlpkt.pack(pkttype, NULL, data, losslen * 4); - ctrlpkt.set_id(m_PeerID); - nbsent = m_pSndQueue->sendto(m_PeerAddr, ctrlpkt, m_SourceAddr); + // read loss list from the local receiver loss list + int32_t *data = new int32_t[m_iMaxSRTPayloadSize / 4]; + int losslen; + m_pRcvLossList->getLossArray(data, losslen, m_iMaxSRTPayloadSize / 4); - enterCS(m_StatsLock); - m_stats.rcvr.sentNak.count(1); - leaveCS(m_StatsLock); - } + if (0 < losslen) + { + ctrlpkt.pack(pkttype, NULL, data, losslen * 4); + ctrlpkt.set_id(m_PeerID); + nbsent = m_pSndQueue->sendto(m_PeerAddr, ctrlpkt, m_SourceAddr); - delete[] data; + enterCS(m_StatsLock); + m_stats.rcvr.sentNak.count(1); + leaveCS(m_StatsLock); } + + delete[] data; } // update next NAK time, which should wait enough time for the retansmission, but not too long