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 |