| Top |
| enum | GstSDPResult |
| GstSDPOrigin | |
| GstSDPConnection | |
| #define | GST_SDP_BWTYPE_CT |
| #define | GST_SDP_BWTYPE_AS |
| #define | GST_SDP_BWTYPE_EXT_PREFIX |
| #define | GST_SDP_BWTYPE_RR |
| #define | GST_SDP_BWTYPE_RS |
| #define | GST_SDP_BWTYPE_TIAS |
| GstSDPBandwidth | |
| GstSDPTime | |
| GstSDPZone | |
| GstSDPKey | |
| GstSDPAttribute | |
| GstSDPMedia | |
| GstSDPMessage |
GstSDPResult
gst_sdp_message_new (GstSDPMessage **msg);
Allocate a new GstSDPMessage and store the result in msg
.
GstSDPResult
gst_sdp_message_init (GstSDPMessage *msg);
Initialize msg
so that its contents are as if it was freshly allocated
with gst_sdp_message_new(). This function is mostly used to initialize a message
allocated on the stack. gst_sdp_message_uninit() undoes this operation.
When this function is invoked on newly allocated data (with malloc or on the stack), its contents should be set to 0 before calling this function.
GstSDPResult
gst_sdp_message_uninit (GstSDPMessage *msg);
Free all resources allocated in msg
. msg
should not be used anymore after
this function. This function should be used when msg
was allocated on the
stack and initialized with gst_sdp_message_init().
GstSDPResult
gst_sdp_message_free (GstSDPMessage *msg);
Free all resources allocated by msg
. msg
should not be used anymore after
this function. This function should be used when msg
was dynamically
allocated with gst_sdp_message_new().
GstSDPResult gst_sdp_message_parse_buffer (const guint8 *data,guint size,GstSDPMessage *msg);
Parse the contents of size
bytes pointed to by data
and store the result in
msg
.
gchar *
gst_sdp_message_as_text (const GstSDPMessage *msg);
Convert the contents of msg
to a text string.
GstSDPResult gst_sdp_message_parse_uri (const gchar *uri,GstSDPMessage *msg);
Parse the null-terminated uri
and store the result in msg
.
The uri should be of the form:
scheme://[address:ttl=ttl]/sessionname]
where value is url encoded. This looslely resembles http://tools.ietf.org/html/draft-fujikawa-sdp-url-01
Since 0.10.31
gchar * gst_sdp_message_as_uri (const gchar *scheme,const GstSDPMessage *msg);
Creates a uri from msg
with the given scheme
. The uri has the format:
scheme
:///[type=value *[&type=value]]
Where each value is url encoded.
Since 0.10.31
gboolean gst_sdp_address_is_multicast (const gchar *nettype,const gchar *addrtype,const gchar *addr);
Check if the given addr
is a multicast address.
Since 0.10.32
const gchar *
gst_sdp_message_get_version (const GstSDPMessage *msg);
Get the version in msg
.
GstSDPResult gst_sdp_message_set_version (GstSDPMessage *msg,const gchar *version);
Set the version in msg
.
const GstSDPOrigin *
gst_sdp_message_get_origin (const GstSDPMessage *msg);
Get the origin of 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);
Configure the SDP origin in msg
with the given parameters.
const gchar *
gst_sdp_message_get_session_name (const GstSDPMessage *msg);
Get the session name in msg
.
GstSDPResult gst_sdp_message_set_session_name (GstSDPMessage *msg,const gchar *session_name);
Set the session name in msg
.
const gchar *
gst_sdp_message_get_information (const GstSDPMessage *msg);
Get the information in msg
.
GstSDPResult gst_sdp_message_set_information (GstSDPMessage *msg,const gchar *information);
Set the information in msg
.
const gchar *
gst_sdp_message_get_uri (const GstSDPMessage *msg);
Get the URI in msg
.
GstSDPResult gst_sdp_message_set_uri (GstSDPMessage *msg,const gchar *uri);
Set the URI in msg
.
guint
gst_sdp_message_emails_len (const GstSDPMessage *msg);
Get the number of emails in msg
.
const gchar * gst_sdp_message_get_email (const GstSDPMessage *msg,guint idx);
Get the email with number idx
from msg
.
GstSDPResult gst_sdp_message_add_email (GstSDPMessage *msg,const gchar *email);
Add email
to the list of emails in msg
.
guint
gst_sdp_message_phones_len (const GstSDPMessage *msg);
Get the number of phones in msg
.
const gchar * gst_sdp_message_get_phone (const GstSDPMessage *msg,guint idx);
Get the phone with number idx
from msg
.
GstSDPResult gst_sdp_message_add_phone (GstSDPMessage *msg,const gchar *phone);
Add phone
to the list of phones in msg
.
const GstSDPConnection *
gst_sdp_message_get_connection (const GstSDPMessage *msg);
Get the connection of msg
.
GstSDPResult gst_sdp_message_set_connection (GstSDPMessage *msg,const gchar *nettype,const gchar *addrtype,const gchar *address,guint ttl,guint addr_number);
Configure the SDP connection in msg
with the given parameters.
guint
gst_sdp_message_bandwidths_len (const GstSDPMessage *msg);
Get the number of bandwidth information in msg
.
const GstSDPBandwidth * gst_sdp_message_get_bandwidth (const GstSDPMessage *msg,guint idx);
Get the bandwidth at index idx
from msg
.
GstSDPResult gst_sdp_message_add_bandwidth (GstSDPMessage *msg,const gchar *bwtype,guint bandwidth);
Add the specified bandwidth information to msg
.
guint
gst_sdp_message_times_len (const GstSDPMessage *msg);
Get the number of time information entries in msg
.
const GstSDPTime * gst_sdp_message_get_time (const GstSDPMessage *msg,guint idx);
Get time information with index idx
from msg
.
GstSDPResult gst_sdp_message_add_time (GstSDPMessage *msg,const gchar *start,const gchar *stop,const gchar **repeat);
Add time information start
and stop
to msg
.
guint
gst_sdp_message_zones_len (const GstSDPMessage *msg);
Get the number of time zone information entries in msg
.
const GstSDPZone * gst_sdp_message_get_zone (const GstSDPMessage *msg,guint idx);
Get time zone information with index idx
from msg
.
GstSDPResult gst_sdp_message_add_zone (GstSDPMessage *msg,const gchar *adj_time,const gchar *typed_time);
Add time zone information to msg
.
const GstSDPKey *
gst_sdp_message_get_key (const GstSDPMessage *msg);
Get the encryption information from msg
.
GstSDPResult gst_sdp_message_set_key (GstSDPMessage *msg,const gchar *type,const gchar *data);
Adds the encryption information to msg
.
guint
gst_sdp_message_attributes_len (const GstSDPMessage *msg);
Get the number of attributes in msg
.
const GstSDPAttribute * gst_sdp_message_get_attribute (const GstSDPMessage *msg,guint idx);
Get the attribute at position idx
in msg
.
const gchar * gst_sdp_message_get_attribute_val (const GstSDPMessage *msg,const gchar *key);
Get the first attribute with key key
in msg
.
const gchar * gst_sdp_message_get_attribute_val_n (const GstSDPMessage *msg,const gchar *key,guint nth);
Get the nth
attribute with key key
in msg
.
GstSDPResult gst_sdp_message_add_attribute (GstSDPMessage *msg,const gchar *key,const gchar *value);
Add the attribute with key
and value
to msg
.
guint
gst_sdp_message_medias_len (const GstSDPMessage *msg);
Get the number of media descriptions in msg
.
const GstSDPMedia * gst_sdp_message_get_media (const GstSDPMessage *msg,guint idx);
Get the media description at index idx
in msg
.
GstSDPResult gst_sdp_message_add_media (GstSDPMessage *msg,GstSDPMedia *media);
Adds media
to the array of medias in msg
. This function takes ownership of
the contents of media
so that media
will have to be reinitialized with
gst_sdp_media_init() before it can be used again.
GstSDPResult
gst_sdp_message_dump (const GstSDPMessage *msg);
Dump the parsed contents of msg
to stdout.
GstSDPResult
gst_sdp_media_new (GstSDPMedia **media);
Allocate a new GstSDPMedia and store the result in media
.
GstSDPResult
gst_sdp_media_init (GstSDPMedia *media);
Initialize media
so that its contents are as if it was freshly allocated
with gst_sdp_media_new(). This function is mostly used to initialize a media
allocated on the stack. gst_sdp_media_uninit() undoes this operation.
When this function is invoked on newly allocated data (with malloc or on the stack), its contents should be set to 0 before calling this function.
GstSDPResult
gst_sdp_media_uninit (GstSDPMedia *media);
Free all resources allocated in media
. media
should not be used anymore after
this function. This function should be used when media
was allocated on the
stack and initialized with gst_sdp_media_init().
GstSDPResult
gst_sdp_media_free (GstSDPMedia *media);
Free all resources allocated by media
. media
should not be used anymore after
this function. This function should be used when media
was dynamically
allocated with gst_sdp_media_new().
const gchar *
gst_sdp_media_get_media (const GstSDPMedia *media);
Get the media description of media
.
GstSDPResult gst_sdp_media_set_media (GstSDPMedia *media,const gchar *med);
Set the media description of media
to med
.
guint
gst_sdp_media_get_port (const GstSDPMedia *media);
Get the port number for media
.
guint
gst_sdp_media_get_num_ports (const GstSDPMedia *media);
Get the number of ports for media
.
GstSDPResult gst_sdp_media_set_port_info (GstSDPMedia *media,guint port,guint num_ports);
Set the port information in media
.
const gchar *
gst_sdp_media_get_proto (const GstSDPMedia *media);
Get the transport protocol of media
GstSDPResult gst_sdp_media_set_proto (GstSDPMedia *media,const gchar *proto);
Set the media transport protocol of media
to proto
.
guint
gst_sdp_media_formats_len (const GstSDPMedia *media);
Get the number of formats in media
.
const gchar * gst_sdp_media_get_format (const GstSDPMedia *media,guint idx);
Get the format information at position idx
in media
.
GstSDPResult gst_sdp_media_add_format (GstSDPMedia *media,const gchar *format);
Add the format information to media
.
const gchar *
gst_sdp_media_get_information (const GstSDPMedia *media);
Get the information of media
GstSDPResult gst_sdp_media_set_information (GstSDPMedia *media,const gchar *information);
Set the media information of media
to information
.
guint
gst_sdp_media_connections_len (const GstSDPMedia *media);
Get the number of connection fields in media
.
const GstSDPConnection * gst_sdp_media_get_connection (const GstSDPMedia *media,guint idx);
Get the connection at position idx
in media
.
GstSDPResult gst_sdp_media_add_connection (GstSDPMedia *media,const gchar *nettype,const gchar *addrtype,const gchar *address,guint ttl,guint addr_number);
Add the given connection parameters to media
.
guint
gst_sdp_media_bandwidths_len (const GstSDPMedia *media);
Get the number of bandwidth fields in media
.
const GstSDPBandwidth * gst_sdp_media_get_bandwidth (const GstSDPMedia *media,guint idx);
Get the bandwidth at position idx
in media
.
GstSDPResult gst_sdp_media_add_bandwidth (GstSDPMedia *media,const gchar *bwtype,guint bandwidth);
Add the bandwidth information with bwtype
and bandwidth
to media
.
const GstSDPKey *
gst_sdp_media_get_key (const GstSDPMedia *media);
Get the encryption information from media
.
GstSDPResult gst_sdp_media_set_key (GstSDPMedia *media,const gchar *type,const gchar *data);
Adds the encryption information to media
.
guint
gst_sdp_media_attributes_len (const GstSDPMedia *media);
Get the number of attribute fields in media
.
const GstSDPAttribute * gst_sdp_media_get_attribute (const GstSDPMedia *media,guint idx);
Get the attribute at position idx
in media
.
const gchar * gst_sdp_media_get_attribute_val (const GstSDPMedia *media,const gchar *key);
Get the first attribute value for key
in media
.
const gchar * gst_sdp_media_get_attribute_val_n (const GstSDPMedia *media,const gchar *key,guint nth);
Get the nth
attribute value for key
in media
.
GstSDPResult gst_sdp_media_add_attribute (GstSDPMedia *media,const gchar *key,const gchar *value);
Add the attribute with key
and value
to media
.
gchar *
gst_sdp_media_as_text (const GstSDPMedia *media);
Convert the contents of media
to a text string.
typedef struct {
gchar *username;
gchar *sess_id;
gchar *sess_version;
gchar *nettype;
gchar *addrtype;
gchar *addr;
} GstSDPOrigin;
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.
gchar * |
the user's login on the originating host, or it is "-" if the originating host does not support the concept of user ids. |
|
gchar * |
is a numeric string such that the tuple of |
|
gchar * |
a version number for this announcement |
|
gchar * |
the type of network. "IN" is defined to have the meaning "Internet". |
|
gchar * |
the type of |
|
gchar * |
the globally unique address of the machine from which the session was created. |
typedef struct {
gchar *nettype;
gchar *addrtype;
gchar *address;
guint ttl;
guint addr_number;
} GstSDPConnection;
The contents of the SDP "c=" field which contains connection data.
#define GST_SDP_BWTYPE_AS "AS"
The Application-Specific Maximum bandwidth modifier.
#define GST_SDP_BWTYPE_EXT_PREFIX "X-"
The extension prefix bandwidth modifier.
#define GST_SDP_BWTYPE_RR "RR"
RTCP bandwidth allocated to data receivers (RFC 3556).
Since 0.10.15
#define GST_SDP_BWTYPE_RS "RS"
RTCP bandwidth allocated to active data senders (RFC 3556).
Since 0.10.15
#define GST_SDP_BWTYPE_TIAS "TIAS"
Transport Independent Application Specific Maximum bandwidth (RFC 3890).
Since 0.10.30
typedef struct {
gchar *bwtype;
guint bandwidth;
} GstSDPBandwidth;
The contents of the SDP "b=" field which specifies the proposed bandwidth to be used by the session or media.
typedef struct {
gchar *start;
gchar *stop;
GArray *repeat;
} GstSDPTime;
The contents of the SDP "t=" field which specify the start and stop times for a conference session.
gchar * |
start time for the conference. The value is the decimal representation of Network Time Protocol (NTP) time values in seconds |
|
gchar * |
stop time for the conference. The value is the decimal representation of Network Time Protocol (NTP) time values in seconds |
|
GArray * |
repeat times for a session |
typedef struct {
gchar *time;
gchar *typed_time;
} GstSDPZone;
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 *type;
gchar *data;
} GstSDPKey;
The contents of the SDP "k=" field which is used to convey encryption keys.
typedef struct {
gchar *key;
gchar *value;
} GstSDPAttribute;
The contents of the SDP "a=" field which contains a key/value pair.
typedef struct {
gchar *media;
guint port;
guint num_ports;
gchar *proto;
GArray *fmts;
gchar *information;
GArray *connections;
GArray *bandwidths;
GstSDPKey key;
GArray *attributes;
} GstSDPMedia;
The contents of the SDP "m=" field with all related fields.
gchar * |
the media type |
|
guint |
the transport port to which the media stream will be sent |
|
guint |
the number of ports or -1 if only one port was specified |
|
gchar * |
the transport protocol |
|
GArray * |
an array of gchar formats |
|
gchar * |
the media title |
|
GArray * |
array of GstSDPConnection with media connection information |
|
GArray * |
array of GstSDPBandwidth with media bandwidth information |
|
GstSDPKey |
the encryption key |
|
GArray * |
array of GstSDPAttribute with the additional media attributes |
typedef struct {
gchar *version;
GstSDPOrigin origin;
gchar *session_name;
gchar *information;
gchar *uri;
GArray *emails;
GArray *phones;
GstSDPConnection connection;
GArray *bandwidths;
GArray *times;
GArray *zones;
GstSDPKey key;
GArray *attributes;
GArray *medias;
} GstSDPMessage;
The contents of the SDP message.
gchar * |
the protocol version |
|
GstSDPOrigin |
owner/creator and session identifier |
|
gchar * |
session name |
|
gchar * |
session information |
|
gchar * |
URI of description |
|
GArray * |
array of gchar with email addresses |
|
GArray * |
array of gchar with phone numbers |
|
GstSDPConnection |
connection information for the session |
|
GArray * |
array of GstSDPBandwidth with bandwidth information |
|
GArray * |
array of GstSDPTime with time descriptions |
|
GArray * |
array of GstSDPZone with time zone adjustments |
|
GstSDPKey |
encryption key |
|
GArray * |
array of GstSDPAttribute with session attributes |
|
GArray * |
array of GstSDPMedia with media descriptions |