From 1c715ff8b4f4859a062eab7441939d3067f9b8a9 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Sat, 13 Oct 2007 09:02:22 +0000 Subject: [PATCH] added comments about jitter/playout buffers git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@520 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- core/AmJitterBuffer.cpp | 9 +++++++++ core/AmPlayoutBuffer.cpp | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/core/AmJitterBuffer.cpp b/core/AmJitterBuffer.cpp index f25977c5..fb2b61f8 100644 --- a/core/AmJitterBuffer.cpp +++ b/core/AmJitterBuffer.cpp @@ -30,6 +30,15 @@ #include "log.h" #include "SampleArray.h" +// +// Warning: +// This jitter buffer seems to increase the buffer size, if jitter (delay variation) is +// present in the stream, or for example a temporary delay spike is detected, +// but it does not adapt the buffer to shrink again if the situation has improved. +// The adaptive playout buffer method usually shows much better results +// in minimizing the total playout delay (using more processing power though). +// + bool Packet::operator < (const Packet& p) const { return ts_less()(m_ts, p.m_ts); diff --git a/core/AmPlayoutBuffer.cpp b/core/AmPlayoutBuffer.cpp index b7c79a7b..00da5d1d 100644 --- a/core/AmPlayoutBuffer.cpp +++ b/core/AmPlayoutBuffer.cpp @@ -122,6 +122,14 @@ void AmPlayoutBuffer::buffer_get(unsigned int ts, ShortSample* buf, unsigned int r_ts = ts + len; } +// +// See: Y. J. Liang, N. Farber, and B. Girod. Adaptive playout scheduling +// and loss concealment for voice communication over IP networks. Submitted +// to IEEE Transactions on Multimedia, Feb. 2001. +// Online at: +// http://www-ise.stanford.edu/yiliang/publications/ +// http://citeseer.ist.psu.edu/liang02adaptive.html +// AmAdaptivePlayout::AmAdaptivePlayout(AmPLCBuffer *plcbuffer) : AmPlayoutBuffer(plcbuffer), idx(0),