28 #include <ortp/port.h>
36 #define PAYLOAD_TYPE_ALLOCATED (1)
38 #define PAYLOAD_TYPE_PRIV1 (1<<1)
39 #define PAYLOAD_TYPE_PRIV2 (1<<2)
40 #define PAYLOAD_TYPE_PRIV3 (1<<3)
42 #define PAYLOAD_TYPE_USER_FLAG_0 (1<<4)
43 #define PAYLOAD_TYPE_USER_FLAG_1 (1<<5)
44 #define PAYLOAD_TYPE_USER_FLAG_2 (1<<6)
47 #define PAYLOAD_AUDIO_CONTINUOUS 0
48 #define PAYLOAD_AUDIO_PACKETIZED 1
49 #define PAYLOAD_VIDEO 2
50 #define PAYLOAD_TEXT 4
51 #define PAYLOAD_OTHER 3
70 #ifndef PayloadType_defined
71 #define PayloadType_defined
75 #define payload_type_set_flag(pt,flag) (pt)->flags|=((int)flag)
76 #define payload_type_unset_flag(pt,flag) (pt)->flags&=(~(int)flag)
77 #define payload_type_get_flags(pt) (pt)->flags
79 #define RTP_PROFILE_MAX_PAYLOADS 128
99 void payload_type_set_recv_fmtp(
PayloadType *pt,
const char *fmtp);
100 void payload_type_set_send_fmtp(
PayloadType *pt,
const char *fmtp);
101 void payload_type_append_recv_fmtp(
PayloadType *pt,
const char *fmtp);
102 void payload_type_append_send_fmtp(
PayloadType *pt,
const char *fmtp);
104 #define payload_type_get_bitrate(pt) ((pt)->normal_bitrate)
105 #define payload_type_get_rate(pt) ((pt)->clock_rate)
106 #define payload_type_get_mime(pt) ((pt)->mime_type)
108 bool_t fmtp_get_value(
const char *fmtp,
const char *param_name,
char *result,
size_t result_len);
112 #define payload_type_set_user_data(pt,p) (pt)->user_data=(p)
113 #define payload_type_get_user_data(pt) ((pt)->user_data)
115 #define rtp_profile_get_name(profile) (const char*)((profile)->name)
125 #define rtp_profile_clear_payload(profile,index) \
126 rtp_profile_set_payload(profile,index,NULL)
138 if (idx<0 || idx>=RTP_PROFILE_MAX_PAYLOADS) {
141 return prof->payload[idx];
144 void rtp_profile_set_name(
RtpProfile *prof,
const char *name);
147 int rtp_profile_get_payload_number_from_mime(
RtpProfile *profile,
const char *mime);
148 int rtp_profile_get_payload_number_from_rtpmap(
RtpProfile *profile,
const char *rtpmap);
149 int rtp_profile_find_payload_number(
RtpProfile *prof,
const char *mime,
int rate,
int channels);
151 int rtp_profile_move_payload(
RtpProfile *prof,
int oldpos,
int newpos);
153 RtpProfile * rtp_profile_new(
const char *name);
179 VAR_DECLSPEC
PayloadType payload_type_aal2_g726_40;
180 VAR_DECLSPEC
PayloadType payload_type_aal2_g726_32;
181 VAR_DECLSPEC
PayloadType payload_type_aal2_g726_24;
182 VAR_DECLSPEC
PayloadType payload_type_aal2_g726_16;
223 VAR_DECLSPEC
PayloadType payload_type_telephone_event;