00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00026 #ifndef FSDP_FORMATTER_H
00027 #define FSDP_FORMATTER_H
00028
00029 #include <freesdp/common.h>
00030
00031 BEGIN_C_DECLS
00032
00059 fsdp_error_t
00060 fsdp_make_description(fsdp_description_t **dsc,
00061 unsigned int sdp_version,
00062 const char *session_name, const char *session_id,
00063 const char *announcement_version,
00064 const char *owner_username,
00065 fsdp_network_type_t owner_nt,
00066 fsdp_address_type_t owner_at,
00067 const char *owner_address,
00068 time_t start, time_t stop);
00069
00081 fsdp_error_t
00082 fsdp_format(const fsdp_description_t *dsc, char **text_description);
00083
00092 fsdp_error_t
00093 fsdp_format_bounded(const fsdp_description_t *dsc, char *text_description,
00094 size_t maxsize);
00095
00103 fsdp_error_t
00104 fsdp_set_information(fsdp_description_t *dsc, const char *info);
00105
00114 fsdp_error_t
00115 fsdp_set_uri(fsdp_description_t *dsc, const char *uri);
00116
00128 fsdp_error_t
00129 fsdp_add_email(fsdp_description_t *dsc, char *email);
00130
00142 fsdp_error_t
00143 fsdp_add_phone(fsdp_description_t *dsc, char *phone);
00144
00159 fsdp_error_t
00160 fsdp_set_conn_address(fsdp_description_t *dsc, fsdp_network_type_t nt,
00161 fsdp_address_type_t at, const char *address,
00162 unsigned int address_ttl, unsigned int address_count);
00163
00180 fsdp_error_t
00181 fsdp_add_bw_info(fsdp_description_t *dsc,
00182 fsdp_bw_modifier_type_t mt, unsigned long int value,
00183 const char *unk_bm);
00184
00188 fsdp_error_t
00189 fsdp_add_period(fsdp_description_t *dsc, time_t start, time_t stop);
00190
00191
00192 fsdp_error_t
00193 fsdp_add_repeat(fsdp_description_t *dsc, unsigned long int interval,
00194 unsigned long int duration, const char *offsets);
00195
00207 fsdp_error_t
00208 fsdp_set_encryption(fsdp_description_t *dsc, fsdp_encryption_method_t emethod,
00209 const char *ekey);
00210
00214 fsdp_error_t
00215 fsdp_set_timezone_adj(fsdp_description_t *dsc, const char *adj);
00216
00220 fsdp_error_t
00221 fsdp_set_str_att(fsdp_description_t *dsc, fsdp_session_str_att_t att,
00222 const char *value);
00223
00227 fsdp_error_t
00228 fsdp_add_sdplang(fsdp_description_t *dsc, const char* lang);
00229
00233 fsdp_error_t
00234 fsdp_add_lang(fsdp_description_t *dsc, const char* lang);
00235
00239 fsdp_error_t
00240 fsdp_set_sendrecv(fsdp_description_t *dsc, fsdp_sendrecv_mode_t mode);
00241
00245 fsdp_error_t
00246 fsdp_set_session_type(fsdp_description_t *dsc, fsdp_session_type_t type);
00247
00251 fsdp_error_t
00252 fsdp_add_media(fsdp_description_t *dsc, fsdp_media_description_t *const mdsc);
00253
00257 fsdp_error_t
00258 fsdp_make_media(fsdp_media_description_t **mdsc, fsdp_media_t type,
00259 unsigned int port, unsigned int port_count,
00260 fsdp_transport_protocol_t tp, const char *format);
00261
00265 fsdp_error_t
00266 fsdp_add_media_format(fsdp_media_description_t *mdsc, const char *format);
00267
00271 fsdp_error_t
00272 fsdp_set_media_title(fsdp_media_description_t *mdsc, const char *title);
00273
00277 fsdp_error_t
00278 fsdp_set_media_conn_address(fsdp_media_description_t *mdsc,
00279 fsdp_network_type_t nt, fsdp_address_type_t at,
00280 const char *address, unsigned int address_ttl,
00281 unsigned int address_count);
00282
00286 fsdp_error_t
00287 fsdp_add_media_bw_info(fsdp_media_description_t *mdsc,
00288 fsdp_bw_modifier_type_t mt,
00289 unsigned long int value, const char *unk_bm);
00290
00294 fsdp_error_t
00295 fsdp_set_media_encryption(fsdp_media_description_t *mdsc,
00296 fsdp_encryption_method_t em, const char *content);
00297
00301 fsdp_error_t
00302 fsdp_set_media_ptime(fsdp_media_description_t *mdsc, unsigned int ptime);
00303
00307 fsdp_error_t
00308 fsdp_set_media_maxptime(fsdp_media_description_t *mdsc, unsigned int maxptime);
00309
00313 fsdp_error_t
00314 fsdp_add_media_fmtp(fsdp_media_description_t *mdsc, const char* fmtp);
00315
00319 fsdp_error_t
00320 fsdp_set_media_orient(fsdp_media_description_t *mdsc, fsdp_orient_t orient);
00321
00325 fsdp_error_t
00326 fsdp_add_media_sdplang(fsdp_media_description_t *mdsc, const char* lang);
00327
00331 fsdp_error_t
00332 fsdp_add_media_lang(fsdp_media_description_t *mdsc, const char* lang);
00333
00337 fsdp_error_t
00338 fsdp_set_media_sendrecv(fsdp_media_description_t *mdsc,
00339 fsdp_sendrecv_mode_t mode);
00340
00344 fsdp_error_t
00345 fsdp_set_media_framerate(fsdp_media_description_t *mdsc, float rate);
00346
00350 fsdp_error_t
00351 fsdp_set_media_quality(fsdp_media_description_t *mdsc, unsigned int q);
00352
00356 fsdp_error_t
00357 fsdp_add_media_rtpmap(fsdp_media_description_t *mdsc, const char* payload_type,
00358 const char *encoding_name, unsigned int rate,
00359 const char *parameters);
00360
00364 fsdp_error_t
00365 fsdp_set_media_rtcp(fsdp_media_description_t *mdsc, unsigned int port,
00366 fsdp_network_type_t nt, fsdp_address_type_t at,
00367 const char *address);
00368
00370
00371 END_C_DECLS
00372
00373 #endif