FreeSDP Formatting Module


Files

file  formatter.h
 Specific public header for FreeSDP formatting module.

Functions

fsdp_error_t fsdp_make_description (fsdp_description_t **dsc, unsigned int sdp_version, const char *session_name, const char *session_id, const char *announcement_version, const char *owner_username, fsdp_network_type_t owner_nt, fsdp_address_type_t owner_at, const char *owner_address, time_t start, time_t stop)
fsdp_error_t fsdp_format (const fsdp_description_t *dsc, char **text_description)
fsdp_error_t fsdp_format_bounded (const fsdp_description_t *dsc, char *text_description, size_t maxsize)
fsdp_error_t fsdp_set_information (fsdp_description_t *dsc, const char *info)
fsdp_error_t fsdp_set_uri (fsdp_description_t *dsc, const char *uri)
fsdp_error_t fsdp_add_email (fsdp_description_t *dsc, char *email)
fsdp_error_t fsdp_add_phone (fsdp_description_t *dsc, char *phone)
fsdp_error_t fsdp_set_conn_address (fsdp_description_t *dsc, fsdp_network_type_t nt, fsdp_address_type_t at, const char *address, unsigned int address_ttl, unsigned int address_count)
fsdp_error_t fsdp_add_bw_info (fsdp_description_t *dsc, fsdp_bw_modifier_type_t mt, unsigned long int value, const char *unk_bm)
fsdp_error_t fsdp_add_period (fsdp_description_t *dsc, time_t start, time_t stop)
fsdp_error_t fsdp_add_repeat (fsdp_description_t *dsc, unsigned long int interval, unsigned long int duration, const char *offsets)
fsdp_error_t fsdp_set_encryption (fsdp_description_t *dsc, fsdp_encryption_method_t emethod, const char *ekey)
fsdp_error_t fsdp_set_timezone_adj (fsdp_description_t *dsc, const char *adj)
fsdp_error_t fsdp_set_str_att (fsdp_description_t *dsc, fsdp_session_str_att_t att, const char *value)
fsdp_error_t fsdp_add_sdplang (fsdp_description_t *dsc, const char *lang)
fsdp_error_t fsdp_add_lang (fsdp_description_t *dsc, const char *lang)
fsdp_error_t fsdp_set_sendrecv (fsdp_description_t *dsc, fsdp_sendrecv_mode_t mode)
fsdp_error_t fsdp_set_session_type (fsdp_description_t *dsc, fsdp_session_type_t type)
fsdp_error_t fsdp_add_media (fsdp_description_t *dsc, fsdp_media_description_t *const mdsc)
fsdp_error_t fsdp_make_media (fsdp_media_description_t **mdsc, fsdp_media_t type, unsigned int port, unsigned int port_count, fsdp_transport_protocol_t tp, const char *format)
fsdp_error_t fsdp_add_media_format (fsdp_media_description_t *mdsc, const char *format)
fsdp_error_t fsdp_set_media_title (fsdp_media_description_t *mdsc, const char *title)
fsdp_error_t fsdp_set_media_conn_address (fsdp_media_description_t *mdsc, fsdp_network_type_t nt, fsdp_address_type_t at, const char *address, unsigned int address_ttl, unsigned int address_count)
fsdp_error_t fsdp_add_media_bw_info (fsdp_media_description_t *mdsc, fsdp_bw_modifier_type_t mt, unsigned long int value, const char *unk_bm)
fsdp_error_t fsdp_set_media_encryption (fsdp_media_description_t *mdsc, fsdp_encryption_method_t em, const char *content)
fsdp_error_t fsdp_set_media_ptime (fsdp_media_description_t *mdsc, unsigned int ptime)
fsdp_error_t fsdp_set_media_maxptime (fsdp_media_description_t *mdsc, unsigned int maxptime)
fsdp_error_t fsdp_add_media_fmtp (fsdp_media_description_t *mdsc, const char *fmtp)
fsdp_error_t fsdp_set_media_orient (fsdp_media_description_t *mdsc, fsdp_orient_t orient)
fsdp_error_t fsdp_add_media_sdplang (fsdp_media_description_t *mdsc, const char *lang)
fsdp_error_t fsdp_add_media_lang (fsdp_media_description_t *mdsc, const char *lang)
fsdp_error_t fsdp_set_media_sendrecv (fsdp_media_description_t *mdsc, fsdp_sendrecv_mode_t mode)
fsdp_error_t fsdp_set_media_framerate (fsdp_media_description_t *mdsc, float rate)
fsdp_error_t fsdp_set_media_quality (fsdp_media_description_t *mdsc, unsigned int q)
fsdp_error_t fsdp_add_media_rtpmap (fsdp_media_description_t *mdsc, const char *payload_type, const char *encoding_name, unsigned int rate, const char *parameters)
fsdp_error_t fsdp_set_media_rtcp (fsdp_media_description_t *mdsc, unsigned int port, fsdp_network_type_t nt, fsdp_address_type_t at, const char *address)

Detailed Description

SDP descriptions formatting routines.

Function Documentation

fsdp_error_t fsdp_add_bw_info fsdp_description_t dsc,
fsdp_bw_modifier_type_t  mt,
unsigned long int  value,
const char *  unk_bm
 

Add a global bandwidth modifier for the session. You can omit calling this function if the bandwidth modifier is defined for each media individually. For defined bandwidth modifiers (others than FSDP_BW_MODT_UNDEFINED) , the third (unk_bmt) parameter will be ignored, and should be set to NULL.

Parameters:
dsc SDP description object being built.
mt global bandwidth modifier type. If FSDP_BW_MODT_UNDEFINED is specified, the textual bandwidth modifier must be given in unk_bmt
value textual global bandwidth value.
unk_bm NULL unless bm is FSDP_BW_MODT_UNDEFINED, in which case it is ignored; otherwise a textual bandwidth modifier.
Returns:
FSDPE_OK if successful

Definition at line 526 of file formatter.c.

References fsdp_bw_modifier_t::b_mod_type, fsdp_bw_modifier_t::b_unknown_bw_modt, fsdp_bw_modifier_t::b_value, fsdp_description_t_s::bw_modifiers, fsdp_description_t_s::bw_modifiers_count, BW_MODIFIERS_MAX_COUNT, FSDP_BW_MOD_TYPE_UNKNOWN, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_add_email fsdp_description_t dsc,
char *  email
 

Add a contact email for the session in dsc. As with fsdp_add_uri(), this function can be called more than once with the same fsdp_description_t object; in that case, several emails will be included in the description --listed in the same order as they were specified through this function.

Parameters:
dsc SDP description object being built.
email string containing an email about the session.
Returns:
FSDPE_OK if successful

Definition at line 476 of file formatter.c.

References fsdp_description_t_s::emails, fsdp_description_t_s::emails_count, EMAILS_MAX_COUNT, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_add_lang fsdp_description_t dsc,
const char *  lang
 

Definition at line 662 of file formatter.c.

References fsdp_description_t_s::a_langs, fsdp_description_t_s::a_langs_count, FSDPE_INVALID_PARAMETER, FSDPE_OK, and SDPLANGS_MAX_COUNT.

fsdp_error_t fsdp_add_media fsdp_description_t dsc,
fsdp_media_description_t *const   mdsc
 

Definition at line 724 of file formatter.c.

References FSDPE_INVALID_PARAMETER, FSDPE_OK, fsdp_description_t_s::media_announcements, fsdp_description_t_s::media_announcements_count, and MEDIA_ANNOUNCEMENTS_MAX_COUNT.

fsdp_error_t fsdp_add_media_bw_info fsdp_media_description_t mdsc,
fsdp_bw_modifier_type_t  mt,
unsigned long int  value,
const char *  unk_bm
 

Definition at line 807 of file formatter.c.

References fsdp_bw_modifier_t::b_mod_type, fsdp_bw_modifier_t::b_unknown_bw_modt, fsdp_bw_modifier_t::b_value, fsdp_media_description_t_s::bw_modifiers, fsdp_media_description_t_s::bw_modifiers_count, BW_MODIFIERS_MAX_COUNT, FSDP_BW_MOD_TYPE_UNKNOWN, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_add_media_fmtp fsdp_media_description_t mdsc,
const char *  fmtp
 

Definition at line 868 of file formatter.c.

References fsdp_media_description_t_s::a_fmtps, fsdp_media_description_t_s::a_fmtps_count, FSDPE_INVALID_PARAMETER, FSDPE_OK, and SDPLANGS_MAX_COUNT.

fsdp_error_t fsdp_add_media_format fsdp_media_description_t mdsc,
const char *  format
 

Definition at line 763 of file formatter.c.

References fsdp_media_description_t_s::formats, fsdp_media_description_t_s::formats_count, FSDPE_INVALID_PARAMETER, FSDPE_OK, and MEDIA_FORMATS_MAX_COUNT.

fsdp_error_t fsdp_add_media_lang fsdp_media_description_t mdsc,
const char *  lang
 

Definition at line 912 of file formatter.c.

References fsdp_media_description_t_s::a_langs, fsdp_media_description_t_s::a_langs_count, FSDPE_INVALID_PARAMETER, FSDPE_OK, and SDPLANGS_MAX_COUNT.

fsdp_error_t fsdp_add_media_rtpmap fsdp_media_description_t mdsc,
const char *  payload_type,
const char *  encoding_name,
unsigned int  rate,
const char *  parameters
 

Definition at line 957 of file formatter.c.

References fsdp_media_description_t_s::a_rtpmaps, fsdp_media_description_t_s::a_rtpmaps_count, fsdp_rtpmap_t::clock_rate, fsdp_rtpmap_t::encoding_name, FSDPE_INVALID_PARAMETER, FSDPE_OK, MEDIA_RTPMAPS_MAX_COUNT, fsdp_rtpmap_t::parameters, and fsdp_rtpmap_t::pt.

fsdp_error_t fsdp_add_media_sdplang fsdp_media_description_t mdsc,
const char *  lang
 

Definition at line 894 of file formatter.c.

References fsdp_media_description_t_s::a_sdplangs, fsdp_media_description_t_s::a_sdplangs_count, FSDPE_INVALID_PARAMETER, FSDPE_OK, and SDPLANGS_MAX_COUNT.

fsdp_error_t fsdp_add_period fsdp_description_t dsc,
time_t  start,
time_t  stop
 

Definition at line 553 of file formatter.c.

References FSDPE_INVALID_PARAMETER, FSDPE_OK, fsdp_time_period_t::start, fsdp_time_period_t::stop, fsdp_description_t_s::time_periods, fsdp_description_t_s::time_periods_count, and TIME_PERIODS_MAX_COUNT.

fsdp_error_t fsdp_add_phone fsdp_description_t dsc,
char *  phone
 

Add a contact phone for the session in dsc. As with fsdp_add_email(), this function can be called more than once with the same fsdp_description_t object; in that case, several phones will be included in the description --listed in the same order as they were specified through this function.

Parameters:
dsc SDP description object being built.
phone string containing a phone number about the session.
Returns:
FSDPE_OK if successful

Definition at line 492 of file formatter.c.

References FSDPE_INVALID_PARAMETER, FSDPE_OK, fsdp_description_t_s::phones, fsdp_description_t_s::phones_count, and PHONES_MAX_COUNT.

fsdp_error_t fsdp_add_repeat fsdp_description_t dsc,
unsigned long int  interval,
unsigned long int  duration,
const char *  offsets
 

Definition at line 572 of file formatter.c.

References fsdp_repeat_t::duration, FSDPE_INVALID_PARAMETER, FSDPE_OK, fsdp_repeat_t::interval, fsdp_repeat_t::offsets, fsdp_time_period_t::repeats, fsdp_time_period_t::repeats_count, REPEATS_MAX_COUNT, fsdp_description_t_s::time_periods, and fsdp_description_t_s::time_periods_count.

fsdp_error_t fsdp_add_sdplang fsdp_description_t dsc,
const char *  lang
 

Definition at line 644 of file formatter.c.

References fsdp_description_t_s::a_sdplangs, fsdp_description_t_s::a_sdplangs_count, FSDPE_INVALID_PARAMETER, FSDPE_OK, and SDPLANGS_MAX_COUNT.

fsdp_error_t fsdp_format const fsdp_description_t dsc,
char **  text_description
 

Store a multimedia session description formatted in SDP into description. The properties must have been set in dsc.

Parameters:
dsc object from which session properties will be taken.
text_description a multimedia session description formatted in SDP.
Returns:
FSDPE_OK if the description could be successfully formatted. Otherwise, another error code is returned.

Definition at line 114 of file formatter.c.

References fsdp_format_bounded(), FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_format_bounded const fsdp_description_t dsc,
char *  text_description,
size_t  maxsize
 

Parameters:
dsc object from which session properties will be taken.
text_description a multimedia session description formatted in SDP.
maxsize maximun number of octets the description should take.
Returns:
FSDPE_OK if the description could be successfully formatted. Otherwise, another error code is returned.

Definition at line 133 of file formatter.c.

References address_type_strings, fsdp_description_t_s::c_network_type, fsdp_description_t_s::emails, fsdp_description_t_s::emails_count, FSDPE_INVALID_PARAMETER, fsdp_description_t_s::i_information, network_type_strings, fsdp_description_t_s::o_address, fsdp_description_t_s::o_address_type, fsdp_description_t_s::o_announcement_version, fsdp_description_t_s::o_session_id, fsdp_description_t_s::o_username, fsdp_description_t_s::s_name, and fsdp_description_t_s::u_uri.

Referenced by fsdp_format().

fsdp_error_t fsdp_make_description fsdp_description_t **  dsc,
unsigned int  sdp_version,
const char *  session_name,
const char *  session_id,
const char *  announcement_version,
const char *  owner_username,
fsdp_network_type_t  owner_nt,
fsdp_address_type_t  owner_at,
const char *  owner_address,
time_t  start,
time_t  stop
 

Build a minimal SDP description object with the properties corresponding to the parameters provided.

Parameters:
dsc description object to build.
sdp_version SDP protocol version, should be zero.
session_name with session name string.
session_id unique number identifying this session.
announcement_version version number of announcement
owner_username login or username of session owner.
owner_nt network type of session owner.
owner_at address type of session owner.
owner_address network address of owner, should match owner_at.
start session start time in time_t units.
stop session stop time in time_t units.
Returns:
Return values:
 

Definition at line 70 of file formatter.c.

References fsdp_description_new(), FSDPE_INVALID_PARAMETER, FSDPE_OK, fsdp_description_t_s::o_address, fsdp_description_t_s::o_address_type, fsdp_description_t_s::o_announcement_version, fsdp_description_t_s::o_network_type, fsdp_description_t_s::o_session_id, fsdp_description_t_s::o_username, fsdp_time_period_t::repeats, fsdp_time_period_t::repeats_count, REPEATS_MAX_COUNT, fsdp_description_t_s::s_name, fsdp_time_period_t::start, fsdp_time_period_t::stop, fsdp_description_t_s::time_periods, fsdp_description_t_s::time_periods_count, TIME_PERIODS_MAX_COUNT, and fsdp_description_t_s::version.

fsdp_error_t fsdp_make_media fsdp_media_description_t **  mdsc,
fsdp_media_t  type,
unsigned int  port,
unsigned int  port_count,
fsdp_transport_protocol_t  tp,
const char *  format
 

Definition at line 739 of file formatter.c.

References fsdp_media_description_t_s::a_rtpmaps, fsdp_media_description_t_s::formats, fsdp_media_description_t_s::formats_count, FSDPE_INVALID_PARAMETER, FSDPE_OK, MEDIA_FORMATS_MAX_COUNT, fsdp_media_description_t_s::media_type, fsdp_media_description_t_s::port, fsdp_media_description_t_s::port_count, and fsdp_media_description_t_s::transport.

fsdp_error_t fsdp_set_conn_address fsdp_description_t dsc,
fsdp_network_type_t  nt,
fsdp_address_type_t  at,
const char *  address,
unsigned int  address_ttl,
unsigned int  address_count
 

Set the the global network address (as well as the network type and the address type) of the multimedia session connection. You can omit calling this function if the network address is defined for each media individually.

Parameters:
dsc SDP description object being built.
nt global network type for this connection.
at global network address type for this connection.
address global network address for this connection.
address_ttl TTL specifier if an IP4 multicast address.
address_count number of consecutive ports.
Returns:
FSDPE_OK if successful

Definition at line 508 of file formatter.c.

References fsdp_connection_address_t_s::address, fsdp_connection_address_t_s::address_count, fsdp_connection_address_t_s::address_ttl, fsdp_description_t_s::c_address, fsdp_description_t_s::c_address_type, fsdp_description_t_s::c_network_type, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_encryption fsdp_description_t dsc,
fsdp_encryption_method_t  emethod,
const char *  ekey
 

Set the encryption method, and a key or a URI pointing to the encryption key for this session. If method is FSDP_ENCRYPTION_METHOD_PROMPT, ekey is ignored and not included in the session description.

Parameters:
dsc SDP description object being built.
emethod encryption method.
ekey encryption key as a string.
Returns:
FSDPE_OK if successful.

Definition at line 601 of file formatter.c.

References FSDP_ENCRYPTION_METHOD_PROMPT, FSDPE_INVALID_PARAMETER, FSDPE_OK, fsdp_description_t_s::k_encryption_content, and fsdp_description_t_s::k_encryption_method.

fsdp_error_t fsdp_set_information fsdp_description_t dsc,
const char *  info
 

Set the information line about the session in dsc.

Parameters:
dsc SDP description object being built.
info information line of this session.
Returns:
FSDPE_OK if successful

Definition at line 452 of file formatter.c.

References FSDPE_INVALID_PARAMETER, FSDPE_OK, and fsdp_description_t_s::i_information.

fsdp_error_t fsdp_set_media_conn_address fsdp_media_description_t mdsc,
fsdp_network_type_t  nt,
fsdp_address_type_t  at,
const char *  address,
unsigned int  address_ttl,
unsigned int  address_count
 

Definition at line 788 of file formatter.c.

References fsdp_connection_address_t_s::address, fsdp_connection_address_t_s::address_count, fsdp_connection_address_t_s::address_ttl, fsdp_media_description_t_s::c_address, fsdp_media_description_t_s::c_address_type, fsdp_media_description_t_s::c_network_type, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_media_encryption fsdp_media_description_t mdsc,
fsdp_encryption_method_t  em,
const char *  content
 

Definition at line 832 of file formatter.c.

References FSDP_ENCRYPTION_METHOD_PROMPT, FSDPE_INVALID_PARAMETER, FSDPE_OK, fsdp_media_description_t_s::k_encryption_content, and fsdp_media_description_t_s::k_encryption_method.

fsdp_error_t fsdp_set_media_framerate fsdp_media_description_t mdsc,
float  rate
 

Definition at line 939 of file formatter.c.

References fsdp_media_description_t_s::a_framerate, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_media_maxptime fsdp_media_description_t mdsc,
unsigned int  maxptime
 

Definition at line 858 of file formatter.c.

References fsdp_media_description_t_s::a_maxptime, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_media_orient fsdp_media_description_t mdsc,
fsdp_orient_t  orient
 

Definition at line 885 of file formatter.c.

References fsdp_media_description_t_s::a_orient, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_media_ptime fsdp_media_description_t mdsc,
unsigned int  ptime
 

Definition at line 849 of file formatter.c.

References fsdp_media_description_t_s::a_ptime, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_media_quality fsdp_media_description_t mdsc,
unsigned int  q
 

Definition at line 948 of file formatter.c.

References fsdp_media_description_t_s::a_quality, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_media_rtcp fsdp_media_description_t mdsc,
unsigned int  port,
fsdp_network_type_t  nt,
fsdp_address_type_t  at,
const char *  address
 

Definition at line 984 of file formatter.c.

References fsdp_media_description_t_s::a_rtcp_address, fsdp_media_description_t_s::a_rtcp_address_type, fsdp_media_description_t_s::a_rtcp_network_type, fsdp_media_description_t_s::a_rtcp_port, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_media_sendrecv fsdp_media_description_t mdsc,
fsdp_sendrecv_mode_t  mode
 

Definition at line 929 of file formatter.c.

References fsdp_media_description_t_s::a_sendrecv_mode, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_media_title fsdp_media_description_t mdsc,
const char *  title
 

Definition at line 776 of file formatter.c.

References FSDPE_INVALID_PARAMETER, FSDPE_OK, and fsdp_media_description_t_s::i_title.

fsdp_error_t fsdp_set_sendrecv fsdp_description_t dsc,
fsdp_sendrecv_mode_t  mode
 

Definition at line 706 of file formatter.c.

References fsdp_description_t_s::a_sendrecv_mode, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_session_type fsdp_description_t dsc,
fsdp_session_type_t  type
 

Definition at line 715 of file formatter.c.

References fsdp_description_t_s::a_type, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_str_att fsdp_description_t dsc,
fsdp_session_str_att_t  att,
const char *  value
 

Definition at line 629 of file formatter.c.

References fsdp_description_t_s::a_str_attributes, FSDP_LAST_SESSION_STR_ATT, FSDPE_INVALID_PARAMETER, and FSDPE_OK.

fsdp_error_t fsdp_set_timezone_adj fsdp_description_t dsc,
const char *  adj
 

Definition at line 618 of file formatter.c.

References FSDPE_INVALID_PARAMETER, FSDPE_OK, and fsdp_description_t_s::timezone_adj.

fsdp_error_t fsdp_set_uri fsdp_description_t dsc,
const char *  uri
 

Set an URI about the session in dsc. An SDP description carries only one URI field.

Parameters:
dsc SDP description object being built.
uri string containing an URI.
Returns:
FSDPE_OK if successful

Definition at line 464 of file formatter.c.

References FSDPE_INVALID_PARAMETER, FSDPE_OK, and fsdp_description_t_s::u_uri.


Generated on Wed May 3 13:49:06 2006 for FreeSDP by  doxygen 1.4.6