![]() |
![]() |
![]() |
Wocky Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
WockyJingleCodec; WockyJingleFeedbackMessage; WockyJingleMediaDescription; struct WockyJingleMediaRtpClass; WockyJingleRtpHeaderExtension; void jingle_media_rtp_codec_free (WockyJingleCodec *p
); WockyJingleCodec * jingle_media_rtp_codec_new (guint id
,const gchar *name
,guint clockrate
,guint channels
,GHashTable *params
); gboolean jingle_media_rtp_compare_codecs (GList *old
,GList *new
,GList **changed
,GError **e
); GList * jingle_media_rtp_copy_codecs (GList *codecs
); void jingle_media_rtp_free_codecs (GList *codecs
); void jingle_media_rtp_register (WockyJingleFactory *factory
); gboolean jingle_media_rtp_set_local_media_description (WockyJingleMediaRtp *self
,WockyJingleMediaDescription *md
,gboolean ready
,GError **error
); void wocky_jingle_feedback_message_free (WockyJingleFeedbackMessage *fb
); WockyJingleFeedbackMessage * wocky_jingle_feedback_message_new (const gchar *type
,const gchar *subtype
); WockyJingleMediaDescription * wocky_jingle_media_description_copy (WockyJingleMediaDescription *md
); void wocky_jingle_media_description_free (WockyJingleMediaDescription *md
); WockyJingleMediaDescription * wocky_jingle_media_description_new (void
); void wocky_jingle_media_description_simplify (WockyJingleMediaDescription *md
); WockyJingleMediaDescription * wocky_jingle_media_rtp_get_remote_media_description (WockyJingleMediaRtp *self
); void wocky_jingle_rtp_header_extension_free (WockyJingleRtpHeaderExtension *hdrext
); WockyJingleRtpHeaderExtension * wocky_jingle_rtp_header_extension_new (guint id
,WockyJingleContentSenders senders
,const gchar *uri
);
typedef struct { guint id; gchar *name; guint clockrate; guint channels; GHashTable *params; guint trr_int; GList *feedback_msgs; } WockyJingleCodec;
typedef struct { gchar *type; gchar *subtype; } WockyJingleFeedbackMessage;
typedef struct { GList *codecs; GList *hdrexts; guint trr_int; GList *feedback_msgs; } WockyJingleMediaDescription;
Media description for a WockyJingleMediaRtp content.
GList * |
a list of WockyJingleCodecs, allocated with
jingle_media_rtp_codec_new()
|
GList * |
a list of WockyJingleRtpHeaderExtensions, allocated with
wocky_jingle_rtp_header_extension_new()
|
guint |
number of milliseconds between regular RTCP reports |
GList * |
a list of WockyJingleFeedbackMessages, allocated
with wocky_jingle_feedback_message_new()
|
struct WockyJingleMediaRtpClass { WockyJingleContentClass parent_class; };
typedef struct { guint id; WockyJingleContentSenders senders; gchar *uri; } WockyJingleRtpHeaderExtension;
WockyJingleCodec * jingle_media_rtp_codec_new (guint id
,const gchar *name
,guint clockrate
,guint channels
,GHashTable *params
);
Creates a new structure describing a codec, suitable for including in a WockyJingleMediaDescription.
|
a codec ID, as specified in tables 4 and 5 of RFC 3551. |
|
the codec's name. This is optional if id is one of the
statically-defined codec identifiers, and required if id is in the range
96–127. (This is not enforced by this library.). [allow-none]
|
|
the clock rate for this codec, or 0 to not specify a clock rate. |
|
the number of channels, or 0 to leave this unspecified (which the peer should interpret as the default value, 1). |
|
parameters for this codec. This is referenced, not copied, so you should avoid modifying this parameter after calling this function. [element-type utf8 utf8][transfer none][allow-none] |
Returns : |
the codec description. [transfer full] |
gboolean jingle_media_rtp_compare_codecs (GList *old
,GList *new
,GList **changed
,GError **e
);
gboolean jingle_media_rtp_set_local_media_description (WockyJingleMediaRtp *self
,WockyJingleMediaDescription *md
,gboolean ready
,GError **error
);
Sets or updates the media description (codecs, feedback messages, etc) for
self
.
|
a content in an RTP session |
|
new media description for this content. [transfer full] |
|
whether the codecs can regarded as ready to sent from now on |
|
used to return a WOCKY_XMPP_ERROR if the codec update is illegal. |
Returns : |
TRUE if no description was previously set, or if the update is
compatible with the existing description; FALSE if the update is illegal
(due to adding previously-unknown codecs or renaming an existing codec, for
example) |
void wocky_jingle_feedback_message_free (WockyJingleFeedbackMessage *fb
);
WockyJingleFeedbackMessage * wocky_jingle_feedback_message_new (const gchar *type
,const gchar *subtype
);
WockyJingleMediaDescription * wocky_jingle_media_description_copy
(WockyJingleMediaDescription *md
);
Performs a deep copy of a media description.
|
a media description |
Returns : |
a deep copy of md . [transfer full]
|
void wocky_jingle_media_description_free (WockyJingleMediaDescription *md
);
WockyJingleMediaDescription * wocky_jingle_media_description_new
(void
);
Allocates a new media description. You should fill in all the fields yourself.
Returns : |
a new, empty, media description |
void wocky_jingle_media_description_simplify
(WockyJingleMediaDescription *md
);
Removes duplicated Feedback message and put them in the global structure
This function will iterate over every codec in a description and look for feedback messages that are exactly the same in every codec and will instead put the in the list in the description and remove them from the childs. This limits the amount of duplication in the resulting XML.
|
a description to simplify |
WockyJingleMediaDescription * wocky_jingle_media_rtp_get_remote_media_description
(WockyJingleMediaRtp *self
);
Gets the current remote media description, if known. The "remote-media-description" signal is emitted when this value changes.
|
the RTP content |
Returns : |
the current remote media description, which may be
NULL for outgoing calls until it is first received. [transfer none]
|
void wocky_jingle_rtp_header_extension_free
(WockyJingleRtpHeaderExtension *hdrext
);
WockyJingleRtpHeaderExtension * wocky_jingle_rtp_header_extension_new (guint id
,WockyJingleContentSenders senders
,const gchar *uri
);