blob: f49c7f6a2b43b6dcb4fb0fe2fd06efb6a09fe2d8 [file] [log] [blame]
Emeric Vigier2f625822012-08-06 11:09:52 -04001Copyright (c) 1999-2002 by Open Source Telecom Corporation.
2Verbatim copying and distribution of this entire article is permitted
3in any medium, provided this notice is preserved.
4
5Welcome to GNU ccRTP, the RTP protocol stack of GNU Common C++ and the
6GNU project. GNU ccRTP was created as a "generic" and high performance
7RTP stack and uses queued packet lists for both sending and receiving of
8realtime data. A single scheduler thread both schedules delivery of
9timestamped outgoing packets, and processes incoming packets into the
10receive queue. A seperate thread or process can then feed data into the
11stack for delivery and process pending requests without interfering with
12the stack service thread itself.
13
14By using queued packet buffers in linked lists it is possible to
15achieve jitter buffering and to mix and change payload types
16mid-stream without complicated buffer management. Jitter buffering
17can be achieved both by prebuffering packets before sending and by
18delaying processing of packets pending on the receive queue.
19
20This stack is being designed to support both RTP and RTCP, and is general
21purpose enough to use in audio and video conferencing, for building
22streaming media servers, and for internet telephony. Current releases of
23GNU ccRTP now support multicast networks as well as point to point RTP,
24multiple source connections, and many other advanced features. Any
25questions about ccrtp can be handled either in the GNU Common C++ mailing
26lists or thru ccrtp-devel@gnu.org.
27
28David
29