blob: f49c7f6a2b43b6dcb4fb0fe2fd06efb6a09fe2d8 [file] [log] [blame]
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