From 96589f8a7ef31a271d286b8b24d1f101d90fe79a Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 3 Mar 2016 09:18:52 +0000 Subject: [PATCH] Only use the AMBE silence frame if it's AMBE data! --- DMRSlot.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/DMRSlot.cpp b/DMRSlot.cpp index 2cc676b..8ea373c 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -1300,9 +1300,14 @@ void CDMRSlot::insertSilence(unsigned int count) unsigned char n = (m_netN + 1U) % 6U; unsigned char seqNo = m_netSeqNo + 1U; + unsigned char fid = m_netLC->getFID(); + for (unsigned int i = 0U; i < count; i++) { - if (i > 0U) - ::memcpy(data, DMR_SILENCE_DATA, DMR_FRAME_LENGTH_BYTES + 2U); + // Only use our silence frame if its AMBE audio data + if (fid == FID_ETSI || fid == FID_DMRA) { + if (i > 0U) + ::memcpy(data, DMR_SILENCE_DATA, DMR_FRAME_LENGTH_BYTES + 2U); + } if (n == 0U) { CSync::addDMRAudioSync(data + 2U);