From 2ced495723cd79c7a3d1a6bcce9f4cd601dd25d1 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Tue, 28 Nov 2017 10:03:41 +0000 Subject: [PATCH] Revert "Add extra logging and re-do the initial timer." This reverts commit edfda9d2f6af8cdd4aac9c8aa9ffb2db0f97b61b. --- JitterBuffer.cpp | 21 +++++++-------------- JitterBuffer.h | 3 +-- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/JitterBuffer.cpp b/JitterBuffer.cpp index 6667385..e15f08f 100644 --- a/JitterBuffer.cpp +++ b/JitterBuffer.cpp @@ -35,8 +35,7 @@ m_stopWatch(), m_buffer(NULL), m_headSequenceNumber(0U), m_lastData(NULL), -m_lastDataLength(0U), -m_running(false) +m_lastDataLength(0U) { assert(blockSize > 0U); assert(blockTime > 0U); @@ -99,7 +98,7 @@ bool CJitterBuffer::addData(const unsigned char* data, unsigned int length, unsi // Do we already have the data? if (m_buffer[index].m_length > 0U) { if (m_debug) - LogDebug("JitterBuffer: rejecting duplicate frame with seqNo=%u, raw=%u, head=%u, tail=%u", sequenceNumber, m_headSequenceNumber, headSequenceNumber, tailSequenceNumber); + LogDebug("JitterBuffer: rejecting frame with seqNo=%u, already exists", sequenceNumber); return false; } @@ -116,8 +115,10 @@ JB_STATUS CJitterBuffer::getData(unsigned char* data, unsigned int& length) { assert(data != NULL); - if (!m_running) + if (!m_timer.isRunning() || !m_timer.hasExpired()) { + m_stopWatch.start(); return JBS_NO_DATA; + } unsigned int sequenceNumber = m_stopWatch.elapsed() / m_blockTime; if (m_headSequenceNumber > sequenceNumber) @@ -140,8 +141,8 @@ JB_STATUS CJitterBuffer::getData(unsigned char* data, unsigned int& length) return JBS_DATA; } - if (m_debug) - LogDebug("JitterBuffer: no data available, elapsed=%ums, raw=%u, head=%u", m_stopWatch.elapsed(), m_headSequenceNumber - 1U, head); + if (m_debug) + LogDebug("JitterBuffer: no data available, elapsed=%ums, raw=%u, head=%u", m_stopWatch.elapsed(), m_headSequenceNumber - 1U, head); // Return the last data frame if we have it if (m_lastDataLength > 0U) { @@ -164,17 +165,9 @@ void CJitterBuffer::reset() m_lastDataLength = 0U; m_timer.stop(); - - m_running = false; } void CJitterBuffer::clock(unsigned int ms) { m_timer.clock(ms); - if (m_timer.isRunning() && m_timer.hasExpired()) { - if (!m_running) { - m_stopWatch.start(); - m_running = true; - } - } } diff --git a/JitterBuffer.h b/JitterBuffer.h index 37471e6..1f5c5e7 100644 --- a/JitterBuffer.h +++ b/JitterBuffer.h @@ -49,8 +49,7 @@ private: unsigned int m_blockCount; CTimer m_timer; CStopWatch m_stopWatch; - bool m_running; - + struct JitterEntry { unsigned char* m_data;