Drop duplicate packets
This commit is contained in:
parent
349cc43a1d
commit
04934c5dcc
20
DMRSlot.cpp
20
DMRSlot.cpp
|
@ -1353,10 +1353,10 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
||||||
m_netLost = 0U;
|
m_netLost = 0U;
|
||||||
}
|
}
|
||||||
|
|
||||||
insertSilence(data, dmrData.getN());
|
if (insertSilence(data, dmrData.getN())) {
|
||||||
|
if (!m_netTimeout)
|
||||||
if (!m_netTimeout)
|
writeQueueNet(data);
|
||||||
writeQueueNet(data);
|
}
|
||||||
|
|
||||||
m_netEmbeddedReadN = (m_netEmbeddedReadN + 1U) % 2U;
|
m_netEmbeddedReadN = (m_netEmbeddedReadN + 1U) % 2U;
|
||||||
m_netEmbeddedWriteN = (m_netEmbeddedWriteN + 1U) % 2U;
|
m_netEmbeddedWriteN = (m_netEmbeddedWriteN + 1U) % 2U;
|
||||||
|
@ -1505,10 +1505,10 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData)
|
||||||
m_netLost = 0U;
|
m_netLost = 0U;
|
||||||
}
|
}
|
||||||
|
|
||||||
insertSilence(data, dmrData.getN());
|
if (insertSilence(data, dmrData.getN())) {
|
||||||
|
if (!m_netTimeout)
|
||||||
if (!m_netTimeout)
|
writeQueueNet(data);
|
||||||
writeQueueNet(data);
|
}
|
||||||
|
|
||||||
m_packetTimer.start();
|
m_packetTimer.start();
|
||||||
m_elapsed.start();
|
m_elapsed.start();
|
||||||
|
@ -1989,6 +1989,10 @@ bool CDMRSlot::insertSilence(const unsigned char* data, unsigned char seqNo)
|
||||||
{
|
{
|
||||||
assert(data != NULL);
|
assert(data != NULL);
|
||||||
|
|
||||||
|
// Do not send duplicate
|
||||||
|
if (seqNo == m_netN)
|
||||||
|
return false;
|
||||||
|
|
||||||
// Check to see if we have any spaces to fill?
|
// Check to see if we have any spaces to fill?
|
||||||
unsigned char seq = (m_netN + 1U) % 6U;
|
unsigned char seq = (m_netN + 1U) % 6U;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue