mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-23 00:35:53 +08:00
Revert packet timer changes.
This commit is contained in:
26
DMRSlot.cpp
26
DMRSlot.cpp
@@ -70,6 +70,7 @@ 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),
|
||||
@@ -678,6 +679,7 @@ void CDMRSlot::writeEndNet(bool writeEnd)
|
||||
|
||||
m_networkWatchdog.stop();
|
||||
m_netTimeoutTimer.stop();
|
||||
m_packetTimer.stop();
|
||||
|
||||
m_netFrames = 0U;
|
||||
m_netLost = 0U;
|
||||
@@ -1029,6 +1031,8 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
||||
|
||||
writeQueueNet(data);
|
||||
|
||||
m_packetTimer.start();
|
||||
|
||||
m_netFrames++;
|
||||
|
||||
// Save details in case we need to infill data
|
||||
@@ -1080,6 +1084,8 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
||||
|
||||
writeQueueNet(data);
|
||||
|
||||
m_packetTimer.start();
|
||||
|
||||
m_netFrames++;
|
||||
|
||||
// Save details in case we need to infill data
|
||||
@@ -1230,15 +1236,21 @@ void CDMRSlot::clock()
|
||||
}
|
||||
|
||||
if (m_netState == RS_NET_AUDIO) {
|
||||
unsigned int elapsed = m_elapsed.elapsed();
|
||||
unsigned int frames = elapsed / DMR_SLOT_TIME;
|
||||
m_packetTimer.clock(ms);
|
||||
|
||||
if (frames > m_netFrames) {
|
||||
unsigned int count = frames - m_netFrames;
|
||||
if (count > (300U / DMR_SLOT_TIME)) {
|
||||
LogMessage("DMR Slot %u, lost audio for over 300ms filling in, elapsed: %ums, expected: %u, received: %u", m_slotNo, elapsed, frames, m_netFrames);
|
||||
insertSilence(count - 1U);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
m_packetTimer.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user