oRTP 0.16.3
Data Structures | Defines | Typedefs | Functions | Variables

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

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 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_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_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_t140
VAR_DECLSPEC PayloadType payload_type_x_udpftp
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.

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