Document the SDP library.

Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/sdp/gstsdp.h:
* gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_message_set_origin),
(gst_sdp_message_set_connection), (gst_sdp_message_add_bandwidth),
(gst_sdp_message_add_time), (gst_sdp_message_add_zone),
(gst_sdp_message_set_key), (gst_sdp_message_get_attribute_val_n),
(gst_sdp_message_get_attribute_val),
(gst_sdp_message_add_attribute), (gst_sdp_media_new),
(gst_sdp_media_init), (gst_sdp_media_uninit), (gst_sdp_media_free),
(gst_sdp_media_get_media), (gst_sdp_media_set_media),
(gst_sdp_media_get_port), (gst_sdp_media_get_num_ports),
(gst_sdp_media_set_port_info), (gst_sdp_media_get_proto),
(gst_sdp_media_set_proto), (gst_sdp_media_formats_len),
(gst_sdp_media_get_format), (gst_sdp_media_add_format),
(gst_sdp_media_get_information), (gst_sdp_media_set_information),
(gst_sdp_media_connections_len), (gst_sdp_media_get_connection),
(gst_sdp_media_add_connection), (gst_sdp_media_bandwidths_len),
(gst_sdp_media_get_badwidth), (gst_sdp_media_add_bandwidth),
(gst_sdp_media_set_key), (gst_sdp_media_get_key),
(gst_sdp_media_attributes_len), (gst_sdp_media_add_attribute),
(gst_sdp_media_get_attribute_val_n),
(gst_sdp_media_get_attribute_val), (gst_sdp_message_parse_buffer),
(print_media), (gst_sdp_message_dump):
* gst-libs/gst/sdp/gstsdpmessage.h:
Document the SDP library.
Add some of the missing SDPMedia methods.
This commit is contained in:
Wim Taymans 2007-07-24 17:37:03 +00:00
parent 19e0dd3140
commit ee42361c89
7 changed files with 1342 additions and 287 deletions

View file

@ -1,3 +1,34 @@
2007-07-24 Wim Taymans <wim.taymans@gmail.com>
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/sdp/gstsdp.h:
* gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_message_set_origin),
(gst_sdp_message_set_connection), (gst_sdp_message_add_bandwidth),
(gst_sdp_message_add_time), (gst_sdp_message_add_zone),
(gst_sdp_message_set_key), (gst_sdp_message_get_attribute_val_n),
(gst_sdp_message_get_attribute_val),
(gst_sdp_message_add_attribute), (gst_sdp_media_new),
(gst_sdp_media_init), (gst_sdp_media_uninit), (gst_sdp_media_free),
(gst_sdp_media_get_media), (gst_sdp_media_set_media),
(gst_sdp_media_get_port), (gst_sdp_media_get_num_ports),
(gst_sdp_media_set_port_info), (gst_sdp_media_get_proto),
(gst_sdp_media_set_proto), (gst_sdp_media_formats_len),
(gst_sdp_media_get_format), (gst_sdp_media_add_format),
(gst_sdp_media_get_information), (gst_sdp_media_set_information),
(gst_sdp_media_connections_len), (gst_sdp_media_get_connection),
(gst_sdp_media_add_connection), (gst_sdp_media_bandwidths_len),
(gst_sdp_media_get_badwidth), (gst_sdp_media_add_bandwidth),
(gst_sdp_media_set_key), (gst_sdp_media_get_key),
(gst_sdp_media_attributes_len), (gst_sdp_media_add_attribute),
(gst_sdp_media_get_attribute_val_n),
(gst_sdp_media_get_attribute_val), (gst_sdp_message_parse_buffer),
(print_media), (gst_sdp_message_dump):
* gst-libs/gst/sdp/gstsdpmessage.h:
Document the SDP library.
Add some of the missing SDPMedia methods.
2007-07-24 Wim Taymans <wim.taymans@gmail.com>
* configure.ac:

View file

@ -70,6 +70,8 @@ SCANOBJ_DEPS = \
$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/cdda/libgstcdda-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/rtp/libgstrtp-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/rtsp/libgstrtsp-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/sdp/libgstsdp-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la \
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_MAJORMINOR@.la

View file

@ -42,6 +42,9 @@
<!ENTITY GstBaseRtpPayload SYSTEM "xml/gstbasertppayload.xml">
<!ENTITY GstRtpBuffer SYSTEM "xml/gstrtpbuffer.xml">
<!ENTITY GstRtcpBuffer SYSTEM "xml/gstrtcpbuffer.xml">
<!-- sdp -->
<!ENTITY GstSDP SYSTEM "xml/gstsdp.xml">
<!ENTITY GstSDPMessage SYSTEM "xml/gstsdpmessage.xml">
<!-- tag -->
<!ENTITY GstTag SYSTEM "xml/gsttag.xml">
<!ENTITY GstTagVorbis SYSTEM "xml/gsttagvorbis.xml">
@ -155,7 +158,7 @@
</chapter>
<chapter id="gstreamer-rtp">
<title>Rtp Library</title>
<title>RTP Library</title>
<para>
This library should be linked to by getting cflags and libs from
<filename>gstreamer-plugins-base-&GST_MAJORMINOR;.pc</filename> and adding
@ -168,6 +171,17 @@
&GstRtcpBuffer;
</chapter>
<chapter id="gstreamer-SDP">
<title>SDP Library</title>
<para>
This library should be linked to by getting cflags and libs from
<filename>gstreamer-plugins-base-&GST_MAJORMINOR;.pc</filename> and adding
<filename>-lgstsdp-&GST_MAJORMINOR;</filename> to the library flags.
</para>
&GstSDP;
&GstSDPMessage;
</chapter>
<chapter id="gstreamer-tag">
<title>Tag Support Library</title>
<para>

View file

@ -964,6 +964,103 @@ GST_RTP_PAYLOAD_TS41
GST_RTP_PAYLOAD_TS48
</SECTION>
# sdp
<SECTION>
<FILE>gstsdp</FILE>
<INCLUDE>gst/sdp/sdp.h</INCLUDE>
GstSDPResult
</SECTION>
<SECTION>
<FILE>gstsdpmessage</FILE>
<INCLUDE>gst/sdp/sdpmessage.h</INCLUDE>
GstSDPOrigin
GstSDPConnection
GST_SDP_BWTYPE_CT
GST_SDP_BWTYPE_AS
GST_SDP_BWTYPE_EXT_PREFIX
GstSDPBandwidth
GstSDPTime
GstSDPZone
GstSDPKey
GstSDPAttribute
GstSDPMedia
GstSDPMessage
gst_sdp_message_new
gst_sdp_message_init
gst_sdp_message_uninit
gst_sdp_message_free
gst_sdp_message_parse_buffer
gst_sdp_message_get_version
gst_sdp_message_set_version
gst_sdp_message_get_origin
gst_sdp_message_set_origin
gst_sdp_message_get_session_name
gst_sdp_message_set_session_name
gst_sdp_message_get_information
gst_sdp_message_set_information
gst_sdp_message_get_uri
gst_sdp_message_set_uri
gst_sdp_message_emails_len
gst_sdp_message_get_email
gst_sdp_message_add_email
gst_sdp_message_phones_len
gst_sdp_message_get_phone
gst_sdp_message_add_phone
gst_sdp_message_get_connection
gst_sdp_message_set_connection
gst_sdp_message_bandwidths_len
gst_sdp_message_get_bandwidth
gst_sdp_message_add_bandwidth
gst_sdp_message_times_len
gst_sdp_message_get_time
gst_sdp_message_add_time
gst_sdp_message_zones_len
gst_sdp_message_get_zone
gst_sdp_message_add_zone
gst_sdp_message_get_key
gst_sdp_message_set_key
gst_sdp_message_attributes_len
gst_sdp_message_get_attribute
gst_sdp_message_get_attribute_val
gst_sdp_message_get_attribute_val_n
gst_sdp_message_add_attribute
gst_sdp_message_medias_len
gst_sdp_message_get_media
gst_sdp_message_add_media
gst_sdp_message_dump
gst_sdp_media_new
gst_sdp_media_init
gst_sdp_media_uninit
gst_sdp_media_free
gst_sdp_media_get_media
gst_sdp_media_set_media
gst_sdp_media_get_port
gst_sdp_media_get_num_ports
gst_sdp_media_set_port_info
gst_sdp_media_get_proto
gst_sdp_media_set_proto
gst_sdp_media_formats_len
gst_sdp_media_get_format
gst_sdp_media_add_format
gst_sdp_media_get_information
gst_sdp_media_set_information
gst_sdp_media_connections_len
gst_sdp_media_get_connection
gst_sdp_media_add_connection
gst_sdp_media_bandwidths_len
gst_sdp_media_get_bandwidth
gst_sdp_media_add_bandwidth
gst_sdp_media_get_key
gst_sdp_media_set_key
gst_sdp_media_attributes_len
gst_sdp_media_get_attribute
gst_sdp_media_get_attribute_val
gst_sdp_media_get_attribute_val_n
gst_sdp_media_add_attribute
</SECTION>
# tag
<SECTION>

View file

@ -43,6 +43,13 @@
#ifndef __GST_SDP_H__
#define __GST_SDP_H__
/**
* GstSDPResult:
* @GST_SDP_OK: A successful return value
* @GST_SDP_EINVAL: a function was given invalid parameters
*
* Return values for the SDP functions.
*/
typedef enum {
GST_SDP_OK = 0,
GST_SDP_EINVAL = -1

File diff suppressed because it is too large Load diff

View file

@ -49,6 +49,24 @@
G_BEGIN_DECLS
/**
* GstSDPOrigin:
* @username: the user's login on the originating host, or it is "-"
* if the originating host does not support the concept of user ids.
* @sess_id: is a numeric string such that the tuple of @username, @sess_id,
* @nettype, @addrtype and @addr form a globally unique identifier for the
* session.
* @sess_version: a version number for this announcement
* @nettype: the type of network. "IN" is defined to have the meaning
* "Internet".
* @addrtype: the type of @addr.
* @addr: the globally unique address of the machine from which the session was
* created.
*
* The contents of the SDP "o=" field which gives the originator of the session
* (their username and the address of the user's host) plus a session id and
* session version number.
*/
typedef struct {
gchar *username;
gchar *sess_id;
@ -58,6 +76,17 @@ typedef struct {
gchar *addr;
} GstSDPOrigin;
/**
* GstSDPConnection:
* @nettype: the type of network. "IN" is defined to have the meaning
* "Internet".
* @addrtype: the type of @address.
* @address: the address
* @ttl: the time to live of the address
* @addr_number: the number of layers
*
* The contents of the SDP "c=" field which contains connection data.
*/
typedef struct {
gchar *nettype;
gchar *addrtype;
@ -66,15 +95,50 @@ typedef struct {
gint addr_number;
} GstSDPConnection;
#define GST_SDP_BWTYPE_CT "CT" /* conference total */
#define GST_SDP_BWTYPE_AS "AS" /* application specific */
#define GST_SDP_BWTYPE_EXT_PREFIX "X-" /* extension prefix */
/**
* GST_SDP_BWTYPE_CT:
*
* The Conference Total bandwidth modifier.
*/
#define GST_SDP_BWTYPE_CT "CT"
/**
* GST_SDP_BWTYPE_AS:
*
* The Application-Specific Maximum bandwidth modifier.
*/
#define GST_SDP_BWTYPE_AS "AS"
/**
* GST_SDP_BWTYPE_EXT_PREFIX:
*
* The extension prefix bandwidth modifier.
*/
#define GST_SDP_BWTYPE_EXT_PREFIX "X-"
/**
* GstSDPBandwidth:
* @bwtype: the bandwidth modifier type
* @bandwidth: the bandwidth in kilobits per second
*
* The contents of the SDP "b=" field which specifies the proposed bandwidth to
* be used by the session or media.
*/
typedef struct {
gchar *bwtype;
gint bandwidth;
} GstSDPBandwidth;
/**
* GstSDPTime:
* @start: start time for the conference. The value is the decimal
* representation of Network Time Protocol (NTP) time values in seconds
* @stop: stop time for the conference. The value is the decimal
* representation of Network Time Protocol (NTP) time values in seconds
* @n_repeat: the number of repeat times
* @repeat: repeat times for a session
*
* The contents of the SDP "t=" field which specify the start and stop times for
* a conference session.
*/
typedef struct {
gchar *start;
gchar *stop;
@ -82,21 +146,60 @@ typedef struct {
gchar **repeat;
} GstSDPTime;
/**
* GstSDPZone:
* @time: the NTP time that a time zone adjustment happens
* @typed_time: the offset from the time when the session was first scheduled
*
* The contents of the SDP "z=" field which allows the sender to
* specify a list of time zone adjustments and offsets from the base
* time.
*/
typedef struct {
gchar *time;
gchar *typed_time;
} GstSDPZone;
/**
* GstSDPKey:
* @type: the encryption type
* @data: the encryption data
*
* The contents of the SDP "k=" field which is used to convey encryption
* keys.
*/
typedef struct {
gchar *type;
gchar *data;
} GstSDPKey;
/**
* GstSDPAttribute:
* @key: the attribute key
* @value: the attribute value or NULL when it was a property attribute
*
* The contents of the SDP "a=" field which contains a key/value pair.
*/
typedef struct {
gchar *key;
gchar *value;
} GstSDPAttribute;
/**
* GstSDPMedia:
* @media: the media type
* @port: the transport port to which the media stream will be sent
* @num_ports: the number of ports or -1 if only one port was specified
* @proto: the transport protocol
* @fmts: an array of #gchar formats
* @information: the media title
* @connections: array of #GstSDPConnection with media connection information
* @bandwidths: array of #GstSDPBandwidth with media bandwidth information
* @key: the encryption key
* @attributes: array of #GstSDPAttribute with the additional media attributes
*
* The contents of the SDP "m=" field with all related fields.
*/
typedef struct {
gchar *media;
gint port;
@ -110,6 +213,25 @@ typedef struct {
GArray *attributes;
} GstSDPMedia;
/**
* GstSDPMessage:
* @version: the protocol version
* @origin: owner/creator and session identifier
* @session_name: session name
* @information: session information
* @uri: URI of description
* @emails: array of #gchar with email addresses
* @phones: array of #gchar with phone numbers
* @connection: connection information for the session
* @bandwidths: array of #GstSDPBandwidth with bandwidth information
* @times: array of #GstSDPTime with time descriptions
* @zones: array of #GstSDPZone with time zone adjustments
* @key: encryption key
* @attributes: array of #GstSDPAttribute with session attributes
* @medias: array of #GstSDPMedia with media descriptions
*
* The contents of the SDP message.
*/
typedef struct {
gchar *version;
GstSDPOrigin origin;
@ -133,49 +255,68 @@ GstSDPResult gst_sdp_message_init (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_uninit (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_free (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_parse_buffer (guint8 *data, guint size, GstSDPMessage *msg);
GstSDPResult gst_sdp_message_parse_buffer (const guint8 *data, guint size, GstSDPMessage *msg);
const gchar* gst_sdp_message_get_version (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_version (GstSDPMessage *msg, const gchar *version);
const GstSDPOrigin* gst_sdp_message_get_origin (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_origin (GstSDPMessage *msg, const gchar *username,
const gchar *sess_id, const gchar *sess_version,
const gchar *nettype, const gchar *addrtype,
const gchar *addr);
const gchar* gst_sdp_message_get_session_name (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_session_name (GstSDPMessage *msg, const gchar *session_name);
const gchar* gst_sdp_message_get_information (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_information (GstSDPMessage *msg, const gchar *information);
const gchar* gst_sdp_message_get_uri (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_uri (GstSDPMessage *msg, const gchar *uri);
GstSDPResult gst_sdp_message_set_version (GstSDPMessage *msg, gchar *version);
gchar* gst_sdp_message_get_version (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_origin (GstSDPMessage *msg, gchar *username, gchar *sess_id,
gchar *sess_version, gchar *nettype,
gchar *addrtype, gchar *addr);
GstSDPOrigin* gst_sdp_message_get_origin (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_session_name (GstSDPMessage *msg, gchar *session_name);
gchar* gst_sdp_message_get_session_name (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_information (GstSDPMessage *msg, gchar *information);
gchar* gst_sdp_message_get_information (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_uri (GstSDPMessage *msg, gchar *uri);
gchar* gst_sdp_message_get_uri (GstSDPMessage *msg);
gint gst_sdp_message_emails_len (GstSDPMessage *msg);
gchar* gst_sdp_message_get_email (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_email (GstSDPMessage *msg, gchar *email);
gint gst_sdp_message_phones_len (GstSDPMessage *msg);
gchar* gst_sdp_message_get_phone (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_phone (GstSDPMessage *msg, gchar *phone);
GstSDPResult gst_sdp_message_set_connection (GstSDPMessage *msg, gchar *nettype, gchar *addrtype,
gchar *address, gint ttl, gint addr_number);
GstSDPConnection* gst_sdp_message_get_connection (GstSDPMessage *msg);
gint gst_sdp_message_bandwidths_len (GstSDPMessage *msg);
GstSDPBandwidth* gst_sdp_message_get_bandwidth (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_bandwidth (GstSDPMessage *msg, gchar *bwtype, gint bandwidth);
gint gst_sdp_message_times_len (GstSDPMessage *msg);
GstSDPTime* gst_sdp_message_get_time (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_time (GstSDPMessage *msg, gchar *time);
gint gst_sdp_message_zones_len (GstSDPMessage *msg);
GstSDPZone* gst_sdp_message_get_zone (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_zone (GstSDPMessage *msg, gchar *time, gchar *typed_time);
GstSDPResult gst_sdp_message_set_key (GstSDPMessage *msg, gchar *type, gchar *data);
GstSDPKey* gst_sdp_message_get_key (GstSDPMessage *msg);
gint gst_sdp_message_attributes_len (GstSDPMessage *msg);
GstSDPAttribute* gst_sdp_message_get_attribute (GstSDPMessage *msg, guint idx);
gchar* gst_sdp_message_get_attribute_val (GstSDPMessage *msg, gchar *key);
gchar* gst_sdp_message_get_attribute_val_n (GstSDPMessage *msg, gchar *key, guint nth);
GstSDPResult gst_sdp_message_add_attribute (GstSDPMessage *msg, gchar *key, gchar *value);
gint gst_sdp_message_medias_len (GstSDPMessage *msg);
GstSDPMedia* gst_sdp_message_get_media (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_media (GstSDPMessage *msg, GstSDPMedia *media);
const gchar* gst_sdp_message_get_email (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_email (GstSDPMessage *msg, const gchar *email);
gint gst_sdp_message_phones_len (GstSDPMessage *msg);
const gchar* gst_sdp_message_get_phone (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_phone (GstSDPMessage *msg, const gchar *phone);
const GstSDPConnection* gst_sdp_message_get_connection (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_connection (GstSDPMessage *msg, const gchar *nettype,
const gchar *addrtype, const gchar *address,
gint ttl, gint addr_number);
gint gst_sdp_message_bandwidths_len (GstSDPMessage *msg);
const GstSDPBandwidth* gst_sdp_message_get_bandwidth (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_bandwidth (GstSDPMessage *msg, const gchar *bwtype,
gint bandwidth);
gint gst_sdp_message_times_len (GstSDPMessage *msg);
const GstSDPTime* gst_sdp_message_get_time (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_time (GstSDPMessage *msg, const gchar *time);
gint gst_sdp_message_zones_len (GstSDPMessage *msg);
const GstSDPZone* gst_sdp_message_get_zone (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_zone (GstSDPMessage *msg, const gchar *time,
const gchar *typed_time);
const GstSDPKey* gst_sdp_message_get_key (GstSDPMessage *msg);
GstSDPResult gst_sdp_message_set_key (GstSDPMessage *msg, const gchar *type,
const gchar *data);
gint gst_sdp_message_attributes_len (GstSDPMessage *msg);
const GstSDPAttribute* gst_sdp_message_get_attribute (GstSDPMessage *msg, guint idx);
const gchar* gst_sdp_message_get_attribute_val (GstSDPMessage *msg, const gchar *key);
const gchar* gst_sdp_message_get_attribute_val_n (GstSDPMessage *msg, const gchar *key,
guint nth);
GstSDPResult gst_sdp_message_add_attribute (GstSDPMessage *msg, const gchar *key,
const gchar *value);
gint gst_sdp_message_medias_len (GstSDPMessage *msg);
const GstSDPMedia* gst_sdp_message_get_media (GstSDPMessage *msg, guint idx);
GstSDPResult gst_sdp_message_add_media (GstSDPMessage *msg, GstSDPMedia *media);
GstSDPResult gst_sdp_message_dump (GstSDPMessage *msg);
@ -185,15 +326,45 @@ GstSDPResult gst_sdp_media_init (GstSDPMedia *media);
GstSDPResult gst_sdp_media_uninit (GstSDPMedia *media);
GstSDPResult gst_sdp_media_free (GstSDPMedia *media);
GstSDPResult gst_sdp_media_add_bandwidth (GstSDPMedia * media, gchar * bwtype, gint bandwidth);
const gchar* gst_sdp_media_get_media (GstSDPMedia *media);
GstSDPResult gst_sdp_media_set_media (GstSDPMedia *media, const gchar *med);
GstSDPResult gst_sdp_media_add_attribute (GstSDPMedia *media, gchar * key, gchar * value);
GstSDPAttribute * gst_sdp_media_get_attribute (GstSDPMedia *media, guint idx);
gchar* gst_sdp_media_get_attribute_val (GstSDPMedia *media, gchar *key);
gchar* gst_sdp_media_get_attribute_val_n (GstSDPMedia *media, gchar *key, guint nth);
gint gst_sdp_media_get_port (GstSDPMedia *media);
gint gst_sdp_media_get_num_ports (GstSDPMedia *media);
GstSDPResult gst_sdp_media_set_port_info (GstSDPMedia *media, gint port,
gint num_ports);
GstSDPResult gst_sdp_media_add_format (GstSDPMedia * media, gchar * format);
gchar* gst_sdp_media_get_format (GstSDPMedia *media, guint idx);
const gchar* gst_sdp_media_get_proto (GstSDPMedia *media);
GstSDPResult gst_sdp_media_set_proto (GstSDPMedia *media, const gchar *proto);
gint gst_sdp_media_formats_len (GstSDPMedia *media);
const gchar* gst_sdp_media_get_format (GstSDPMedia *media, guint idx);
GstSDPResult gst_sdp_media_add_format (GstSDPMedia *media, const gchar *format);
const gchar* gst_sdp_media_get_information (GstSDPMedia *media);
GstSDPResult gst_sdp_media_set_information (GstSDPMedia *media, const gchar *information);
gint gst_sdp_media_connections_len (GstSDPMedia *media);
const GstSDPConnection* gst_sdp_media_get_connection (GstSDPMedia *media, guint idx);
GstSDPResult gst_sdp_media_add_connection (GstSDPMedia *media, const gchar *nettype,
const gchar *addrtype, const gchar *address,
gint ttl, gint addr_number);
gint gst_sdp_media_bandwidths_len (GstSDPMedia *media);
const GstSDPBandwidth* gst_sdp_media_get_bandwidth (GstSDPMedia *media, guint idx);
GstSDPResult gst_sdp_media_add_bandwidth (GstSDPMedia *media, const gchar *bwtype,
gint bandwidth);
const GstSDPKey* gst_sdp_media_get_key (GstSDPMedia *media);
GstSDPResult gst_sdp_media_set_key (GstSDPMedia *media, const gchar *type,
const gchar *data);
gint gst_sdp_media_attributes_len (GstSDPMedia *media);
const GstSDPAttribute * gst_sdp_media_get_attribute (GstSDPMedia *media, guint idx);
const gchar* gst_sdp_media_get_attribute_val (GstSDPMedia *media, const gchar *key);
const gchar* gst_sdp_media_get_attribute_val_n (GstSDPMedia *media, const gchar *key, guint nth);
GstSDPResult gst_sdp_media_add_attribute (GstSDPMedia *media, const gchar *key,
const gchar *value);
G_END_DECLS