diff --git a/DMRSlot.cpp b/DMRSlot.cpp index 356c490..3dc8ecd 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -70,7 +70,6 @@ m_netN(0U), m_networkWatchdog(1000U, 0U, 1500U), m_rfTimeoutTimer(1000U, timeout), m_netTimeoutTimer(1000U, timeout), -m_packetTimer(1000U, 0U, 300U), m_interval(), m_elapsed(), m_rfFrames(0U), @@ -679,7 +678,6 @@ void CDMRSlot::writeEndNet(bool writeEnd) m_networkWatchdog.stop(); m_netTimeoutTimer.stop(); - m_packetTimer.stop(); m_netFrames = 0U; m_netLost = 0U; @@ -1031,8 +1029,6 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData) writeQueueNet(data); - m_packetTimer.start(); - m_netFrames++; // Save details in case we need to infill data @@ -1084,8 +1080,6 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData) writeQueueNet(data); - m_packetTimer.start(); - m_netFrames++; // Save details in case we need to infill data @@ -1236,21 +1230,15 @@ void CDMRSlot::clock() } if (m_netState == RS_NET_AUDIO) { - m_packetTimer.clock(ms); + unsigned int elapsed = m_elapsed.elapsed(); + unsigned int frames = elapsed / DMR_SLOT_TIME; - if (m_packetTimer.isRunning() && m_packetTimer.hasExpired()) { - unsigned int elapsed = m_elapsed.elapsed(); - unsigned int frames = elapsed / DMR_SLOT_TIME; - - if (frames > m_netFrames) { - unsigned int count = frames - m_netFrames; - if (count > 3U) { - LogDebug("DMR Slot %u, lost audio for 300ms filling in, elapsed: %ums, expected: %u, received: %u", m_slotNo, elapsed, frames, m_netFrames); - insertSilence(count - 1U); - } + if (frames > m_netFrames) { + unsigned int count = frames - m_netFrames; + if (count > 3U) { + LogDebug("DMR Slot %u, lost audio for over 200ms filling in, elapsed: %ums, expected: %u, received: %u", m_slotNo, elapsed, frames, m_netFrames); + insertSilence(count - 1U); } - - m_packetTimer.start(); } } } diff --git a/DMRSlot.h b/DMRSlot.h index c011c98..7136900 100644 --- a/DMRSlot.h +++ b/DMRSlot.h @@ -70,7 +70,6 @@ private: CTimer m_networkWatchdog; CTimer m_rfTimeoutTimer; CTimer m_netTimeoutTimer; - CTimer m_packetTimer; CStopWatch m_interval; CStopWatch m_elapsed; unsigned int m_rfFrames; diff --git a/DStarControl.cpp b/DStarControl.cpp index cb66c5b..a3e4f3c 100644 --- a/DStarControl.cpp +++ b/DStarControl.cpp @@ -56,7 +56,6 @@ m_netN(0U), m_networkWatchdog(1000U, 0U, 1500U), m_rfTimeoutTimer(1000U, timeout), m_netTimeoutTimer(1000U, timeout), -m_packetTimer(1000U, 0U, 200U), m_ackTimer(1000U, 0U, 750U), m_interval(), m_elapsed(), @@ -424,7 +423,6 @@ void CDStarControl::writeEndNet() m_netTimeoutTimer.stop(); m_networkWatchdog.stop(); - m_packetTimer.stop(); if (m_network != NULL) m_network->reset(); @@ -468,7 +466,6 @@ void CDStarControl::writeNetwork() m_netHeader = header; m_netTimeoutTimer.start(); - m_packetTimer.start(); m_elapsed.start(); m_ackTimer.stop(); @@ -544,7 +541,6 @@ void CDStarControl::writeNetwork() if (n == 0U) CSync::addDStarSync(data + 2U); - m_packetTimer.start(); m_netFrames++; #if defined(DUMP_DSTAR) @@ -589,21 +585,15 @@ void CDStarControl::clock() } if (m_netState == RS_NET_AUDIO) { - m_packetTimer.clock(ms); + unsigned int elapsed = m_elapsed.elapsed(); + unsigned int frames = elapsed / DSTAR_FRAME_TIME; - if (m_packetTimer.isRunning() && m_packetTimer.hasExpired()) { - unsigned int elapsed = m_elapsed.elapsed(); - unsigned int frames = elapsed / DSTAR_FRAME_TIME; - - if (frames > m_netFrames) { - unsigned int count = frames - m_netFrames; - if (count > 5U) { - LogDebug("D-Star, lost audio for 200ms filling in, elapsed: %ums, expected: %u, received: %u", elapsed, frames, m_netFrames); - insertSilence(count - 2U); - } + if (frames > m_netFrames) { + unsigned int count = frames - m_netFrames; + if (count > 10U) { + LogDebug("D-Star, lost audio for over 200ms filling in, elapsed: %ums, expected: %u, received: %u", elapsed, frames, m_netFrames); + insertSilence(count - 2U); } - - m_packetTimer.start(); } } } diff --git a/DStarControl.h b/DStarControl.h index 18e5e1a..5b0457d 100644 --- a/DStarControl.h +++ b/DStarControl.h @@ -65,7 +65,6 @@ private: CTimer m_networkWatchdog; CTimer m_rfTimeoutTimer; CTimer m_netTimeoutTimer; - CTimer m_packetTimer; CTimer m_ackTimer; CStopWatch m_interval; CStopWatch m_elapsed; diff --git a/YSFControl.cpp b/YSFControl.cpp index dfb8f7f..fea9bc2 100644 --- a/YSFControl.cpp +++ b/YSFControl.cpp @@ -33,7 +33,6 @@ m_rfState(RS_RF_LISTENING), m_netState(RS_NET_IDLE), m_rfTimeoutTimer(1000U, timeout), m_netTimeoutTimer(1000U, timeout), -m_packetTimer(1000U, 0U, 200U), m_networkWatchdog(1000U, 0U, 1500U), m_elapsed(), m_rfFrames(0U), @@ -353,7 +352,6 @@ void CYSFControl::writeEndNet() m_netTimeoutTimer.stop(); m_networkWatchdog.stop(); - m_packetTimer.stop(); m_netPayload.reset(); @@ -399,7 +397,6 @@ void CYSFControl::writeNetwork() m_netTimeoutTimer.start(); m_netPayload.reset(); - m_packetTimer.start(); m_elapsed.start(); m_netState = RS_NET_AUDIO; m_netFrames = 0U; @@ -516,7 +513,6 @@ void CYSFControl::writeNetwork() if (send) { writeQueueNet(data + 33U); - m_packetTimer.start(); m_netFrames++; m_netN = n; } @@ -545,21 +541,15 @@ void CYSFControl::clock(unsigned int ms) } if (m_netState == RS_NET_AUDIO) { - m_packetTimer.clock(ms); + unsigned int elapsed = m_elapsed.elapsed(); + unsigned int frames = elapsed / YSF_FRAME_TIME; - if (m_packetTimer.isRunning() && m_packetTimer.hasExpired()) { - unsigned int elapsed = m_elapsed.elapsed(); - unsigned int frames = elapsed / YSF_FRAME_TIME; - - if (frames > m_netFrames) { - unsigned int count = frames - m_netFrames; - if (count > 2U) { - LogDebug("YSF, lost audio for 200ms filling in, elapsed: %ums, expected: %u, received: %u", elapsed, frames, m_netFrames); - insertSilence(count - 1U); - } + if (frames > m_netFrames) { + unsigned int count = frames - m_netFrames; + if (count > 2U) { + LogDebug("YSF, lost audio for over 200ms filling in, elapsed: %ums, expected: %u, received: %u", elapsed, frames, m_netFrames); + insertSilence(count - 1U); } - - m_packetTimer.start(); } } } diff --git a/YSFControl.h b/YSFControl.h index caf3e69..95845bc 100644 --- a/YSFControl.h +++ b/YSFControl.h @@ -51,7 +51,6 @@ private: RPT_NET_STATE m_netState; CTimer m_rfTimeoutTimer; CTimer m_netTimeoutTimer; - CTimer m_packetTimer; CTimer m_networkWatchdog; CStopWatch m_elapsed; unsigned int m_rfFrames;