mirror of
https://github.com/g4klx/MMDVMHost.git
synced 2026-04-05 06:25:24 +00:00
Revert packet timer changes.
This commit is contained in:
parent
f18c505852
commit
2a53923c9a
6 changed files with 56 additions and 21 deletions
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue