Copyright (c) 1999-2002 by Open Source Telecom Corporation.
Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.

Welcome to GNU ccRTP, the RTP protocol stack of GNU Common C++ and the
GNU project.  GNU ccRTP was created as a "generic" and high performance 
RTP stack and uses queued packet lists for both sending and receiving of 
realtime data.  A single scheduler thread both schedules delivery of 
timestamped outgoing packets, and processes incoming packets into the 
receive queue.  A seperate thread or process can then feed data into the 
stack for delivery and process pending requests without interfering with 
the stack service thread itself.

By using queued packet buffers in linked lists it is possible to
achieve jitter buffering and to mix and change payload types
mid-stream without complicated buffer management.  Jitter buffering
can be achieved both by prebuffering packets before sending and by
delaying processing of packets pending on the receive queue.

This stack is being designed to support both RTP and RTCP, and is general 
purpose enough to use in audio and video conferencing, for building 
streaming media servers, and for internet telephony.  Current releases of 
GNU ccRTP now support multicast networks as well as point to point RTP, 
multiple source connections, and many other advanced features.  Any 
questions about ccrtp can be handled either in the GNU Common C++ mailing 
lists or thru ccrtp-devel@gnu.org.

David

