A Jitter Buffer is a mechanism employed by real-time media applications to eliminate the effects of DelayVariation introduced by networks and end-systems. Packets - which are assumed to be timestamped, as in the RealTimeTransportProtocol (RTP) are held in the jitter buffer until their playout time has arrived. In this way, jitter buffers convert delay variations into delay. Large jitter buffers can cope with large variations in delay, but at the cost of increasing delay significantly. Smart applications adapt the size of the jitter buffer to the amount of delay variation observed.
Jitter buffer implementations in today's real-time applications are often slightly naive, and don't handle PacketReordering gracefully. This can lead to bad performance when networks do reorder packets, which is not all that uncommon.
– Main.SimonLeinen - 28 Oct 2004