oRTP  0.20.0
Data Structures | Macros | Typedefs | Functions | Variables
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

Macros

#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_TEXT   4
#define PAYLOAD_OTHER   3 /* ?? */
#define PayloadType_defined
#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_get_bitrate(pt)   ((pt)->normal_bitrate)
#define payload_type_get_rate(pt)   ((pt)->clock_rate)
#define payload_type_get_mime(pt)   ((pt)->mime_type)
#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 struct _PayloadType PayloadType
typedef struct _RtpProfile RtpProfile

Functions

PayloadTypepayload_type_new (void)
PayloadTypepayload_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)
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, int channels)
PayloadTypertp_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)

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_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_g7221
VAR_DECLSPEC PayloadType payload_type_g726_40
VAR_DECLSPEC PayloadType payload_type_g726_32
VAR_DECLSPEC PayloadType payload_type_g726_24
VAR_DECLSPEC PayloadType payload_type_g726_16
VAR_DECLSPEC PayloadType payload_type_aal2_g726_40
VAR_DECLSPEC PayloadType payload_type_aal2_g726_32
VAR_DECLSPEC PayloadType payload_type_aal2_g726_24
VAR_DECLSPEC PayloadType payload_type_aal2_g726_16
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_speex_uwb
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_evrcb0
VAR_DECLSPEC PayloadType payload_type_silk_nb
VAR_DECLSPEC PayloadType payload_type_silk_mb
VAR_DECLSPEC PayloadType payload_type_silk_wb
VAR_DECLSPEC PayloadType payload_type_silk_swb
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_x_snow
VAR_DECLSPEC PayloadType payload_type_jpeg
VAR_DECLSPEC PayloadType payload_type_vp8
VAR_DECLSPEC PayloadType payload_type_g722
VAR_DECLSPEC PayloadType payload_type_t140
VAR_DECLSPEC PayloadType payload_type_t140_red
VAR_DECLSPEC PayloadType payload_type_x_udpftp
VAR_DECLSPEC PayloadType payload_type_telephone_event

Detailed Description

Using and creating standart and custom RTP profiles.

Macro Definition Documentation

#define rtp_profile_clear_payload (   profile,
  index 
)    rtp_profile_set_payload(profile,index,NULL)
    Set payload type number @index unassigned in the profile.
Parameters
profilean RTP profile
indexthe 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.

Parameters
fmtpthe fmtp line (format parameters)
param_namethe parameter to search for
resultthe value given for the parameter (if found)
result_lenthe size allocated to hold the result string
Returns
TRUE if the parameter was found, else FALSE.
void payload_type_destroy ( PayloadType pt)

Frees a PayloadType.

References _PayloadType::mime_type.

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).

Parameters
profilea RTP profile
void rtp_profile_set_name ( RtpProfile obj,
const char *  name 
)

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

Parameters
profilea rtp profile object
nma 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.
Parameters
profilea RTP profile
idxthe payload type number
ptthe payload type description