Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

rtp.h File Reference

General purpose interface of ccRTP. More...

Go to the source code of this file.

Compounds

struct  RTPData::dataCounter
class  Members
class  MembershipControl
 Controls the group membership in the current session. More...

class  QueueRTCPManager
 Management of RTCP functions. More...

class  RTPData
 Interface to data received over RTP packets. More...

class  RTPDuplex
 RTP peer host over UDP. More...

class  RTPQueue
 RTP protocol queue handler. More...

class  RTPSource
 A class of objects representing sources of RTP and RTCP packets. More...

class  T_RTPSocket
 RTP protocol stack based on Common C++. More...

class  UDPIPv4Socket
 Socket for RTP stack based on UDP and IPv4. More...


Typedefs

typedef uint32 microtimeout_t
typedef uint32 nanotimeout_t
typedef T_RTPSocket< QueueRTCPManager,
UDPIPv4Socket, UDPIPv4Socket
RTPSocket

Enumerations

enum  rtp_payload_t {
  RTP_PAYLOAD_PCMU = 0, RTP_PAYLOAD_1016, RTP_PAYLOAD_G726, RTP_PAYLOAD_GSM,
  RTP_PAYLOAD_G723, RTP_PAYLOAD_DVI4_8000, RTP_PAYLOAD_DVI4_16000, RTP_PAYLOAD_LPC,
  RTP_PAYLOAD_PCMA, RTP_PAYLOAD_G722, RTP_PAYLOAD_L16_DUAL, RTP_PAYLOAD_L16_MONO,
  RTP_PAYLOAD_QCELP, RTP_PAYLOAD_MPA = 14, RTP_PAYLOAD_G728, RTP_PAYLOAD_DVI4_11025,
  RTP_PAYLOAD_DVI4_22050, RTP_PAYLOAD_G729, RTP_PAYLOAD_CELB = 25, RTP_PAYLOAD_JPEG,
  RTP_PAYLOAD_NV = 28, RTP_PAYLOAD_H261 = 31, RTP_PAYLOAD_MPV, RTP_PAYLOAD_MP2T,
  RTP_PAYLOAD_H263, RTP_PAYLOAD_INVALID = 128, RTP_PAYLOAD_G726_40, RTP_PAYLOAD_G726_24,
  RTP_PAYLOAD_G726_16, RTP_PAYLOAD_G729D, RTP_PAYLOAD_G729E, RTP_PAYLOAD_GSM_EFR,
  RTP_PAYLOAD_L8, RTP_PAYLOAD_RED, RTP_PAYLOAD_VDVI, RTP_PAYLOAD_BT656,
  RTP_PAYLOAD_H263_1998, RTP_PAYLOAD_MP1S, RTP_PAYLOAD_MP2P, RTP_PAYLOAD_BMPEG,
  RTP_PAYLOAD_EMPTY
}
 RTP static payload types. More...

enum  rtcp_type_t {
  RTCP_TYPE_SR = 200, RTCP_TYPE_RR, RTCP_TYPE_SDES, RTCP_TYPE_BYE,
  RTCP_TYPE_APP
}
enum  sdes_item_type_t {
  RTCP_SDES_ITEM_END = 0, RTCP_SDES_ITEM_CNAME, RTCP_SDES_ITEM_NAME, RTCP_SDES_ITEM_EMAIL,
  RTCP_SDES_ITEM_PHONE, RTCP_SDES_ITEM_LOC, RTCP_SDES_ITEM_TOOL, RTCP_SDES_ITEM_NOTE,
  RTCP_SDES_ITEM_PRIV, RTCP_SDES_ITEM_H323_CADDR
}
enum  type_of_service_t { BEST_EFFORT_SERVICE, ENHANCED_SERVICE }
 Type of network service the application uses. More...

enum  rtp_purge_t { RTP_PURGE_SEND, RTP_PURGE_RECV, RTP_PURGE_BOTH }
 Flags to select wheter to purge the transmission, reception or both queues. More...

enum  rtp_cast_t { CAST_MCAST, CAST_UCAST }

Variables

const uint8 RTP_VERSION = 2


Detailed Description

General purpose interface of ccRTP.

Definition in file rtp.h.


Typedef Documentation

typedef T_RTPSocket<QueueRTCPManager,UDPIPv4Socket,UDPIPv4Socket> RTPSocket
 

Examples:
audiorx.cpp, audiotx.cpp, and rtphello.cpp.

Definition at line 2378 of file rtp.h.

typedef uint32 microtimeout_t
 

Definition at line 61 of file rtp.h.

typedef uint32 nanotimeout_t
 

Definition at line 64 of file rtp.h.


Enumeration Type Documentation

enum rtcp_type_t
 

rtp.h cc++/rtp.h

RTCP packet types. These codes were initially specified in RFC 1889.

Enumeration values:
RTCP_TYPE_SR   Sender Report.
RTCP_TYPE_RR   Receiver Report.
RTCP_TYPE_SDES   Source DEScription.
RTCP_TYPE_BYE   End of participation.
RTCP_TYPE_APP   APPlication specific.

Definition at line 133 of file rtp.h.

enum rtp_cast_t
 

Enumeration values:
CAST_MCAST  
CAST_UCAST  

Definition at line 202 of file rtp.h.

enum rtp_payload_t
 

RTP static payload types.

rtp.h cc++/rtp.h

RTP Payload Types (usually referred to as PT) for standard audio and video encodings. These codes were initially specified in RFC 1890, ``RTP Profile for Audio and Video Conferences with Minimal Control.'' Codes below 96 may be assigned statically, although some of them are already reserverd. Codes in the range 96-127 are assigned dinamically by means outside of the RTP profile or protocol specification.

Enumeration values:
RTP_PAYLOAD_PCMU   ITU-T G.711. $\mu-$law audio (RFC 1890).
RTP_PAYLOAD_1016   CELP audio (FED-STD 1016) (RFC 1890) (Will soon be deprecated).
RTP_PAYLOAD_G726   ITU-T G.726. ADPCM audio (RFC 1890).
RTP_PAYLOAD_GSM   GSM audio (RFC 1890).
RTP_PAYLOAD_G723   ITU-T G.723. MP-MLQ ACELP audio (RFC 1890).
RTP_PAYLOAD_DVI4_8000   Modified IMA ADPCM audio 8Khz (RFC 1890).
RTP_PAYLOAD_DVI4_16000   Modified IMA ADPCM audio 16Khz (RFC 1890).
RTP_PAYLOAD_LPC   LPC audio (RFC 1890).
RTP_PAYLOAD_PCMA   ITU-T G.711 A-law audio (RFC 1890).
RTP_PAYLOAD_G722   Audio (RFCs 1890, 3047).
RTP_PAYLOAD_L16_DUAL   Linear uncompressed dual audio (RFC 1890).
RTP_PAYLOAD_L16_MONO   Linear uncompressed mono audio (RFC 1890).
RTP_PAYLOAD_QCELP   Audio at 8000 hz.
RTP_PAYLOAD_MPA   MPEG Audio elem. stream (RFCs 1890, 2250).
RTP_PAYLOAD_G728   ITU-T G.728. LD-CELP audio.
RTP_PAYLOAD_DVI4_11025   DVI audio at 11025 hz (by Joseph Di Pol).
RTP_PAYLOAD_DVI4_22050   DVI audio at 22050 hz (by Joseph Di Pol).
RTP_PAYLOAD_G729   ITU-T G.729. CS-ACELP audio.
RTP_PAYLOAD_CELB   Sun's propietary audio. (RFCs 1890, 2029).
RTP_PAYLOAD_JPEG   JPEG (ISO 10918) video (RFCs 1890, 2435).
RTP_PAYLOAD_NV   Ron Frederick's nv audio (RFC 1890).
RTP_PAYLOAD_H261   ITU-T H.261 video (RFCs 1890, 2032).
RTP_PAYLOAD_MPV   MPEG Video elem. stream (RFCs 1890, 2250).
RTP_PAYLOAD_MP2T   MPEG 2 Transport stream (RFCs 1890, 2250).
RTP_PAYLOAD_H263   ITU-T H.263 video (RFCcs 2190, 2429).
RTP_PAYLOAD_INVALID  
RTP_PAYLOAD_G726_40  
RTP_PAYLOAD_G726_24  
RTP_PAYLOAD_G726_16  
RTP_PAYLOAD_G729D  
RTP_PAYLOAD_G729E  
RTP_PAYLOAD_GSM_EFR  
RTP_PAYLOAD_L8  
RTP_PAYLOAD_RED  
RTP_PAYLOAD_VDVI  
RTP_PAYLOAD_BT656   ITU BT.656-3 video (RFC 2431).
RTP_PAYLOAD_H263_1998   1998 version of H.263 video (RFC 2429).
RTP_PAYLOAD_MP1S   MPEG Systems stream.
RTP_PAYLOAD_MP2P   MPEG 2 Program stream.
RTP_PAYLOAD_BMPEG   Bundled MPEG (RFC 2343).
RTP_PAYLOAD_EMPTY   "empty" payload.

Definition at line 82 of file rtp.h.

enum rtp_purge_t
 

Flags to select wheter to purge the transmission, reception or both queues.

rtp.h cc++/rtp.h

Intended to be used when calling RTPQueue::Purge

Enumeration values:
RTP_PURGE_SEND   Purge only packets in the sending queue.
RTP_PURGE_RECV   Purge only packets in the reception queue.
RTP_PURGE_BOTH   Purge all packets.

Definition at line 195 of file rtp.h.

enum sdes_item_type_t
 

rtp.h cc++/rtp.h

SDES items that may be carried in a Source DEScription RTCP packet. CNAME is mandatory, the rest are optional and have different sending frequencies.

Enumeration values:
RTCP_SDES_ITEM_END   END of SDES item list.
RTCP_SDES_ITEM_CNAME   Canonical end-point identifier.
RTCP_SDES_ITEM_NAME   Personal NAME of the user.
RTCP_SDES_ITEM_EMAIL   EMAIL address of the user.
RTCP_SDES_ITEM_PHONE   Phone number of the user.
RTCP_SDES_ITEM_LOC   Location where the user is.
RTCP_SDES_ITEM_TOOL   Application or tool.
RTCP_SDES_ITEM_NOTE   Comment usually reporting state.
RTCP_SDES_ITEM_PRIV   Private extension.
RTCP_SDES_ITEM_H323_CADDR   H323 callable address.

Definition at line 149 of file rtp.h.

enum type_of_service_t
 

Type of network service the application uses.

rtp.h cc++/rtp.h

If the application uses enhanced network service, for instance Integrated Services or Differentiated Services, it has not to ensure fair competition with TCP, provided that the requested service is actually being delivered. Whenever the application uses best-effort service or the requested enhanced service is not actually being delivered, it has to ensure fair competition with TCP. By default, best-effot is assumed.

Note:
Although not required, RTP packets are always sent on top of UDP segments. No other underlying transport protocol is supported at present.
Todo:
implement fair competition with tcp
Enumeration values:
BEST_EFFORT_SERVICE   Best-effort network service.
ENHANCED_SERVICE   Enhanced network service.

Definition at line 181 of file rtp.h.


Variable Documentation

const uint8 RTP_VERSION = 2
 

Definition at line 58 of file rtp.h.


Generated at Tue Oct 16 11:17:52 2001 for ccRTP by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001