include/ortp/payloadtype.h File Reference

Using and creating standart and custom RTP profiles. More...

#include <ortp/port.h>

Include dependency graph for payloadtype.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _PayloadType
struct  _RtpProfile

Defines

#define PAYLOAD_TYPE_ALLOCATED   (1)
#define PAYLOAD_TYPE_PRIV1   (1<<1)
#define PAYLOAD_TYPE_PRIV2   (1<<2)
#define PAYLOAD_TYPE_PRIV3   (1<<3)
#define PAYLOAD_TYPE_USER_FLAG_0   (1<<4)
#define PAYLOAD_TYPE_USER_FLAG_1   (1<<5)
#define PAYLOAD_TYPE_USER_FLAG_2   (1<<6)
#define PAYLOAD_AUDIO_CONTINUOUS   0
#define PAYLOAD_AUDIO_PACKETIZED   1
#define PAYLOAD_VIDEO   2
#define PAYLOAD_OTHER   3
#define payload_type_set_flag(pt, flag)   (pt)->flags|=((int)flag)
#define payload_type_unset_flag(pt, flag)   (pt)->flags&=(~(int)flag)
#define payload_type_get_flags(pt)   (pt)->flags
#define RTP_PROFILE_MAX_PAYLOADS   128
#define payload_type_set_user_data(pt, p)   (pt)->user_data=(p)
#define payload_type_get_user_data(pt)   ((pt)->user_data)
#define rtp_profile_get_name(profile)   (const char*)((profile)->name)
#define rtp_profile_clear_payload(profile, index)   rtp_profile_set_payload(profile,index,NULL)

Typedefs

typedef _PayloadType PayloadType
typedef _RtpProfile RtpProfile

Functions

PayloadTypepayload_type_new (void)
PayloadTypepayload_type_clone (PayloadType *payload)
void payload_type_destroy (PayloadType *pt)
void payload_type_set_recv_fmtp (PayloadType *pt, const char *fmtp)
void payload_type_set_send_fmtp (PayloadType *pt, const char *fmtp)
bool_t fmtp_get_value (const char *fmtp, const char *param_name, char *result, size_t result_len)
void rtp_profile_set_payload (RtpProfile *prof, int idx, PayloadType *pt)
void rtp_profile_clear_all (RtpProfile *prof)
void rtp_profile_set_name (RtpProfile *prof, const char *name)
PayloadTypertp_profile_get_payload_from_mime (RtpProfile *profile, const char *mime)
PayloadTypertp_profile_get_payload_from_rtpmap (RtpProfile *profile, const char *rtpmap)
int rtp_profile_get_payload_number_from_mime (RtpProfile *profile, const char *mime)
int rtp_profile_get_payload_number_from_rtpmap (RtpProfile *profile, const char *rtpmap)
int rtp_profile_find_payload_number (RtpProfile *prof, const char *mime, int rate)
PayloadTypertp_profile_find_payload (RtpProfile *prof, const char *mime, int rate)
int rtp_profile_move_payload (RtpProfile *prof, int oldpos, int newpos)
RtpProfilertp_profile_new (const char *name)
RtpProfilertp_profile_clone (RtpProfile *prof)
RtpProfilertp_profile_clone_full (RtpProfile *prof)
void rtp_profile_destroy (RtpProfile *prof)

Variables

VAR_DECLSPEC RtpProfile av_profile
VAR_DECLSPEC PayloadType payload_type_pcmu8000
VAR_DECLSPEC PayloadType payload_type_pcma8000
VAR_DECLSPEC PayloadType payload_type_pcm8000
VAR_DECLSPEC PayloadType payload_type_lpc1016
VAR_DECLSPEC PayloadType payload_type_g729
VAR_DECLSPEC PayloadType payload_type_g7231
VAR_DECLSPEC PayloadType payload_type_gsm
VAR_DECLSPEC PayloadType payload_type_lpc1015
VAR_DECLSPEC PayloadType payload_type_speex_nb
VAR_DECLSPEC PayloadType payload_type_speex_wb
VAR_DECLSPEC PayloadType payload_type_ilbc
VAR_DECLSPEC PayloadType payload_type_amr
VAR_DECLSPEC PayloadType payload_type_amrwb
VAR_DECLSPEC PayloadType payload_type_truespeech
VAR_DECLSPEC PayloadType payload_type_evrc0
VAR_DECLSPEC PayloadType payload_type_mpv
VAR_DECLSPEC PayloadType payload_type_h261
VAR_DECLSPEC PayloadType payload_type_h263
VAR_DECLSPEC PayloadType payload_type_h263_1998
VAR_DECLSPEC PayloadType payload_type_h263_2000
VAR_DECLSPEC PayloadType payload_type_mp4v
VAR_DECLSPEC PayloadType payload_type_theora
VAR_DECLSPEC PayloadType payload_type_telephone_event


Detailed Description

Using and creating standart and custom RTP profiles.

Definition in file payloadtype.h.


Define Documentation

#define rtp_profile_clear_payload ( profile,
index   )     rtp_profile_set_payload(profile,index,NULL)

Set payload type number unassigned in the profile.

Parameters:
profile an RTP profile
index the payload type number

Definition at line 116 of file payloadtype.h.


Function Documentation

bool_t fmtp_get_value ( const char *  fmtp,
const char *  param_name,
char *  result,
size_t  result_len 
)

Parses a fmtp string such as "profile=0;level=10", finds the value matching parameter param_name, and writes it into result. Despite fmtp strings are not used anywhere within oRTP, this function can be useful for people using RTP streams described from SDP.

Parameters:
fmtp the fmtp line (format parameters)
param_name the parameter to search for
result the value given for the parameter (if found)
result_len the size allocated to hold the result string
Returns:
TRUE if the parameter was found, else FALSE.

Definition at line 112 of file payloadtype.c.

void payload_type_destroy ( PayloadType pt  ) 

Frees a PayloadType.

Definition at line 93 of file payloadtype.c.

References _PayloadType::mime_type, _PayloadType::recv_fmtp, and _PayloadType::send_fmtp.

void payload_type_set_recv_fmtp ( PayloadType pt,
const char *  fmtp 
)

Sets a recv parameters (fmtp) for the PayloadType. This method is provided for applications using RTP with SDP, but actually the ftmp information is not used for RTP processing.

Definition at line 69 of file payloadtype.c.

References _PayloadType::recv_fmtp.

void payload_type_set_send_fmtp ( PayloadType pt,
const char *  fmtp 
)

Sets a send parameters (fmtp) for the PayloadType. This method is provided for applications using RTP with SDP, but actually the ftmp information is not used for RTP processing.

Definition at line 82 of file payloadtype.c.

References _PayloadType::send_fmtp.

void rtp_profile_clear_all ( RtpProfile obj  ) 

Initialize the profile to the empty profile (all payload type are unassigned).

Parameters:
profile a RTP profile

Definition at line 247 of file payloadtype.c.

References _RtpProfile::payload, and RTP_PROFILE_MAX_PAYLOADS.

void rtp_profile_set_name ( RtpProfile obj,
const char *  name 
)

Set a name to the rtp profile. (This is not required)

Parameters:
profile a rtp profile object
nm a string

Definition at line 261 of file payloadtype.c.

References _RtpProfile::name.

void rtp_profile_set_payload ( RtpProfile prof,
int  idx,
PayloadType pt 
)

Assign payload type number index to payload type desribed in pt for the RTP profile profile.

Parameters:
profile a RTP profile
idx the payload type number
pt the payload type description

Definition at line 234 of file payloadtype.c.

References _RtpProfile::payload, and RTP_PROFILE_MAX_PAYLOADS.


Generated on Fri Jun 22 17:30:32 2007 for oRTP by  doxygen 1.5.2