include/ortp/payloadtype.h File Reference

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

#include <ortp/port.h>

Go to the source code of this file.

Data Structures

struct  _PayloadType
struct  _RtpProfile


#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_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 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)


typedef struct _PayloadType PayloadType
typedef struct _RtpProfile RtpProfile


PayloadType * payload_type_new (void)
PayloadType * payload_type_clone (PayloadType *payload)
char * payload_type_get_rtpmap (PayloadType *pt)
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)
void payload_type_append_recv_fmtp (PayloadType *pt, const char *fmtp)
void payload_type_append_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)
PayloadType * rtp_profile_get_payload_from_mime (RtpProfile *profile, const char *mime)
PayloadType * rtp_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, int channels)
PayloadType * rtp_profile_find_payload (RtpProfile *prof, const char *mime, int rate, int channels)
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)


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_l16_mono
VAR_DECLSPEC PayloadType payload_type_l16_stereo
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_lpc
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_h264
VAR_DECLSPEC PayloadType payload_type_t140
VAR_DECLSPEC PayloadType payload_type_telephone_event

Detailed Description

Using and creating standart and custom RTP profiles.

Define Documentation

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

Set payload type number unassigned in the profile.

profile an RTP profile
index the payload type number

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.

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
TRUE if the parameter was found, else FALSE.

void payload_type_destroy ( PayloadType *  pt  ) 

Frees a PayloadType.

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.

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.

void rtp_profile_clear_all ( RtpProfile obj  ) 

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

profile a RTP profile

void rtp_profile_set_name ( RtpProfile obj,
const char *  name 

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

profile a rtp profile object
nm a string

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.

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

Generated on Tue Feb 5 21:35:36 2008 for oRTP by  doxygen 1.5.4