Initialize Tizen 2.3
[framework/multimedia/gstreamer0.10.git] / mobile / docs / gst / html / gstreamer-GstMessage.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GstMessage</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GStreamer 0.10 Core Reference Manual">
8 <link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
9 <link rel="prev" href="gstreamer-GstIterator.html" title="GstIterator">
10 <link rel="next" href="gstreamer-GstMiniObject.html" title="GstMiniObject">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gstreamer-GstIterator.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GStreamer 0.10 Core Reference Manual</th>
21 <td><a accesskey="n" href="gstreamer-GstMiniObject.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gstreamer-GstMessage.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gstreamer-GstMessage.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="gstreamer-GstMessage"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="gstreamer-GstMessage.top_of_page"></a>GstMessage</span></h2>
34 <p>GstMessage — Lightweight objects to signal the application of
35                     pipeline events</p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="gstreamer-GstMessage.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis">
42 #include &lt;gst/gst.h&gt;
43
44 struct              <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage">GstMessage</a>;
45 enum                <a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType">GstMessageType</a>;
46 #define             <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-SRC:CAPS" title="GST_MESSAGE_SRC()">GST_MESSAGE_SRC</a>                     (message)
47 #define             <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-SRC-NAME:CAPS" title="GST_MESSAGE_SRC_NAME()">GST_MESSAGE_SRC_NAME</a>                (message)
48 #define             <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-TIMESTAMP:CAPS" title="GST_MESSAGE_TIMESTAMP()">GST_MESSAGE_TIMESTAMP</a>               (message)
49 #define             <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS" title="GST_MESSAGE_TYPE()">GST_MESSAGE_TYPE</a>                    (message)
50 #define             <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-TYPE-NAME:CAPS" title="GST_MESSAGE_TYPE_NAME()">GST_MESSAGE_TYPE_NAME</a>               (message)
51 #define             <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-TRACE-NAME:CAPS" title="GST_MESSAGE_TRACE_NAME">GST_MESSAGE_TRACE_NAME</a>
52 <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              <a class="link" href="gstreamer-GstMessage.html#gst-message-type-to-quark" title="gst_message_type_to_quark ()">gst_message_type_to_quark</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>);
53 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="gstreamer-GstMessage.html#gst-message-type-get-name" title="gst_message_type_get_name ()">gst_message_type_get_name</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>);
54 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-ref" title="gst_message_ref ()">gst_message_ref</a>                     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);
55 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-unref" title="gst_message_unref ()">gst_message_unref</a>                   (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);
56 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-copy" title="gst_message_copy ()">gst_message_copy</a>                    (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);
57 const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * <a class="link" href="gstreamer-GstMessage.html#gst-message-get-structure" title="gst_message_get_structure ()">gst_message_get_structure</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);
58 #define             <a class="link" href="gstreamer-GstMessage.html#gst-message-make-writable" title="gst_message_make_writable()">gst_message_make_writable</a>           (msg)
59 <span class="returnvalue">guint32</span>             <a class="link" href="gstreamer-GstMessage.html#gst-message-get-seqnum" title="gst_message_get_seqnum ()">gst_message_get_seqnum</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);
60 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-set-seqnum" title="gst_message_set_seqnum ()">gst_message_set_seqnum</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
61                                                          <em class="parameter"><code><span class="type">guint32</span> seqnum</code></em>);
62 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-eos" title="gst_message_new_eos ()">gst_message_new_eos</a>                 (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);
63 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-error" title="gst_message_new_error ()">gst_message_new_error</a>               (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
64                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
65                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *debug</code></em>);
66 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-error" title="gst_message_parse_error ()">gst_message_parse_error</a>             (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
67                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **gerror</code></em>,
68                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **debug</code></em>);
69 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-warning" title="gst_message_new_warning ()">gst_message_new_warning</a>             (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
70                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
71                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *debug</code></em>);
72 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-warning" title="gst_message_parse_warning ()">gst_message_parse_warning</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
73                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **gerror</code></em>,
74                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **debug</code></em>);
75 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-info" title="gst_message_new_info ()">gst_message_new_info</a>                (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
76                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
77                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *debug</code></em>);
78 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-info" title="gst_message_parse_info ()">gst_message_parse_info</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
79                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **gerror</code></em>,
80                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **debug</code></em>);
81 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-tag" title="gst_message_new_tag ()">gst_message_new_tag</a>                 (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
82                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="GstTagList"><span class="type">GstTagList</span></a> *tag_list</code></em>);
83 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-tag-full" title="gst_message_new_tag_full ()">gst_message_new_tag_full</a>            (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
84                                                          <em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
85                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="GstTagList"><span class="type">GstTagList</span></a> *tag_list</code></em>);
86 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-tag" title="gst_message_parse_tag ()">gst_message_parse_tag</a>               (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
87                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="GstTagList"><span class="type">GstTagList</span></a> **tag_list</code></em>);
88 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-tag-full" title="gst_message_parse_tag_full ()">gst_message_parse_tag_full</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
89                                                          <em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> **pad</code></em>,
90                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="GstTagList"><span class="type">GstTagList</span></a> **tag_list</code></em>);
91 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-buffering" title="gst_message_new_buffering ()">gst_message_new_buffering</a>           (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
92                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> percent</code></em>);
93 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-buffering" title="gst_message_parse_buffering ()">gst_message_parse_buffering</a>         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
94                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *percent</code></em>);
95 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-set-buffering-stats" title="gst_message_set_buffering_stats ()">gst_message_set_buffering_stats</a>     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
96                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> mode</code></em>,
97                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> avg_in</code></em>,
98                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> avg_out</code></em>,
99                                                          <em class="parameter"><code><span class="type">gint64</span> buffering_left</code></em>);
100 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-buffering-stats" title="gst_message_parse_buffering_stats ()">gst_message_parse_buffering_stats</a>   (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
101                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> *mode</code></em>,
102                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *avg_in</code></em>,
103                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *avg_out</code></em>,
104                                                          <em class="parameter"><code><span class="type">gint64</span> *buffering_left</code></em>);
105 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-state-changed" title="gst_message_new_state_changed ()">gst_message_new_state_changed</a>       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
106                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> oldstate</code></em>,
107                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> newstate</code></em>,
108                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> pending</code></em>);
109 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-state-changed" title="gst_message_parse_state_changed ()">gst_message_parse_state_changed</a>     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
110                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *oldstate</code></em>,
111                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *newstate</code></em>,
112                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *pending</code></em>);
113 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-state-dirty" title="gst_message_new_state_dirty ()">gst_message_new_state_dirty</a>         (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);
114 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-step-done" title="gst_message_new_step_done ()">gst_message_new_step_done</a>           (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
115                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
116                                                          <em class="parameter"><code><span class="type">guint64</span> amount</code></em>,
117                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>,
118                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flush</code></em>,
119                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> intermediate</code></em>,
120                                                          <em class="parameter"><code><span class="type">guint64</span> duration</code></em>,
121                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> eos</code></em>);
122 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-step-done" title="gst_message_parse_step_done ()">gst_message_parse_step_done</a>         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
123                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
124                                                          <em class="parameter"><code><span class="type">guint64</span> *amount</code></em>,
125                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>,
126                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *flush</code></em>,
127                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *intermediate</code></em>,
128                                                          <em class="parameter"><code><span class="type">guint64</span> *duration</code></em>,
129                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *eos</code></em>);
130 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-clock-provide" title="gst_message_new_clock_provide ()">gst_message_new_clock_provide</a>       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
131                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>,
132                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> ready</code></em>);
133 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-clock-provide" title="gst_message_parse_clock_provide ()">gst_message_parse_clock_provide</a>     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
134                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> **clock</code></em>,
135                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *ready</code></em>);
136 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-clock-lost" title="gst_message_new_clock_lost ()">gst_message_new_clock_lost</a>          (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
137                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>);
138 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-clock-lost" title="gst_message_parse_clock_lost ()">gst_message_parse_clock_lost</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
139                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> **clock</code></em>);
140 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-new-clock" title="gst_message_new_new_clock ()">gst_message_new_new_clock</a>           (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
141                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>);
142 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-new-clock" title="gst_message_parse_new_clock ()">gst_message_parse_new_clock</a>         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
143                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> **clock</code></em>);
144 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-application" title="gst_message_new_application ()">gst_message_new_application</a>         (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
145                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
146 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-element" title="gst_message_new_element ()">gst_message_new_element</a>             (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
147                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
148 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-custom" title="gst_message_new_custom ()">gst_message_new_custom</a>              (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
149                                                          <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
150                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);
151 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-segment-start" title="gst_message_new_segment_start ()">gst_message_new_segment_start</a>       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
152                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
153                                                          <em class="parameter"><code><span class="type">gint64</span> position</code></em>);
154 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-segment-start" title="gst_message_parse_segment_start ()">gst_message_parse_segment_start</a>     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
155                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
156                                                          <em class="parameter"><code><span class="type">gint64</span> *position</code></em>);
157 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-segment-done" title="gst_message_new_segment_done ()">gst_message_new_segment_done</a>        (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
158                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
159                                                          <em class="parameter"><code><span class="type">gint64</span> position</code></em>);
160 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-segment-done" title="gst_message_parse_segment_done ()">gst_message_parse_segment_done</a>      (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
161                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
162                                                          <em class="parameter"><code><span class="type">gint64</span> *position</code></em>);
163 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-duration" title="gst_message_new_duration ()">gst_message_new_duration</a>            (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
164                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
165                                                          <em class="parameter"><code><span class="type">gint64</span> duration</code></em>);
166 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-duration" title="gst_message_parse_duration ()">gst_message_parse_duration</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
167                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
168                                                          <em class="parameter"><code><span class="type">gint64</span> *duration</code></em>);
169 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-latency" title="gst_message_new_latency ()">gst_message_new_latency</a>             (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);
170 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-async-start" title="gst_message_new_async_start ()">gst_message_new_async_start</a>         (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
171                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> new_base_time</code></em>);
172 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-async-start" title="gst_message_parse_async_start ()">gst_message_parse_async_start</a>       (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
173                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *new_base_time</code></em>);
174 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-async-done" title="gst_message_new_async_done ()">gst_message_new_async_done</a>          (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);
175 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-step-start" title="gst_message_new_step_start ()">gst_message_new_step_start</a>          (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
176                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> active</code></em>,
177                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
178                                                          <em class="parameter"><code><span class="type">guint64</span> amount</code></em>,
179                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>,
180                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flush</code></em>,
181                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> intermediate</code></em>);
182 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-step-start" title="gst_message_parse_step_start ()">gst_message_parse_step_start</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
183                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *active</code></em>,
184                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
185                                                          <em class="parameter"><code><span class="type">guint64</span> *amount</code></em>,
186                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>,
187                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *flush</code></em>,
188                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *intermediate</code></em>);
189 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-qos" title="gst_message_new_qos ()">gst_message_new_qos</a>                 (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
190                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> live</code></em>,
191                                                          <em class="parameter"><code><span class="type">guint64</span> running_time</code></em>,
192                                                          <em class="parameter"><code><span class="type">guint64</span> stream_time</code></em>,
193                                                          <em class="parameter"><code><span class="type">guint64</span> timestamp</code></em>,
194                                                          <em class="parameter"><code><span class="type">guint64</span> duration</code></em>);
195 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-set-qos-values" title="gst_message_set_qos_values ()">gst_message_set_qos_values</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
196                                                          <em class="parameter"><code><span class="type">gint64</span> jitter</code></em>,
197                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> proportion</code></em>,
198                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> quality</code></em>);
199 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-set-qos-stats" title="gst_message_set_qos_stats ()">gst_message_set_qos_stats</a>           (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
200                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
201                                                          <em class="parameter"><code><span class="type">guint64</span> processed</code></em>,
202                                                          <em class="parameter"><code><span class="type">guint64</span> dropped</code></em>);
203 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-qos" title="gst_message_parse_qos ()">gst_message_parse_qos</a>               (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
204                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *live</code></em>,
205                                                          <em class="parameter"><code><span class="type">guint64</span> *running_time</code></em>,
206                                                          <em class="parameter"><code><span class="type">guint64</span> *stream_time</code></em>,
207                                                          <em class="parameter"><code><span class="type">guint64</span> *timestamp</code></em>,
208                                                          <em class="parameter"><code><span class="type">guint64</span> *duration</code></em>);
209 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-qos-values" title="gst_message_parse_qos_values ()">gst_message_parse_qos_values</a>        (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
210                                                          <em class="parameter"><code><span class="type">gint64</span> *jitter</code></em>,
211                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *proportion</code></em>,
212                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *quality</code></em>);
213 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-qos-stats" title="gst_message_parse_qos_stats ()">gst_message_parse_qos_stats</a>         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
214                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
215                                                          <em class="parameter"><code><span class="type">guint64</span> *processed</code></em>,
216                                                          <em class="parameter"><code><span class="type">guint64</span> *dropped</code></em>);
217 enum                <a class="link" href="gstreamer-GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType">GstStructureChangeType</a>;
218 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-structure-change" title="gst_message_new_structure_change ()">gst_message_new_structure_change</a>    (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
219                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType"><span class="type">GstStructureChangeType</span></a> type</code></em>,
220                                                          <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *owner</code></em>,
221                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> busy</code></em>);
222 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-structure-change" title="gst_message_parse_structure_change ()">gst_message_parse_structure_change</a>  (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
223                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType"><span class="type">GstStructureChangeType</span></a> *type</code></em>,
224                                                          <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> **owner</code></em>,
225                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *busy</code></em>);
226 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-request-state" title="gst_message_new_request_state ()">gst_message_new_request_state</a>       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
227                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> state</code></em>);
228 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-request-state" title="gst_message_parse_request_state ()">gst_message_parse_request_state</a>     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
229                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *state</code></em>);
230 enum                <a class="link" href="gstreamer-GstMessage.html#GstStreamStatusType" title="enum GstStreamStatusType">GstStreamStatusType</a>;
231 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-stream-status" title="gst_message_new_stream_status ()">gst_message_new_stream_status</a>       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
232                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstStreamStatusType" title="enum GstStreamStatusType"><span class="type">GstStreamStatusType</span></a> type</code></em>,
233                                                          <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *owner</code></em>);
234 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-stream-status" title="gst_message_parse_stream_status ()">gst_message_parse_stream_status</a>     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
235                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstStreamStatusType" title="enum GstStreamStatusType"><span class="type">GstStreamStatusType</span></a> *type</code></em>,
236                                                          <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> **owner</code></em>);
237 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-set-stream-status-object" title="gst_message_set_stream_status_object ()">gst_message_set_stream_status_object</a>
238                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
239                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *object</code></em>);
240 const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *      <a class="link" href="gstreamer-GstMessage.html#gst-message-get-stream-status-object" title="gst_message_get_stream_status_object ()">gst_message_get_stream_status_object</a>
241                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);
242 enum                <a class="link" href="gstreamer-GstMessage.html#GstProgressType" title="enum GstProgressType">GstProgressType</a>;
243 <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        <a class="link" href="gstreamer-GstMessage.html#gst-message-new-progress" title="gst_message_new_progress ()">gst_message_new_progress</a>            (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
244                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstProgressType" title="enum GstProgressType"><span class="type">GstProgressType</span></a> type</code></em>,
245                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *code</code></em>,
246                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);
247 <span class="returnvalue">void</span>                <a class="link" href="gstreamer-GstMessage.html#gst-message-parse-progress" title="gst_message_parse_progress ()">gst_message_parse_progress</a>          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
248                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstProgressType" title="enum GstProgressType"><span class="type">GstProgressType</span></a> *type</code></em>,
249                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **code</code></em>,
250                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **text</code></em>);
251 </pre>
252 </div>
253 <div class="refsect1">
254 <a name="gstreamer-GstMessage.description"></a><h2>Description</h2>
255 <p>
256 Messages are implemented as a subclass of <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> with a generic
257 <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> as the content. This allows for writing custom messages without
258 requiring an API change while allowing a wide range of different types
259 of messages.
260 </p>
261 <p>
262 Messages are posted by objects in the pipeline and are passed to the
263 application using the <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a>.
264 </p>
265 <p>
266 The basic use pattern of posting a message on a <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a> is as follows:
267 </p>
268 <p>
269 </p>
270 <div class="example">
271 <a name="idp27189072"></a><p class="title"><b>Example 14. Posting a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a></b></p>
272 <div class="example-contents">
273   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
274     <tbody>
275       <tr>
276         <td class="listing_lines" align="right"><pre>1</pre></td>
277         <td class="listing_code"><pre class="programlisting"><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-post">gst_bus_post</a></span> <span class="gtkdoc opt">(</span>bus<span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-new-eos">gst_message_new_eos</a></span><span class="gtkdoc opt">());</span></pre></td>
278       </tr>
279     </tbody>
280   </table>
281 </div>
282
283 </div>
284 <p><br class="example-break">
285 </p>
286 <p>
287 A <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> usually posts messages on the bus provided by the parent
288 container using <a class="link" href="GstElement.html#gst-element-post-message" title="gst_element_post_message ()"><code class="function">gst_element_post_message()</code></a>.
289 </p>
290 <p>
291 Last reviewed on 2005-11-09 (0.9.4)
292 </p>
293 </div>
294 <div class="refsect1">
295 <a name="gstreamer-GstMessage.details"></a><h2>Details</h2>
296 <div class="refsect2">
297 <a name="GstMessage"></a><h3>struct GstMessage</h3>
298 <pre class="programlisting">struct GstMessage {
299   GstMiniObject mini_object;
300
301   GstMessageType type;
302   guint64 timestamp;
303   GstObject *src;
304
305   GstStructure *structure;
306 };
307 </pre>
308 <p>
309 A <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>.
310 </p>
311 <div class="variablelist"><table border="0">
312 <col align="left" valign="top">
313 <tbody>
314 <tr>
315 <td><p><span class="term"><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstMessage.mini-object"></a>mini_object</code></em>;</span></p></td>
316 <td>the parent structure</td>
317 </tr>
318 <tr>
319 <td><p><span class="term"><a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> <em class="structfield"><code><a name="GstMessage.type"></a>type</code></em>;</span></p></td>
320 <td>the <a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> of the message</td>
321 </tr>
322 <tr>
323 <td><p><span class="term"><span class="type">guint64</span> <em class="structfield"><code><a name="GstMessage.timestamp"></a>timestamp</code></em>;</span></p></td>
324 <td>the timestamp of the message</td>
325 </tr>
326 <tr>
327 <td><p><span class="term"><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *<em class="structfield"><code><a name="GstMessage.src"></a>src</code></em>;</span></p></td>
328 <td>the src of the message</td>
329 </tr>
330 <tr>
331 <td><p><span class="term"><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *<em class="structfield"><code><a name="GstMessage.structure"></a>structure</code></em>;</span></p></td>
332 <td>the <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> containing the message info.</td>
333 </tr>
334 </tbody>
335 </table></div>
336 </div>
337 <hr>
338 <div class="refsect2">
339 <a name="GstMessageType"></a><h3>enum GstMessageType</h3>
340 <pre class="programlisting">typedef enum {
341   GST_MESSAGE_UNKNOWN           = 0,
342   GST_MESSAGE_EOS               = (1 &lt;&lt; 0),
343   GST_MESSAGE_ERROR             = (1 &lt;&lt; 1),
344   GST_MESSAGE_WARNING           = (1 &lt;&lt; 2),
345   GST_MESSAGE_INFO              = (1 &lt;&lt; 3),
346   GST_MESSAGE_TAG               = (1 &lt;&lt; 4),
347   GST_MESSAGE_BUFFERING         = (1 &lt;&lt; 5),
348   GST_MESSAGE_STATE_CHANGED     = (1 &lt;&lt; 6),
349   GST_MESSAGE_STATE_DIRTY       = (1 &lt;&lt; 7),
350   GST_MESSAGE_STEP_DONE         = (1 &lt;&lt; 8),
351   GST_MESSAGE_CLOCK_PROVIDE     = (1 &lt;&lt; 9),
352   GST_MESSAGE_CLOCK_LOST        = (1 &lt;&lt; 10),
353   GST_MESSAGE_NEW_CLOCK         = (1 &lt;&lt; 11),
354   GST_MESSAGE_STRUCTURE_CHANGE  = (1 &lt;&lt; 12),
355   GST_MESSAGE_STREAM_STATUS     = (1 &lt;&lt; 13),
356   GST_MESSAGE_APPLICATION       = (1 &lt;&lt; 14),
357   GST_MESSAGE_ELEMENT           = (1 &lt;&lt; 15),
358   GST_MESSAGE_SEGMENT_START     = (1 &lt;&lt; 16),
359   GST_MESSAGE_SEGMENT_DONE      = (1 &lt;&lt; 17),
360   GST_MESSAGE_DURATION          = (1 &lt;&lt; 18),
361   GST_MESSAGE_LATENCY           = (1 &lt;&lt; 19),
362   GST_MESSAGE_ASYNC_START       = (1 &lt;&lt; 20),
363   GST_MESSAGE_ASYNC_DONE        = (1 &lt;&lt; 21),
364   GST_MESSAGE_REQUEST_STATE     = (1 &lt;&lt; 22),
365   GST_MESSAGE_STEP_START        = (1 &lt;&lt; 23),
366   GST_MESSAGE_QOS               = (1 &lt;&lt; 24),
367   GST_MESSAGE_PROGRESS          = (1 &lt;&lt; 25),
368   GST_MESSAGE_ANY               = ~0
369 } GstMessageType;
370 </pre>
371 <p>
372 The different message types that are available.
373 </p>
374 <div class="variablelist"><table border="0">
375 <col align="left" valign="top">
376 <tbody>
377 <tr>
378 <td><p><a name="GST-MESSAGE-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_UNKNOWN</code></span></p></td>
379 <td>an undefined message
380 </td>
381 </tr>
382 <tr>
383 <td><p><a name="GST-MESSAGE-EOS:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_EOS</code></span></p></td>
384 <td>end-of-stream reached in a pipeline. The application will
385 only receive this message in the PLAYING state and every time it sets a
386 pipeline to PLAYING that is in the EOS state. The application can perform a
387 flushing seek in the pipeline, which will undo the EOS state again.
388 </td>
389 </tr>
390 <tr>
391 <td><p><a name="GST-MESSAGE-ERROR:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ERROR</code></span></p></td>
392 <td>an error occured. When the application receives an error
393 message it should stop playback of the pipeline and not assume that more
394 data will be played.
395 </td>
396 </tr>
397 <tr>
398 <td><p><a name="GST-MESSAGE-WARNING:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_WARNING</code></span></p></td>
399 <td>a warning occured.
400 </td>
401 </tr>
402 <tr>
403 <td><p><a name="GST-MESSAGE-INFO:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_INFO</code></span></p></td>
404 <td>an info message occured
405 </td>
406 </tr>
407 <tr>
408 <td><p><a name="GST-MESSAGE-TAG:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_TAG</code></span></p></td>
409 <td>a tag was found.
410 </td>
411 </tr>
412 <tr>
413 <td><p><a name="GST-MESSAGE-BUFFERING:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_BUFFERING</code></span></p></td>
414 <td>the pipeline is buffering. When the application
415 receives a buffering message in the PLAYING state for a non-live pipeline it
416 must PAUSE the pipeline until the buffering completes, when the percentage
417 field in the message is 100%. For live pipelines, no action must be
418 performed and the buffering percentage can be used to inform the user about
419 the progress.
420 </td>
421 </tr>
422 <tr>
423 <td><p><a name="GST-MESSAGE-STATE-CHANGED:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_STATE_CHANGED</code></span></p></td>
424 <td>a state change happened
425 </td>
426 </tr>
427 <tr>
428 <td><p><a name="GST-MESSAGE-STATE-DIRTY:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_STATE_DIRTY</code></span></p></td>
429 <td>an element changed state in a streaming thread.
430 This message is deprecated.
431 </td>
432 </tr>
433 <tr>
434 <td><p><a name="GST-MESSAGE-STEP-DONE:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_STEP_DONE</code></span></p></td>
435 <td>a stepping operation finished.
436 </td>
437 </tr>
438 <tr>
439 <td><p><a name="GST-MESSAGE-CLOCK-PROVIDE:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_CLOCK_PROVIDE</code></span></p></td>
440 <td>an element notifies its capability of providing
441                             a clock. This message is used internally and
442                             never forwarded to the application.
443 </td>
444 </tr>
445 <tr>
446 <td><p><a name="GST-MESSAGE-CLOCK-LOST:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_CLOCK_LOST</code></span></p></td>
447 <td>The current clock as selected by the pipeline became
448                          unusable. The pipeline will select a new clock on
449                          the next PLAYING state change. The application
450                          should set the pipeline to PAUSED and back to
451                          PLAYING when this message is received.
452 </td>
453 </tr>
454 <tr>
455 <td><p><a name="GST-MESSAGE-NEW-CLOCK:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_NEW_CLOCK</code></span></p></td>
456 <td>a new clock was selected in the pipeline.
457 </td>
458 </tr>
459 <tr>
460 <td><p><a name="GST-MESSAGE-STRUCTURE-CHANGE:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_STRUCTURE_CHANGE</code></span></p></td>
461 <td>the structure of the pipeline changed. This
462 message is used internally and never forwarded to the application.
463 </td>
464 </tr>
465 <tr>
466 <td><p><a name="GST-MESSAGE-STREAM-STATUS:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_STREAM_STATUS</code></span></p></td>
467 <td>status about a stream, emitted when it starts,
468                             stops, errors, etc..
469 </td>
470 </tr>
471 <tr>
472 <td><p><a name="GST-MESSAGE-APPLICATION:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_APPLICATION</code></span></p></td>
473 <td>message posted by the application, possibly
474                           via an application-specific element.
475 </td>
476 </tr>
477 <tr>
478 <td><p><a name="GST-MESSAGE-ELEMENT:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ELEMENT</code></span></p></td>
479 <td>element-specific message, see the specific element's
480                       documentation
481 </td>
482 </tr>
483 <tr>
484 <td><p><a name="GST-MESSAGE-SEGMENT-START:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_SEGMENT_START</code></span></p></td>
485 <td>pipeline started playback of a segment. This
486 message is used internally and never forwarded to the application.
487 </td>
488 </tr>
489 <tr>
490 <td><p><a name="GST-MESSAGE-SEGMENT-DONE:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_SEGMENT_DONE</code></span></p></td>
491 <td>pipeline completed playback of a segment. This
492 message is forwarded to the application after all elements that posted
493 <em class="parameter"><code>GST_MESSAGE_SEGMENT_START</code></em> posted a GST_MESSAGE_SEGMENT_DONE message.
494 </td>
495 </tr>
496 <tr>
497 <td><p><a name="GST-MESSAGE-DURATION:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_DURATION</code></span></p></td>
498 <td>The duration of a pipeline changed. The application
499 can get the new duration with a duration query.
500 </td>
501 </tr>
502 <tr>
503 <td><p><a name="GST-MESSAGE-LATENCY:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_LATENCY</code></span></p></td>
504 <td>Posted by elements when their latency changes. The
505 application should recalculate and distribute a new latency. Since: 0.10.12
506 </td>
507 </tr>
508 <tr>
509 <td><p><a name="GST-MESSAGE-ASYNC-START:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ASYNC_START</code></span></p></td>
510 <td>Posted by elements when they start an ASYNC
511 <a class="link" href="GstElement.html#GstStateChange" title="enum GstStateChange"><span class="type">GstStateChange</span></a>. This message is not forwarded to the application but is used
512 internally. Since: 0.10.13.
513 </td>
514 </tr>
515 <tr>
516 <td><p><a name="GST-MESSAGE-ASYNC-DONE:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ASYNC_DONE</code></span></p></td>
517 <td>Posted by elements when they complete an ASYNC
518 <a class="link" href="GstElement.html#GstStateChange" title="enum GstStateChange"><span class="type">GstStateChange</span></a>. The application will only receive this message from the toplevel
519 pipeline. Since: 0.10.13
520 </td>
521 </tr>
522 <tr>
523 <td><p><a name="GST-MESSAGE-REQUEST-STATE:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_REQUEST_STATE</code></span></p></td>
524 <td>Posted by elements when they want the pipeline to
525 change state. This message is a suggestion to the application which can
526 decide to perform the state change on (part of) the pipeline. Since: 0.10.23.
527 </td>
528 </tr>
529 <tr>
530 <td><p><a name="GST-MESSAGE-STEP-START:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_STEP_START</code></span></p></td>
531 <td>A stepping operation was started. Since: 0.10.24
532 </td>
533 </tr>
534 <tr>
535 <td><p><a name="GST-MESSAGE-QOS:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_QOS</code></span></p></td>
536 <td>A buffer was dropped or an element changed its processing
537 strategy for Quality of Service reasons. Since: 0.10.29
538 </td>
539 </tr>
540 <tr>
541 <td><p><a name="GST-MESSAGE-PROGRESS:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_PROGRESS</code></span></p></td>
542 <td>A progress message. Since: 0.10.33
543 </td>
544 </tr>
545 <tr>
546 <td><p><a name="GST-MESSAGE-ANY:CAPS"></a><span class="term"><code class="literal">GST_MESSAGE_ANY</code></span></p></td>
547 <td>mask for all of the above messages.
548 </td>
549 </tr>
550 </tbody>
551 </table></div>
552 </div>
553 <hr>
554 <div class="refsect2">
555 <a name="GST-MESSAGE-SRC:CAPS"></a><h3>GST_MESSAGE_SRC()</h3>
556 <pre class="programlisting">#define GST_MESSAGE_SRC(message)        (GST_MESSAGE_CAST(message)-&gt;src)
557 </pre>
558 <p>
559 Get the object that posted <em class="parameter"><code>message</code></em>.
560 </p>
561 <div class="variablelist"><table border="0">
562 <col align="left" valign="top">
563 <tbody><tr>
564 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
565 <td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
566 </td>
567 </tr></tbody>
568 </table></div>
569 </div>
570 <hr>
571 <div class="refsect2">
572 <a name="GST-MESSAGE-SRC-NAME:CAPS"></a><h3>GST_MESSAGE_SRC_NAME()</h3>
573 <pre class="programlisting">#define             GST_MESSAGE_SRC_NAME(message)</pre>
574 <p>
575 Get the name of the object that posted <em class="parameter"><code>message</code></em>. Returns "(NULL)" if
576 the message has no source object set.
577 </p>
578 <div class="variablelist"><table border="0">
579 <col align="left" valign="top">
580 <tbody><tr>
581 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
582 <td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
583 </td>
584 </tr></tbody>
585 </table></div>
586 <p class="since">Since 0.10.24</p>
587 </div>
588 <hr>
589 <div class="refsect2">
590 <a name="GST-MESSAGE-TIMESTAMP:CAPS"></a><h3>GST_MESSAGE_TIMESTAMP()</h3>
591 <pre class="programlisting">#define GST_MESSAGE_TIMESTAMP(message)  (GST_MESSAGE_CAST(message)-&gt;timestamp)
592 </pre>
593 <p>
594 Get the timestamp of <em class="parameter"><code>message</code></em>. This is the timestamp when the message
595 was created.
596 </p>
597 <div class="variablelist"><table border="0">
598 <col align="left" valign="top">
599 <tbody><tr>
600 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
601 <td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
602 </td>
603 </tr></tbody>
604 </table></div>
605 </div>
606 <hr>
607 <div class="refsect2">
608 <a name="GST-MESSAGE-TYPE:CAPS"></a><h3>GST_MESSAGE_TYPE()</h3>
609 <pre class="programlisting">#define GST_MESSAGE_TYPE(message)       (GST_MESSAGE_CAST(message)-&gt;type)
610 </pre>
611 <p>
612 Get the <a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> of <em class="parameter"><code>message</code></em>.
613 </p>
614 <div class="variablelist"><table border="0">
615 <col align="left" valign="top">
616 <tbody><tr>
617 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
618 <td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
619 </td>
620 </tr></tbody>
621 </table></div>
622 </div>
623 <hr>
624 <div class="refsect2">
625 <a name="GST-MESSAGE-TYPE-NAME:CAPS"></a><h3>GST_MESSAGE_TYPE_NAME()</h3>
626 <pre class="programlisting">#define GST_MESSAGE_TYPE_NAME(message)  gst_message_type_get_name(GST_MESSAGE_TYPE(message))
627 </pre>
628 <p>
629 Get a constant string representation of the <a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> of <em class="parameter"><code>message</code></em>.
630 </p>
631 <div class="variablelist"><table border="0">
632 <col align="left" valign="top">
633 <tbody><tr>
634 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
635 <td>a <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>
636 </td>
637 </tr></tbody>
638 </table></div>
639 <p class="since">Since 0.10.4</p>
640 </div>
641 <hr>
642 <div class="refsect2">
643 <a name="GST-MESSAGE-TRACE-NAME:CAPS"></a><h3>GST_MESSAGE_TRACE_NAME</h3>
644 <pre class="programlisting">#define GST_MESSAGE_TRACE_NAME  "GstMessage"
645 </pre>
646 <p>
647 The name used for memory allocation tracing
648 </p>
649 </div>
650 <hr>
651 <div class="refsect2">
652 <a name="gst-message-type-to-quark"></a><h3>gst_message_type_to_quark ()</h3>
653 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>              gst_message_type_to_quark           (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>);</pre>
654 <p>
655 Get the unique quark for the given message type.
656 </p>
657 <div class="variablelist"><table border="0">
658 <col align="left" valign="top">
659 <tbody>
660 <tr>
661 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
662 <td>the message type</td>
663 </tr>
664 <tr>
665 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
666 <td>the quark associated with the message type</td>
667 </tr>
668 </tbody>
669 </table></div>
670 </div>
671 <hr>
672 <div class="refsect2">
673 <a name="gst-message-type-get-name"></a><h3>gst_message_type_get_name ()</h3>
674 <pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       gst_message_type_get_name           (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>);</pre>
675 <p>
676 Get a printable name for the given message type. Do not modify or free.
677 </p>
678 <div class="variablelist"><table border="0">
679 <col align="left" valign="top">
680 <tbody>
681 <tr>
682 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
683 <td>the message type</td>
684 </tr>
685 <tr>
686 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
687 <td>a reference to the static name of the message.</td>
688 </tr>
689 </tbody>
690 </table></div>
691 </div>
692 <hr>
693 <div class="refsect2">
694 <a name="gst-message-ref"></a><h3>gst_message_ref ()</h3>
695 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_ref                     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
696 <p>
697 Convenience macro to increase the reference count of the message.
698 </p>
699 <div class="variablelist"><table border="0">
700 <col align="left" valign="top">
701 <tbody>
702 <tr>
703 <td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
704 <td>the message to ref</td>
705 </tr>
706 <tr>
707 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
708 <td>
709 <em class="parameter"><code>msg</code></em> (for convenience when doing assignments)</td>
710 </tr>
711 </tbody>
712 </table></div>
713 </div>
714 <hr>
715 <div class="refsect2">
716 <a name="gst-message-unref"></a><h3>gst_message_unref ()</h3>
717 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_unref                   (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
718 <p>
719 Convenience macro to decrease the reference count of the message, possibly
720 freeing it.
721 </p>
722 <div class="variablelist"><table border="0">
723 <col align="left" valign="top">
724 <tbody><tr>
725 <td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
726 <td>the message to unref</td>
727 </tr></tbody>
728 </table></div>
729 </div>
730 <hr>
731 <div class="refsect2">
732 <a name="gst-message-copy"></a><h3>gst_message_copy ()</h3>
733 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_copy                    (<em class="parameter"><code>const <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
734 <p>
735 Creates a copy of the message. Returns a copy of the message.
736 </p>
737 <div class="variablelist"><table border="0">
738 <col align="left" valign="top">
739 <tbody>
740 <tr>
741 <td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
742 <td>the message to copy</td>
743 </tr>
744 <tr>
745 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
746 <td>a new copy of <em class="parameter"><code>msg</code></em>.
747 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
748 </td>
749 </tr>
750 </tbody>
751 </table></div>
752 </div>
753 <hr>
754 <div class="refsect2">
755 <a name="gst-message-get-structure"></a><h3>gst_message_get_structure ()</h3>
756 <pre class="programlisting">const <a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="returnvalue">GstStructure</span></a> * gst_message_get_structure          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
757 <p>
758 Access the structure of the message.
759 </p>
760 <div class="variablelist"><table border="0">
761 <col align="left" valign="top">
762 <tbody>
763 <tr>
764 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
765 <td>The <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>.</td>
766 </tr>
767 <tr>
768 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
769 <td>The structure of the message. The structure is
770 still owned by the message, which means that you should not free it and
771 that the pointer becomes invalid when you free the message.
772 MT safe. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
773 </td>
774 </tr>
775 </tbody>
776 </table></div>
777 </div>
778 <hr>
779 <div class="refsect2">
780 <a name="gst-message-make-writable"></a><h3>gst_message_make_writable()</h3>
781 <pre class="programlisting">#define         gst_message_make_writable(msg)  GST_MESSAGE_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (msg)))
782 </pre>
783 <p>
784 Checks if a message is writable. If not, a writable copy is made and
785 returned.
786 </p>
787 <div class="variablelist"><table border="0">
788 <col align="left" valign="top">
789 <tbody>
790 <tr>
791 <td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
792 <td>the message to make writable. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
793 </td>
794 </tr>
795 <tr>
796 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
797 <td>a message (possibly a duplicate) that is writable.
798 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
799 </td>
800 </tr>
801 </tbody>
802 </table></div>
803 </div>
804 <hr>
805 <div class="refsect2">
806 <a name="gst-message-get-seqnum"></a><h3>gst_message_get_seqnum ()</h3>
807 <pre class="programlisting"><span class="returnvalue">guint32</span>             gst_message_get_seqnum              (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
808 <p>
809 Retrieve the sequence number of a message.
810 </p>
811 <p>
812 Messages have ever-incrementing sequence numbers, which may also be set
813 explicitly via <a class="link" href="gstreamer-GstMessage.html#gst-message-set-seqnum" title="gst_message_set_seqnum ()"><code class="function">gst_message_set_seqnum()</code></a>. Sequence numbers are typically used
814 to indicate that a message corresponds to some other set of messages or
815 events, for example a SEGMENT_DONE message corresponding to a SEEK event. It
816 is considered good practice to make this correspondence when possible, though
817 it is not required.
818 </p>
819 <p>
820 Note that events and messages share the same sequence number incrementor;
821 two events or messages will never have the same sequence number unless
822 that correspondence was made explicitly.
823 </p>
824 <div class="variablelist"><table border="0">
825 <col align="left" valign="top">
826 <tbody>
827 <tr>
828 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
829 <td>A <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>.</td>
830 </tr>
831 <tr>
832 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
833 <td>The message's sequence number.
834 MT safe.</td>
835 </tr>
836 </tbody>
837 </table></div>
838 <p class="since">Since 0.10.22</p>
839 </div>
840 <hr>
841 <div class="refsect2">
842 <a name="gst-message-set-seqnum"></a><h3>gst_message_set_seqnum ()</h3>
843 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_set_seqnum              (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
844                                                          <em class="parameter"><code><span class="type">guint32</span> seqnum</code></em>);</pre>
845 <p>
846 Set the sequence number of a message.
847 </p>
848 <p>
849 This function might be called by the creator of a message to indicate that
850 the message relates to other messages or events. See <a class="link" href="gstreamer-GstMessage.html#gst-message-get-seqnum" title="gst_message_get_seqnum ()"><code class="function">gst_message_get_seqnum()</code></a>
851 for more information.
852 </p>
853 <p>
854 MT safe.
855 </p>
856 <div class="variablelist"><table border="0">
857 <col align="left" valign="top">
858 <tbody>
859 <tr>
860 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
861 <td>A <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a>.</td>
862 </tr>
863 <tr>
864 <td><p><span class="term"><em class="parameter"><code>seqnum</code></em> :</span></p></td>
865 <td>A sequence number.</td>
866 </tr>
867 </tbody>
868 </table></div>
869 <p class="since">Since 0.10.22</p>
870 </div>
871 <hr>
872 <div class="refsect2">
873 <a name="gst-message-new-eos"></a><h3>gst_message_new_eos ()</h3>
874 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_eos                 (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
875 <p>
876 Create a new eos message. This message is generated and posted in
877 the sink elements of a GstBin. The bin will only forward the EOS
878 message to the application if all sinks have posted an EOS message.
879 </p>
880 <div class="variablelist"><table border="0">
881 <col align="left" valign="top">
882 <tbody>
883 <tr>
884 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
885 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
886 </td>
887 </tr>
888 <tr>
889 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
890 <td>The new eos message.
891 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
892 </td>
893 </tr>
894 </tbody>
895 </table></div>
896 </div>
897 <hr>
898 <div class="refsect2">
899 <a name="gst-message-new-error"></a><h3>gst_message_new_error ()</h3>
900 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_error               (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
901                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
902                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *debug</code></em>);</pre>
903 <p>
904 Create a new error message. The message will copy <em class="parameter"><code>error</code></em> and
905 <em class="parameter"><code>debug</code></em>. This message is posted by element when a fatal event
906 occured. The pipeline will probably (partially) stop. The application
907 receiving this message should stop the pipeline.
908 </p>
909 <div class="variablelist"><table border="0">
910 <col align="left" valign="top">
911 <tbody>
912 <tr>
913 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
914 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
915 </td>
916 </tr>
917 <tr>
918 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
919 <td>The GError for this message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
920 </td>
921 </tr>
922 <tr>
923 <td><p><span class="term"><em class="parameter"><code>debug</code></em> :</span></p></td>
924 <td>A debugging string.</td>
925 </tr>
926 <tr>
927 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
928 <td>the new error message.
929 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
930 </td>
931 </tr>
932 </tbody>
933 </table></div>
934 </div>
935 <hr>
936 <div class="refsect2">
937 <a name="gst-message-parse-error"></a><h3>gst_message_parse_error ()</h3>
938 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_error             (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
939                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **gerror</code></em>,
940                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **debug</code></em>);</pre>
941 <p>
942 Extracts the GError and debug string from the GstMessage. The values returned
943 in the output arguments are copies; the caller must free them when done.
944 </p>
945 <p>
946 Typical usage of this function might be:
947 </p>
948 <div class="informalexample">
949   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
950     <tbody>
951       <tr>
952         <td class="listing_lines" align="right"><pre>1
953 2
954 3
955 4
956 5
957 6
958 7
959 8
960 9
961 10
962 11
963 12
964 13
965 14
966 15
967 16
968 17</pre></td>
969         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
970 <span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
971   <span class="keyword">case</span> GST_MESSAGE_ERROR<span class="gtkdoc opt">: {</span>
972     GError <span class="gtkdoc opt">*</span>err <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
973     gchar <span class="gtkdoc opt">*</span>dbg_info <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
974     
975     <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-error">gst_message_parse_error</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>err<span class="gtkdoc opt">, &amp;</span>dbg_info<span class="gtkdoc opt">);</span>
976     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-printerr">g_printerr</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;ERROR from element %s: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span>
977         <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span> err<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">);</span>
978     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-printerr">g_printerr</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Debugging info: %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">, (</span>dbg_info<span class="gtkdoc opt">)</span> ? dbg_info <span class="gtkdoc opt">:</span> <span class="string">&quot;none&quot;</span><span class="gtkdoc opt">);</span>
979     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#g-error-free">g_error_free</a></span> <span class="gtkdoc opt">(</span>err<span class="gtkdoc opt">);</span>
980     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free">g_free</a></span> <span class="gtkdoc opt">(</span>dbg_info<span class="gtkdoc opt">);</span>
981     <span class="keyword">break</span><span class="gtkdoc opt">;</span>
982   <span class="gtkdoc opt">}</span>
983   <span class="gtkdoc opt">...</span>
984 <span class="gtkdoc opt">}</span>
985 <span class="gtkdoc opt">...</span></pre></td>
986       </tr>
987     </tbody>
988   </table>
989 </div>
990
991 <p>
992 </p>
993 <p>
994 MT safe.
995 </p>
996 <div class="variablelist"><table border="0">
997 <col align="left" valign="top">
998 <tbody>
999 <tr>
1000 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1001 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_ERROR.</td>
1002 </tr>
1003 <tr>
1004 <td><p><span class="term"><em class="parameter"><code>gerror</code></em> :</span></p></td>
1005 <td>location for the GError. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1006 </td>
1007 </tr>
1008 <tr>
1009 <td><p><span class="term"><em class="parameter"><code>debug</code></em> :</span></p></td>
1010 <td>location for the debug message,
1011 or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1012 </td>
1013 </tr>
1014 </tbody>
1015 </table></div>
1016 </div>
1017 <hr>
1018 <div class="refsect2">
1019 <a name="gst-message-new-warning"></a><h3>gst_message_new_warning ()</h3>
1020 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_warning             (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1021                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
1022                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *debug</code></em>);</pre>
1023 <p>
1024 Create a new warning message. The message will make copies of <em class="parameter"><code>error</code></em> and
1025 <em class="parameter"><code>debug</code></em>.
1026 </p>
1027 <div class="variablelist"><table border="0">
1028 <col align="left" valign="top">
1029 <tbody>
1030 <tr>
1031 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1032 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1033 </td>
1034 </tr>
1035 <tr>
1036 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
1037 <td>The GError for this message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1038 </td>
1039 </tr>
1040 <tr>
1041 <td><p><span class="term"><em class="parameter"><code>debug</code></em> :</span></p></td>
1042 <td>A debugging string.</td>
1043 </tr>
1044 <tr>
1045 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1046 <td>The new warning message.
1047 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1048 </td>
1049 </tr>
1050 </tbody>
1051 </table></div>
1052 </div>
1053 <hr>
1054 <div class="refsect2">
1055 <a name="gst-message-parse-warning"></a><h3>gst_message_parse_warning ()</h3>
1056 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_warning           (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1057                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **gerror</code></em>,
1058                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **debug</code></em>);</pre>
1059 <p>
1060 Extracts the GError and debug string from the GstMessage. The values returned
1061 in the output arguments are copies; the caller must free them when done.
1062 </p>
1063 <p>
1064 MT safe.
1065 </p>
1066 <div class="variablelist"><table border="0">
1067 <col align="left" valign="top">
1068 <tbody>
1069 <tr>
1070 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1071 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_WARNING.</td>
1072 </tr>
1073 <tr>
1074 <td><p><span class="term"><em class="parameter"><code>gerror</code></em> :</span></p></td>
1075 <td>location for the GError. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1076 </td>
1077 </tr>
1078 <tr>
1079 <td><p><span class="term"><em class="parameter"><code>debug</code></em> :</span></p></td>
1080 <td>location for the debug message,
1081 or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1082 </td>
1083 </tr>
1084 </tbody>
1085 </table></div>
1086 </div>
1087 <hr>
1088 <div class="refsect2">
1089 <a name="gst-message-new-info"></a><h3>gst_message_new_info ()</h3>
1090 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_info                (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1091                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
1092                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *debug</code></em>);</pre>
1093 <p>
1094 Create a new info message. The message will make copies of <em class="parameter"><code>error</code></em> and
1095 <em class="parameter"><code>debug</code></em>.
1096 </p>
1097 <p>
1098 MT safe.
1099 </p>
1100 <div class="variablelist"><table border="0">
1101 <col align="left" valign="top">
1102 <tbody>
1103 <tr>
1104 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1105 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1106 </td>
1107 </tr>
1108 <tr>
1109 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
1110 <td>The GError for this message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1111 </td>
1112 </tr>
1113 <tr>
1114 <td><p><span class="term"><em class="parameter"><code>debug</code></em> :</span></p></td>
1115 <td>A debugging string.</td>
1116 </tr>
1117 <tr>
1118 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1119 <td>the new info message. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1120 </td>
1121 </tr>
1122 </tbody>
1123 </table></div>
1124 <p class="since">Since 0.10.12</p>
1125 </div>
1126 <hr>
1127 <div class="refsect2">
1128 <a name="gst-message-parse-info"></a><h3>gst_message_parse_info ()</h3>
1129 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_info              (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1130                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **gerror</code></em>,
1131                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **debug</code></em>);</pre>
1132 <p>
1133 Extracts the GError and debug string from the GstMessage. The values returned
1134 in the output arguments are copies; the caller must free them when done.
1135 </p>
1136 <p>
1137 MT safe.
1138 </p>
1139 <div class="variablelist"><table border="0">
1140 <col align="left" valign="top">
1141 <tbody>
1142 <tr>
1143 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1144 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_INFO.</td>
1145 </tr>
1146 <tr>
1147 <td><p><span class="term"><em class="parameter"><code>gerror</code></em> :</span></p></td>
1148 <td>location for the GError. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1149 </td>
1150 </tr>
1151 <tr>
1152 <td><p><span class="term"><em class="parameter"><code>debug</code></em> :</span></p></td>
1153 <td>location for the debug message,
1154 or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1155 </td>
1156 </tr>
1157 </tbody>
1158 </table></div>
1159 <p class="since">Since 0.10.12</p>
1160 </div>
1161 <hr>
1162 <div class="refsect2">
1163 <a name="gst-message-new-tag"></a><h3>gst_message_new_tag ()</h3>
1164 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_tag                 (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1165                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="GstTagList"><span class="type">GstTagList</span></a> *tag_list</code></em>);</pre>
1166 <p>
1167 Create a new tag message. The message will take ownership of the tag list.
1168 The message is posted by elements that discovered a new taglist.
1169 </p>
1170 <div class="variablelist"><table border="0">
1171 <col align="left" valign="top">
1172 <tbody>
1173 <tr>
1174 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1175 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1176 </td>
1177 </tr>
1178 <tr>
1179 <td><p><span class="term"><em class="parameter"><code>tag_list</code></em> :</span></p></td>
1180 <td>the tag list for the message. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1181 </td>
1182 </tr>
1183 <tr>
1184 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1185 <td>the new tag message.
1186 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1187 </td>
1188 </tr>
1189 </tbody>
1190 </table></div>
1191 </div>
1192 <hr>
1193 <div class="refsect2">
1194 <a name="gst-message-new-tag-full"></a><h3>gst_message_new_tag_full ()</h3>
1195 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_tag_full            (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1196                                                          <em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> *pad</code></em>,
1197                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="GstTagList"><span class="type">GstTagList</span></a> *tag_list</code></em>);</pre>
1198 <p>
1199 Create a new tag message. The message will take ownership of the tag list.
1200 The message is posted by elements that discovered a new taglist.
1201 </p>
1202 <p>
1203 MT safe.
1204 </p>
1205 <div class="variablelist"><table border="0">
1206 <col align="left" valign="top">
1207 <tbody>
1208 <tr>
1209 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1210 <td>the object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1211 </td>
1212 </tr>
1213 <tr>
1214 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
1215 <td>the originating pad for the tag. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1216 </td>
1217 </tr>
1218 <tr>
1219 <td><p><span class="term"><em class="parameter"><code>tag_list</code></em> :</span></p></td>
1220 <td>the tag list for the message. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1221 </td>
1222 </tr>
1223 <tr>
1224 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1225 <td>the new tag message. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1226 </td>
1227 </tr>
1228 </tbody>
1229 </table></div>
1230 <p class="since">Since 0.10.24</p>
1231 </div>
1232 <hr>
1233 <div class="refsect2">
1234 <a name="gst-message-parse-tag"></a><h3>gst_message_parse_tag ()</h3>
1235 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_tag               (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1236                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="GstTagList"><span class="type">GstTagList</span></a> **tag_list</code></em>);</pre>
1237 <p>
1238 Extracts the tag list from the GstMessage. The tag list returned in the
1239 output argument is a copy; the caller must free it when done.
1240 </p>
1241 <p>
1242 Typical usage of this function might be:
1243 </p>
1244 <div class="informalexample">
1245   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1246     <tbody>
1247       <tr>
1248         <td class="listing_lines" align="right"><pre>1
1249 2
1250 3
1251 4
1252 5
1253 6
1254 7
1255 8
1256 9
1257 10
1258 11
1259 12
1260 13
1261 14</pre></td>
1262         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
1263 <span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
1264   <span class="keyword">case</span> GST_MESSAGE_TAG<span class="gtkdoc opt">: {</span>
1265     GstTagList <span class="gtkdoc opt">*</span>tags <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
1266     
1267     <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-tag">gst_message_parse_tag</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>tags<span class="gtkdoc opt">);</span>
1268     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Got tags from element %s</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span> <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">));</span>
1269     <span class="function">handle_tags</span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
1270     <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#gst-tag-list-free">gst_tag_list_free</a></span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
1271     <span class="keyword">break</span><span class="gtkdoc opt">;</span>
1272   <span class="gtkdoc opt">}</span>
1273   <span class="gtkdoc opt">...</span>
1274 <span class="gtkdoc opt">}</span>
1275 <span class="gtkdoc opt">...</span></pre></td>
1276       </tr>
1277     </tbody>
1278   </table>
1279 </div>
1280
1281 <p>
1282 </p>
1283 <p>
1284 MT safe.
1285 </p>
1286 <div class="variablelist"><table border="0">
1287 <col align="left" valign="top">
1288 <tbody>
1289 <tr>
1290 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1291 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_TAG.</td>
1292 </tr>
1293 <tr>
1294 <td><p><span class="term"><em class="parameter"><code>tag_list</code></em> :</span></p></td>
1295 <td>return location for the tag-list. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> callee-allocates]</span>
1296 </td>
1297 </tr>
1298 </tbody>
1299 </table></div>
1300 </div>
1301 <hr>
1302 <div class="refsect2">
1303 <a name="gst-message-parse-tag-full"></a><h3>gst_message_parse_tag_full ()</h3>
1304 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_tag_full          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1305                                                          <em class="parameter"><code><a class="link" href="GstPad.html" title="GstPad"><span class="type">GstPad</span></a> **pad</code></em>,
1306                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstTagList.html#GstTagList" title="GstTagList"><span class="type">GstTagList</span></a> **tag_list</code></em>);</pre>
1307 <p>
1308 Extracts the tag list from the GstMessage. The tag list returned in the
1309 output argument is a copy; the caller must free it when done.
1310 </p>
1311 <p>
1312 MT safe.
1313 </p>
1314 <div class="variablelist"><table border="0">
1315 <col align="left" valign="top">
1316 <tbody>
1317 <tr>
1318 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1319 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_TAG.</td>
1320 </tr>
1321 <tr>
1322 <td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
1323 <td>location where the originating pad is stored,
1324 unref after usage. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> callee-allocates]</span>
1325 </td>
1326 </tr>
1327 <tr>
1328 <td><p><span class="term"><em class="parameter"><code>tag_list</code></em> :</span></p></td>
1329 <td>return location for the tag-list. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym> callee-allocates]</span>
1330 </td>
1331 </tr>
1332 </tbody>
1333 </table></div>
1334 <p class="since">Since 0.10.24</p>
1335 </div>
1336 <hr>
1337 <div class="refsect2">
1338 <a name="gst-message-new-buffering"></a><h3>gst_message_new_buffering ()</h3>
1339 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_buffering           (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1340                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> percent</code></em>);</pre>
1341 <p>
1342 Create a new buffering message. This message can be posted by an element that
1343 needs to buffer data before it can continue processing. <em class="parameter"><code>percent</code></em> should be a
1344 value between 0 and 100. A value of 100 means that the buffering completed.
1345 </p>
1346 <p>
1347 When <em class="parameter"><code>percent</code></em> is &lt; 100 the application should PAUSE a PLAYING pipeline. When
1348 <em class="parameter"><code>percent</code></em> is 100, the application can set the pipeline (back) to PLAYING.
1349 The application must be prepared to receive BUFFERING messages in the
1350 PREROLLING state and may only set the pipeline to PLAYING after receiving a
1351 message with <em class="parameter"><code>percent</code></em> set to 100, which can happen after the pipeline
1352 completed prerolling. 
1353 </p>
1354 <p>
1355 MT safe.
1356 </p>
1357 <div class="variablelist"><table border="0">
1358 <col align="left" valign="top">
1359 <tbody>
1360 <tr>
1361 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1362 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1363 </td>
1364 </tr>
1365 <tr>
1366 <td><p><span class="term"><em class="parameter"><code>percent</code></em> :</span></p></td>
1367 <td>The buffering percent</td>
1368 </tr>
1369 <tr>
1370 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1371 <td>The new buffering message. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1372 </td>
1373 </tr>
1374 </tbody>
1375 </table></div>
1376 <p class="since">Since 0.10.11</p>
1377 </div>
1378 <hr>
1379 <div class="refsect2">
1380 <a name="gst-message-parse-buffering"></a><h3>gst_message_parse_buffering ()</h3>
1381 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_buffering         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1382                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *percent</code></em>);</pre>
1383 <p>
1384 Extracts the buffering percent from the GstMessage. see also
1385 <a class="link" href="gstreamer-GstMessage.html#gst-message-new-buffering" title="gst_message_new_buffering ()"><code class="function">gst_message_new_buffering()</code></a>.
1386 </p>
1387 <p>
1388 MT safe.
1389 </p>
1390 <div class="variablelist"><table border="0">
1391 <col align="left" valign="top">
1392 <tbody>
1393 <tr>
1394 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1395 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_BUFFERING.</td>
1396 </tr>
1397 <tr>
1398 <td><p><span class="term"><em class="parameter"><code>percent</code></em> :</span></p></td>
1399 <td>Return location for the percent. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1400 </td>
1401 </tr>
1402 </tbody>
1403 </table></div>
1404 <p class="since">Since 0.10.11</p>
1405 </div>
1406 <hr>
1407 <div class="refsect2">
1408 <a name="gst-message-set-buffering-stats"></a><h3>gst_message_set_buffering_stats ()</h3>
1409 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_set_buffering_stats     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1410                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> mode</code></em>,
1411                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> avg_in</code></em>,
1412                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> avg_out</code></em>,
1413                                                          <em class="parameter"><code><span class="type">gint64</span> buffering_left</code></em>);</pre>
1414 <p>
1415 Configures the buffering stats values in <em class="parameter"><code>message</code></em>.
1416 </p>
1417 <div class="variablelist"><table border="0">
1418 <col align="left" valign="top">
1419 <tbody>
1420 <tr>
1421 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1422 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_BUFFERING.</td>
1423 </tr>
1424 <tr>
1425 <td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
1426 <td>a buffering mode</td>
1427 </tr>
1428 <tr>
1429 <td><p><span class="term"><em class="parameter"><code>avg_in</code></em> :</span></p></td>
1430 <td>the average input rate</td>
1431 </tr>
1432 <tr>
1433 <td><p><span class="term"><em class="parameter"><code>avg_out</code></em> :</span></p></td>
1434 <td>the average output rate</td>
1435 </tr>
1436 <tr>
1437 <td><p><span class="term"><em class="parameter"><code>buffering_left</code></em> :</span></p></td>
1438 <td>amount of buffering time left in milliseconds</td>
1439 </tr>
1440 </tbody>
1441 </table></div>
1442 <p class="since">Since 0.10.20</p>
1443 </div>
1444 <hr>
1445 <div class="refsect2">
1446 <a name="gst-message-parse-buffering-stats"></a><h3>gst_message_parse_buffering_stats ()</h3>
1447 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_buffering_stats   (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1448                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> *mode</code></em>,
1449                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *avg_in</code></em>,
1450                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *avg_out</code></em>,
1451                                                          <em class="parameter"><code><span class="type">gint64</span> *buffering_left</code></em>);</pre>
1452 <p>
1453 Extracts the buffering stats values from <em class="parameter"><code>message</code></em>.
1454 </p>
1455 <div class="variablelist"><table border="0">
1456 <col align="left" valign="top">
1457 <tbody>
1458 <tr>
1459 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1460 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_BUFFERING.</td>
1461 </tr>
1462 <tr>
1463 <td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
1464 <td>a buffering mode, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1465 </td>
1466 </tr>
1467 <tr>
1468 <td><p><span class="term"><em class="parameter"><code>avg_in</code></em> :</span></p></td>
1469 <td>the average input rate, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1470 </td>
1471 </tr>
1472 <tr>
1473 <td><p><span class="term"><em class="parameter"><code>avg_out</code></em> :</span></p></td>
1474 <td>the average output rate, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1475 </td>
1476 </tr>
1477 <tr>
1478 <td><p><span class="term"><em class="parameter"><code>buffering_left</code></em> :</span></p></td>
1479 <td>amount of buffering time left in
1480 milliseconds, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1481 </td>
1482 </tr>
1483 </tbody>
1484 </table></div>
1485 <p class="since">Since 0.10.20</p>
1486 </div>
1487 <hr>
1488 <div class="refsect2">
1489 <a name="gst-message-new-state-changed"></a><h3>gst_message_new_state_changed ()</h3>
1490 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_state_changed       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1491                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> oldstate</code></em>,
1492                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> newstate</code></em>,
1493                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> pending</code></em>);</pre>
1494 <p>
1495 Create a state change message. This message is posted whenever an element
1496 changed its state.
1497 </p>
1498 <div class="variablelist"><table border="0">
1499 <col align="left" valign="top">
1500 <tbody>
1501 <tr>
1502 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1503 <td>the object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1504 </td>
1505 </tr>
1506 <tr>
1507 <td><p><span class="term"><em class="parameter"><code>oldstate</code></em> :</span></p></td>
1508 <td>the previous state</td>
1509 </tr>
1510 <tr>
1511 <td><p><span class="term"><em class="parameter"><code>newstate</code></em> :</span></p></td>
1512 <td>the new (current) state</td>
1513 </tr>
1514 <tr>
1515 <td><p><span class="term"><em class="parameter"><code>pending</code></em> :</span></p></td>
1516 <td>the pending (target) state</td>
1517 </tr>
1518 <tr>
1519 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1520 <td>the new state change message.
1521 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1522 </td>
1523 </tr>
1524 </tbody>
1525 </table></div>
1526 </div>
1527 <hr>
1528 <div class="refsect2">
1529 <a name="gst-message-parse-state-changed"></a><h3>gst_message_parse_state_changed ()</h3>
1530 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_state_changed     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1531                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *oldstate</code></em>,
1532                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *newstate</code></em>,
1533                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *pending</code></em>);</pre>
1534 <p>
1535 Extracts the old and new states from the GstMessage.
1536 </p>
1537 <p>
1538 Typical usage of this function might be:
1539 </p>
1540 <div class="informalexample">
1541   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1542     <tbody>
1543       <tr>
1544         <td class="listing_lines" align="right"><pre>1
1545 2
1546 3
1547 4
1548 5
1549 6
1550 7
1551 8
1552 9
1553 10
1554 11
1555 12
1556 13
1557 14
1558 15</pre></td>
1559         <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
1560 <span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
1561   <span class="keyword">case</span> GST_MESSAGE_STATE_CHANGED<span class="gtkdoc opt">: {</span>
1562     GstState old_state<span class="gtkdoc opt">,</span> new_state<span class="gtkdoc opt">;</span>
1563     
1564     <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-state-changed">gst_message_parse_state_changed</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>old_state<span class="gtkdoc opt">, &amp;</span>new_state<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
1565     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Element %s changed state from %s to %s.</span><span class="gtkdoc esc">\n</span><span class="string">&quot;</span><span class="gtkdoc opt">,</span>
1566         <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html#GST-OBJECT-NAME:CAPS">GST_OBJECT_NAME</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">-&gt;</span>src<span class="gtkdoc opt">),</span>
1567         <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>old_state<span class="gtkdoc opt">),</span>
1568         <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-state-get-name">gst_element_state_get_name</a></span> <span class="gtkdoc opt">(</span>new_state<span class="gtkdoc opt">));</span>
1569     <span class="keyword">break</span><span class="gtkdoc opt">;</span>
1570   <span class="gtkdoc opt">}</span>
1571   <span class="gtkdoc opt">...</span>
1572 <span class="gtkdoc opt">}</span>
1573 <span class="gtkdoc opt">...</span></pre></td>
1574       </tr>
1575     </tbody>
1576   </table>
1577 </div>
1578
1579 <p>
1580 </p>
1581 <p>
1582 MT safe.
1583 </p>
1584 <div class="variablelist"><table border="0">
1585 <col align="left" valign="top">
1586 <tbody>
1587 <tr>
1588 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1589 <td>a valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STATE_CHANGED</td>
1590 </tr>
1591 <tr>
1592 <td><p><span class="term"><em class="parameter"><code>oldstate</code></em> :</span></p></td>
1593 <td>the previous state, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1594 </td>
1595 </tr>
1596 <tr>
1597 <td><p><span class="term"><em class="parameter"><code>newstate</code></em> :</span></p></td>
1598 <td>the new (current) state, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1599 </td>
1600 </tr>
1601 <tr>
1602 <td><p><span class="term"><em class="parameter"><code>pending</code></em> :</span></p></td>
1603 <td>the pending (target) state, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1604 </td>
1605 </tr>
1606 </tbody>
1607 </table></div>
1608 </div>
1609 <hr>
1610 <div class="refsect2">
1611 <a name="gst-message-new-state-dirty"></a><h3>gst_message_new_state_dirty ()</h3>
1612 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_state_dirty         (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
1613 <p>
1614 Create a state dirty message. This message is posted whenever an element
1615 changed its state asynchronously and is used internally to update the
1616 states of container objects.
1617 </p>
1618 <div class="variablelist"><table border="0">
1619 <col align="left" valign="top">
1620 <tbody>
1621 <tr>
1622 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1623 <td>the object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1624 </td>
1625 </tr>
1626 <tr>
1627 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1628 <td>the new state dirty message.
1629 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1630 </td>
1631 </tr>
1632 </tbody>
1633 </table></div>
1634 </div>
1635 <hr>
1636 <div class="refsect2">
1637 <a name="gst-message-new-step-done"></a><h3>gst_message_new_step_done ()</h3>
1638 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_step_done           (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1639                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
1640                                                          <em class="parameter"><code><span class="type">guint64</span> amount</code></em>,
1641                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>,
1642                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flush</code></em>,
1643                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> intermediate</code></em>,
1644                                                          <em class="parameter"><code><span class="type">guint64</span> duration</code></em>,
1645                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> eos</code></em>);</pre>
1646 <p>
1647 This message is posted by elements when they complete a part, when <em class="parameter"><code>intermediate</code></em> set
1648 to TRUE, or a complete step operation.
1649 </p>
1650 <p>
1651 <em class="parameter"><code>duration</code></em> will contain the amount of time (in GST_FORMAT_TIME) of the stepped
1652 <em class="parameter"><code>amount</code></em> of media in format <em class="parameter"><code>format</code></em>.
1653 </p>
1654 <div class="variablelist"><table border="0">
1655 <col align="left" valign="top">
1656 <tbody>
1657 <tr>
1658 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1659 <td>The object originating the message.</td>
1660 </tr>
1661 <tr>
1662 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1663 <td>the format of <em class="parameter"><code>amount</code></em>
1664 </td>
1665 </tr>
1666 <tr>
1667 <td><p><span class="term"><em class="parameter"><code>amount</code></em> :</span></p></td>
1668 <td>the amount of stepped data</td>
1669 </tr>
1670 <tr>
1671 <td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td>
1672 <td>the rate of the stepped amount</td>
1673 </tr>
1674 <tr>
1675 <td><p><span class="term"><em class="parameter"><code>flush</code></em> :</span></p></td>
1676 <td>is this an flushing step</td>
1677 </tr>
1678 <tr>
1679 <td><p><span class="term"><em class="parameter"><code>intermediate</code></em> :</span></p></td>
1680 <td>is this an intermediate step</td>
1681 </tr>
1682 <tr>
1683 <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
1684 <td>the duration of the data</td>
1685 </tr>
1686 <tr>
1687 <td><p><span class="term"><em class="parameter"><code>eos</code></em> :</span></p></td>
1688 <td>the step caused EOS</td>
1689 </tr>
1690 <tr>
1691 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1692 <td>the new step_done message.
1693 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1694 </td>
1695 </tr>
1696 </tbody>
1697 </table></div>
1698 <p class="since">Since 0.10.24</p>
1699 </div>
1700 <hr>
1701 <div class="refsect2">
1702 <a name="gst-message-parse-step-done"></a><h3>gst_message_parse_step_done ()</h3>
1703 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_step_done         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1704                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
1705                                                          <em class="parameter"><code><span class="type">guint64</span> *amount</code></em>,
1706                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>,
1707                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *flush</code></em>,
1708                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *intermediate</code></em>,
1709                                                          <em class="parameter"><code><span class="type">guint64</span> *duration</code></em>,
1710                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *eos</code></em>);</pre>
1711 <p>
1712 Extract the values the step_done message.
1713 </p>
1714 <p>
1715 MT safe.
1716 </p>
1717 <div class="variablelist"><table border="0">
1718 <col align="left" valign="top">
1719 <tbody>
1720 <tr>
1721 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1722 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STEP_DONE.</td>
1723 </tr>
1724 <tr>
1725 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
1726 <td>result location for the format. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1727 </td>
1728 </tr>
1729 <tr>
1730 <td><p><span class="term"><em class="parameter"><code>amount</code></em> :</span></p></td>
1731 <td>result location for the amount. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1732 </td>
1733 </tr>
1734 <tr>
1735 <td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td>
1736 <td>result location for the rate. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1737 </td>
1738 </tr>
1739 <tr>
1740 <td><p><span class="term"><em class="parameter"><code>flush</code></em> :</span></p></td>
1741 <td>result location for the flush flag. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1742 </td>
1743 </tr>
1744 <tr>
1745 <td><p><span class="term"><em class="parameter"><code>intermediate</code></em> :</span></p></td>
1746 <td>result location for the intermediate flag. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1747 </td>
1748 </tr>
1749 <tr>
1750 <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
1751 <td>result location for the duration. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1752 </td>
1753 </tr>
1754 <tr>
1755 <td><p><span class="term"><em class="parameter"><code>eos</code></em> :</span></p></td>
1756 <td>result location for the EOS flag. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1757 </td>
1758 </tr>
1759 </tbody>
1760 </table></div>
1761 <p class="since">Since 0.10.24</p>
1762 </div>
1763 <hr>
1764 <div class="refsect2">
1765 <a name="gst-message-new-clock-provide"></a><h3>gst_message_new_clock_provide ()</h3>
1766 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_clock_provide       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1767                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>,
1768                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> ready</code></em>);</pre>
1769 <p>
1770 Create a clock provide message. This message is posted whenever an
1771 element is ready to provide a clock or lost its ability to provide
1772 a clock (maybe because it paused or became EOS).
1773 </p>
1774 <p>
1775 This message is mainly used internally to manage the clock
1776 selection.
1777 </p>
1778 <div class="variablelist"><table border="0">
1779 <col align="left" valign="top">
1780 <tbody>
1781 <tr>
1782 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1783 <td>the object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1784 </td>
1785 </tr>
1786 <tr>
1787 <td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
1788 <td>the clock it provides. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1789 </td>
1790 </tr>
1791 <tr>
1792 <td><p><span class="term"><em class="parameter"><code>ready</code></em> :</span></p></td>
1793 <td>TRUE if the sender can provide a clock</td>
1794 </tr>
1795 <tr>
1796 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1797 <td>the new provide clock message.
1798 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1799 </td>
1800 </tr>
1801 </tbody>
1802 </table></div>
1803 </div>
1804 <hr>
1805 <div class="refsect2">
1806 <a name="gst-message-parse-clock-provide"></a><h3>gst_message_parse_clock_provide ()</h3>
1807 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_clock_provide     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1808                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> **clock</code></em>,
1809                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *ready</code></em>);</pre>
1810 <p>
1811 Extracts the clock and ready flag from the GstMessage.
1812 The clock object returned remains valid until the message is freed.
1813 </p>
1814 <p>
1815 MT safe.
1816 </p>
1817 <div class="variablelist"><table border="0">
1818 <col align="left" valign="top">
1819 <tbody>
1820 <tr>
1821 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1822 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_CLOCK_PROVIDE.</td>
1823 </tr>
1824 <tr>
1825 <td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
1826 <td>a pointer to  hold a clock
1827 object, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1828 </td>
1829 </tr>
1830 <tr>
1831 <td><p><span class="term"><em class="parameter"><code>ready</code></em> :</span></p></td>
1832 <td>a pointer to hold the ready flag, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1833 </td>
1834 </tr>
1835 </tbody>
1836 </table></div>
1837 </div>
1838 <hr>
1839 <div class="refsect2">
1840 <a name="gst-message-new-clock-lost"></a><h3>gst_message_new_clock_lost ()</h3>
1841 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_clock_lost          (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1842                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>);</pre>
1843 <p>
1844 Create a clock lost message. This message is posted whenever the
1845 clock is not valid anymore.
1846 </p>
1847 <p>
1848 If this message is posted by the pipeline, the pipeline will
1849 select a new clock again when it goes to PLAYING. It might therefore
1850 be needed to set the pipeline to PAUSED and PLAYING again.
1851 </p>
1852 <div class="variablelist"><table border="0">
1853 <col align="left" valign="top">
1854 <tbody>
1855 <tr>
1856 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1857 <td>the object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1858 </td>
1859 </tr>
1860 <tr>
1861 <td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
1862 <td>the clock that was lost. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1863 </td>
1864 </tr>
1865 <tr>
1866 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1867 <td>The new clock lost message.
1868 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1869 </td>
1870 </tr>
1871 </tbody>
1872 </table></div>
1873 </div>
1874 <hr>
1875 <div class="refsect2">
1876 <a name="gst-message-parse-clock-lost"></a><h3>gst_message_parse_clock_lost ()</h3>
1877 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_clock_lost        (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1878                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> **clock</code></em>);</pre>
1879 <p>
1880 Extracts the lost clock from the GstMessage.
1881 The clock object returned remains valid until the message is freed.
1882 </p>
1883 <p>
1884 MT safe.
1885 </p>
1886 <div class="variablelist"><table border="0">
1887 <col align="left" valign="top">
1888 <tbody>
1889 <tr>
1890 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1891 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_CLOCK_LOST.</td>
1892 </tr>
1893 <tr>
1894 <td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
1895 <td>a pointer to hold the lost clock. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1896 </td>
1897 </tr>
1898 </tbody>
1899 </table></div>
1900 </div>
1901 <hr>
1902 <div class="refsect2">
1903 <a name="gst-message-new-new-clock"></a><h3>gst_message_new_new_clock ()</h3>
1904 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_new_clock           (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1905                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>);</pre>
1906 <p>
1907 Create a new clock message. This message is posted whenever the
1908 pipeline selectes a new clock for the pipeline.
1909 </p>
1910 <div class="variablelist"><table border="0">
1911 <col align="left" valign="top">
1912 <tbody>
1913 <tr>
1914 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1915 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1916 </td>
1917 </tr>
1918 <tr>
1919 <td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
1920 <td>the new selected clock. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1921 </td>
1922 </tr>
1923 <tr>
1924 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1925 <td>The new new clock message.
1926 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1927 </td>
1928 </tr>
1929 </tbody>
1930 </table></div>
1931 </div>
1932 <hr>
1933 <div class="refsect2">
1934 <a name="gst-message-parse-new-clock"></a><h3>gst_message_parse_new_clock ()</h3>
1935 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_new_clock         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
1936                                                          <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> **clock</code></em>);</pre>
1937 <p>
1938 Extracts the new clock from the GstMessage.
1939 The clock object returned remains valid until the message is freed.
1940 </p>
1941 <p>
1942 MT safe.
1943 </p>
1944 <div class="variablelist"><table border="0">
1945 <col align="left" valign="top">
1946 <tbody>
1947 <tr>
1948 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
1949 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_NEW_CLOCK.</td>
1950 </tr>
1951 <tr>
1952 <td><p><span class="term"><em class="parameter"><code>clock</code></em> :</span></p></td>
1953 <td>a pointer to hold the selected
1954 new clock. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1955 </td>
1956 </tr>
1957 </tbody>
1958 </table></div>
1959 </div>
1960 <hr>
1961 <div class="refsect2">
1962 <a name="gst-message-new-application"></a><h3>gst_message_new_application ()</h3>
1963 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_application         (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1964                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre>
1965 <p>
1966 Create a new application-typed message. GStreamer will never create these
1967 messages; they are a gift from us to you. Enjoy.
1968 </p>
1969 <div class="variablelist"><table border="0">
1970 <col align="left" valign="top">
1971 <tbody>
1972 <tr>
1973 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
1974 <td>the object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1975 </td>
1976 </tr>
1977 <tr>
1978 <td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
1979 <td>the structure for the message. The message
1980 will take ownership of the structure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1981 </td>
1982 </tr>
1983 <tr>
1984 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1985 <td>The new application message.
1986 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1987 </td>
1988 </tr>
1989 </tbody>
1990 </table></div>
1991 </div>
1992 <hr>
1993 <div class="refsect2">
1994 <a name="gst-message-new-element"></a><h3>gst_message_new_element ()</h3>
1995 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_element             (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
1996                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre>
1997 <p>
1998 Create a new element-specific message. This is meant as a generic way of
1999 allowing one-way communication from an element to an application, for example
2000 "the firewire cable was unplugged". The format of the message should be
2001 documented in the element's documentation. The structure field can be NULL.
2002 </p>
2003 <div class="variablelist"><table border="0">
2004 <col align="left" valign="top">
2005 <tbody>
2006 <tr>
2007 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2008 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2009 </td>
2010 </tr>
2011 <tr>
2012 <td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
2013 <td>The structure for the message. The message
2014 will take ownership of the structure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2015 </td>
2016 </tr>
2017 <tr>
2018 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2019 <td>The new element message.
2020 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2021 </td>
2022 </tr>
2023 </tbody>
2024 </table></div>
2025 </div>
2026 <hr>
2027 <div class="refsect2">
2028 <a name="gst-message-new-custom"></a><h3>gst_message_new_custom ()</h3>
2029 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_custom              (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
2030                                                          <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
2031                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstStructure.html#GstStructure" title="struct GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre>
2032 <p>
2033 Create a new custom-typed message. This can be used for anything not
2034 handled by other message-specific functions to pass a message to the
2035 app. The structure field can be NULL.
2036 </p>
2037 <div class="variablelist"><table border="0">
2038 <col align="left" valign="top">
2039 <tbody>
2040 <tr>
2041 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
2042 <td>The <a class="link" href="gstreamer-GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> to distinguish messages</td>
2043 </tr>
2044 <tr>
2045 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2046 <td>The object originating the message.</td>
2047 </tr>
2048 <tr>
2049 <td><p><span class="term"><em class="parameter"><code>structure</code></em> :</span></p></td>
2050 <td>the structure for the message. The message
2051 will take ownership of the structure. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2052 </td>
2053 </tr>
2054 <tr>
2055 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2056 <td>The new message.
2057 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2058 </td>
2059 </tr>
2060 </tbody>
2061 </table></div>
2062 </div>
2063 <hr>
2064 <div class="refsect2">
2065 <a name="gst-message-new-segment-start"></a><h3>gst_message_new_segment_start ()</h3>
2066 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_segment_start       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
2067                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
2068                                                          <em class="parameter"><code><span class="type">gint64</span> position</code></em>);</pre>
2069 <p>
2070 Create a new segment message. This message is posted by elements that
2071 start playback of a segment as a result of a segment seek. This message
2072 is not received by the application but is used for maintenance reasons in
2073 container elements.
2074 </p>
2075 <div class="variablelist"><table border="0">
2076 <col align="left" valign="top">
2077 <tbody>
2078 <tr>
2079 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2080 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2081 </td>
2082 </tr>
2083 <tr>
2084 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2085 <td>The format of the position being played</td>
2086 </tr>
2087 <tr>
2088 <td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
2089 <td>The position of the segment being played</td>
2090 </tr>
2091 <tr>
2092 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2093 <td>the new segment start message.
2094 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2095 </td>
2096 </tr>
2097 </tbody>
2098 </table></div>
2099 </div>
2100 <hr>
2101 <div class="refsect2">
2102 <a name="gst-message-parse-segment-start"></a><h3>gst_message_parse_segment_start ()</h3>
2103 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_segment_start     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2104                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
2105                                                          <em class="parameter"><code><span class="type">gint64</span> *position</code></em>);</pre>
2106 <p>
2107 Extracts the position and format from the segment start message.
2108 </p>
2109 <p>
2110 MT safe.
2111 </p>
2112 <div class="variablelist"><table border="0">
2113 <col align="left" valign="top">
2114 <tbody>
2115 <tr>
2116 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2117 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_SEGMENT_START.</td>
2118 </tr>
2119 <tr>
2120 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2121 <td>Result location for the format, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
2122 </td>
2123 </tr>
2124 <tr>
2125 <td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
2126 <td>Result location for the position, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
2127 </td>
2128 </tr>
2129 </tbody>
2130 </table></div>
2131 </div>
2132 <hr>
2133 <div class="refsect2">
2134 <a name="gst-message-new-segment-done"></a><h3>gst_message_new_segment_done ()</h3>
2135 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_segment_done        (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
2136                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
2137                                                          <em class="parameter"><code><span class="type">gint64</span> position</code></em>);</pre>
2138 <p>
2139 Create a new segment done message. This message is posted by elements that
2140 finish playback of a segment as a result of a segment seek. This message
2141 is received by the application after all elements that posted a segment_start
2142 have posted the segment_done.
2143 </p>
2144 <div class="variablelist"><table border="0">
2145 <col align="left" valign="top">
2146 <tbody>
2147 <tr>
2148 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2149 <td>the object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2150 </td>
2151 </tr>
2152 <tr>
2153 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2154 <td>The format of the position being done</td>
2155 </tr>
2156 <tr>
2157 <td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
2158 <td>The position of the segment being done</td>
2159 </tr>
2160 <tr>
2161 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2162 <td>the new segment done message.
2163 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2164 </td>
2165 </tr>
2166 </tbody>
2167 </table></div>
2168 </div>
2169 <hr>
2170 <div class="refsect2">
2171 <a name="gst-message-parse-segment-done"></a><h3>gst_message_parse_segment_done ()</h3>
2172 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_segment_done      (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2173                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
2174                                                          <em class="parameter"><code><span class="type">gint64</span> *position</code></em>);</pre>
2175 <p>
2176 Extracts the position and format from the segment start message.
2177 </p>
2178 <p>
2179 MT safe.
2180 </p>
2181 <div class="variablelist"><table border="0">
2182 <col align="left" valign="top">
2183 <tbody>
2184 <tr>
2185 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2186 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_SEGMENT_DONE.</td>
2187 </tr>
2188 <tr>
2189 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2190 <td>Result location for the format, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
2191 </td>
2192 </tr>
2193 <tr>
2194 <td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
2195 <td>Result location for the position, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
2196 </td>
2197 </tr>
2198 </tbody>
2199 </table></div>
2200 </div>
2201 <hr>
2202 <div class="refsect2">
2203 <a name="gst-message-new-duration"></a><h3>gst_message_new_duration ()</h3>
2204 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_duration            (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
2205                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
2206                                                          <em class="parameter"><code><span class="type">gint64</span> duration</code></em>);</pre>
2207 <p>
2208 Create a new duration message. This message is posted by elements that
2209 know the duration of a stream in a specific format. This message
2210 is received by bins and is used to calculate the total duration of a
2211 pipeline. Elements may post a duration message with a duration of
2212 GST_CLOCK_TIME_NONE to indicate that the duration has changed and the 
2213 cached duration should be discarded. The new duration can then be 
2214 retrieved via a query.
2215 </p>
2216 <div class="variablelist"><table border="0">
2217 <col align="left" valign="top">
2218 <tbody>
2219 <tr>
2220 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2221 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2222 </td>
2223 </tr>
2224 <tr>
2225 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2226 <td>The format of the duration</td>
2227 </tr>
2228 <tr>
2229 <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
2230 <td>The new duration</td>
2231 </tr>
2232 <tr>
2233 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2234 <td>The new duration message.
2235 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2236 </td>
2237 </tr>
2238 </tbody>
2239 </table></div>
2240 </div>
2241 <hr>
2242 <div class="refsect2">
2243 <a name="gst-message-parse-duration"></a><h3>gst_message_parse_duration ()</h3>
2244 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_duration          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2245                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
2246                                                          <em class="parameter"><code><span class="type">gint64</span> *duration</code></em>);</pre>
2247 <p>
2248 Extracts the duration and format from the duration message. The duration
2249 might be GST_CLOCK_TIME_NONE, which indicates that the duration has
2250 changed. Applications should always use a query to retrieve the duration
2251 of a pipeline.
2252 </p>
2253 <p>
2254 MT safe.
2255 </p>
2256 <div class="variablelist"><table border="0">
2257 <col align="left" valign="top">
2258 <tbody>
2259 <tr>
2260 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2261 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_DURATION.</td>
2262 </tr>
2263 <tr>
2264 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2265 <td>Result location for the format, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
2266 </td>
2267 </tr>
2268 <tr>
2269 <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
2270 <td>Result location for the duration, or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
2271 </td>
2272 </tr>
2273 </tbody>
2274 </table></div>
2275 </div>
2276 <hr>
2277 <div class="refsect2">
2278 <a name="gst-message-new-latency"></a><h3>gst_message_new_latency ()</h3>
2279 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_latency             (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
2280 <p>
2281 This message can be posted by elements when their latency requirements have
2282 changed.
2283 </p>
2284 <div class="variablelist"><table border="0">
2285 <col align="left" valign="top">
2286 <tbody>
2287 <tr>
2288 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2289 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2290 </td>
2291 </tr>
2292 <tr>
2293 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2294 <td>The new latency message.
2295 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2296 </td>
2297 </tr>
2298 </tbody>
2299 </table></div>
2300 <p class="since">Since 0.10.12</p>
2301 </div>
2302 <hr>
2303 <div class="refsect2">
2304 <a name="gst-message-new-async-start"></a><h3>gst_message_new_async_start ()</h3>
2305 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_async_start         (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
2306                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> new_base_time</code></em>);</pre>
2307 <p>
2308 This message is posted by elements when they start an ASYNC state change. 
2309 <em class="parameter"><code>new_base_time</code></em> is set to TRUE when the element lost its state when it was
2310 PLAYING.
2311 </p>
2312 <div class="variablelist"><table border="0">
2313 <col align="left" valign="top">
2314 <tbody>
2315 <tr>
2316 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2317 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2318 </td>
2319 </tr>
2320 <tr>
2321 <td><p><span class="term"><em class="parameter"><code>new_base_time</code></em> :</span></p></td>
2322 <td>if a new base_time should be set on the element</td>
2323 </tr>
2324 <tr>
2325 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2326 <td>The new async_start message.
2327 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2328 </td>
2329 </tr>
2330 </tbody>
2331 </table></div>
2332 <p class="since">Since 0.10.13</p>
2333 </div>
2334 <hr>
2335 <div class="refsect2">
2336 <a name="gst-message-parse-async-start"></a><h3>gst_message_parse_async_start ()</h3>
2337 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_async_start       (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2338                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *new_base_time</code></em>);</pre>
2339 <p>
2340 Extract the new_base_time from the async_start message. 
2341 </p>
2342 <p>
2343 MT safe.
2344 </p>
2345 <div class="variablelist"><table border="0">
2346 <col align="left" valign="top">
2347 <tbody>
2348 <tr>
2349 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2350 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_ASYNC_DONE.</td>
2351 </tr>
2352 <tr>
2353 <td><p><span class="term"><em class="parameter"><code>new_base_time</code></em> :</span></p></td>
2354 <td>Result location for the new_base_time or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
2355 </td>
2356 </tr>
2357 </tbody>
2358 </table></div>
2359 <p class="since">Since 0.10.13</p>
2360 </div>
2361 <hr>
2362 <div class="refsect2">
2363 <a name="gst-message-new-async-done"></a><h3>gst_message_new_async_done ()</h3>
2364 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_async_done          (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
2365 <p>
2366 The message is posted when elements completed an ASYNC state change.
2367 </p>
2368 <div class="variablelist"><table border="0">
2369 <col align="left" valign="top">
2370 <tbody>
2371 <tr>
2372 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2373 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2374 </td>
2375 </tr>
2376 <tr>
2377 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2378 <td>The new async_done message.
2379 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2380 </td>
2381 </tr>
2382 </tbody>
2383 </table></div>
2384 <p class="since">Since 0.10.13</p>
2385 </div>
2386 <hr>
2387 <div class="refsect2">
2388 <a name="gst-message-new-step-start"></a><h3>gst_message_new_step_start ()</h3>
2389 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_step_start          (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
2390                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> active</code></em>,
2391                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
2392                                                          <em class="parameter"><code><span class="type">guint64</span> amount</code></em>,
2393                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>,
2394                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> flush</code></em>,
2395                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> intermediate</code></em>);</pre>
2396 <p>
2397 This message is posted by elements when they accept or activate a new step
2398 event for <em class="parameter"><code>amount</code></em> in <em class="parameter"><code>format</code></em>. 
2399 </p>
2400 <p>
2401 <em class="parameter"><code>active</code></em> is set to FALSE when the element accepted the new step event and has
2402 queued it for execution in the streaming threads.
2403 </p>
2404 <p>
2405 <em class="parameter"><code>active</code></em> is set to TRUE when the element has activated the step operation and
2406 is now ready to start executing the step in the streaming thread. After this
2407 message is emited, the application can queue a new step operation in the
2408 element.
2409 </p>
2410 <div class="variablelist"><table border="0">
2411 <col align="left" valign="top">
2412 <tbody>
2413 <tr>
2414 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2415 <td>The object originating the message.</td>
2416 </tr>
2417 <tr>
2418 <td><p><span class="term"><em class="parameter"><code>active</code></em> :</span></p></td>
2419 <td>if the step is active or queued</td>
2420 </tr>
2421 <tr>
2422 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2423 <td>the format of <em class="parameter"><code>amount</code></em>
2424 </td>
2425 </tr>
2426 <tr>
2427 <td><p><span class="term"><em class="parameter"><code>amount</code></em> :</span></p></td>
2428 <td>the amount of stepped data</td>
2429 </tr>
2430 <tr>
2431 <td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td>
2432 <td>the rate of the stepped amount</td>
2433 </tr>
2434 <tr>
2435 <td><p><span class="term"><em class="parameter"><code>flush</code></em> :</span></p></td>
2436 <td>is this an flushing step</td>
2437 </tr>
2438 <tr>
2439 <td><p><span class="term"><em class="parameter"><code>intermediate</code></em> :</span></p></td>
2440 <td>is this an intermediate step</td>
2441 </tr>
2442 <tr>
2443 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2444 <td>The new step_start message.
2445 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2446 </td>
2447 </tr>
2448 </tbody>
2449 </table></div>
2450 <p class="since">Since 0.10.24</p>
2451 </div>
2452 <hr>
2453 <div class="refsect2">
2454 <a name="gst-message-parse-step-start"></a><h3>gst_message_parse_step_start ()</h3>
2455 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_step_start        (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2456                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *active</code></em>,
2457                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
2458                                                          <em class="parameter"><code><span class="type">guint64</span> *amount</code></em>,
2459                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *rate</code></em>,
2460                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *flush</code></em>,
2461                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *intermediate</code></em>);</pre>
2462 <p>
2463 Extract the values from step_start message.
2464 </p>
2465 <p>
2466 MT safe.
2467 </p>
2468 <div class="variablelist"><table border="0">
2469 <col align="left" valign="top">
2470 <tbody>
2471 <tr>
2472 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2473 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STEP_DONE.</td>
2474 </tr>
2475 <tr>
2476 <td><p><span class="term"><em class="parameter"><code>active</code></em> :</span></p></td>
2477 <td>result location for the active flag. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2478 </td>
2479 </tr>
2480 <tr>
2481 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2482 <td>result location for the format. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2483 </td>
2484 </tr>
2485 <tr>
2486 <td><p><span class="term"><em class="parameter"><code>amount</code></em> :</span></p></td>
2487 <td>result location for the amount. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2488 </td>
2489 </tr>
2490 <tr>
2491 <td><p><span class="term"><em class="parameter"><code>rate</code></em> :</span></p></td>
2492 <td>result location for the rate. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2493 </td>
2494 </tr>
2495 <tr>
2496 <td><p><span class="term"><em class="parameter"><code>flush</code></em> :</span></p></td>
2497 <td>result location for the flush flag. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2498 </td>
2499 </tr>
2500 <tr>
2501 <td><p><span class="term"><em class="parameter"><code>intermediate</code></em> :</span></p></td>
2502 <td>result location for the intermediate flag. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2503 </td>
2504 </tr>
2505 </tbody>
2506 </table></div>
2507 <p class="since">Since 0.10.24</p>
2508 </div>
2509 <hr>
2510 <div class="refsect2">
2511 <a name="gst-message-new-qos"></a><h3>gst_message_new_qos ()</h3>
2512 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_qos                 (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
2513                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> live</code></em>,
2514                                                          <em class="parameter"><code><span class="type">guint64</span> running_time</code></em>,
2515                                                          <em class="parameter"><code><span class="type">guint64</span> stream_time</code></em>,
2516                                                          <em class="parameter"><code><span class="type">guint64</span> timestamp</code></em>,
2517                                                          <em class="parameter"><code><span class="type">guint64</span> duration</code></em>);</pre>
2518 <p>
2519 A QOS message is posted on the bus whenever an element decides to drop a
2520 buffer because of QoS reasons or whenever it changes its processing strategy
2521 because of QoS reasons (quality adjustments such as processing at lower
2522 accuracy).
2523 </p>
2524 <p>
2525 This message can be posted by an element that performs synchronisation against the
2526 clock (live) or it could be dropped by an element that performs QoS because of QOS
2527 events received from a downstream element (!live).
2528 </p>
2529 <p>
2530 <em class="parameter"><code>running_time</code></em>, <em class="parameter"><code>stream_time</code></em>, <em class="parameter"><code>timestamp</code></em>, <em class="parameter"><code>duration</code></em> should be set to the
2531 respective running-time, stream-time, timestamp and duration of the (dropped)
2532 buffer that generated the QoS event. Values can be left to
2533 GST_CLOCK_TIME_NONE when unknown.
2534 </p>
2535 <div class="variablelist"><table border="0">
2536 <col align="left" valign="top">
2537 <tbody>
2538 <tr>
2539 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2540 <td>The object originating the message.</td>
2541 </tr>
2542 <tr>
2543 <td><p><span class="term"><em class="parameter"><code>live</code></em> :</span></p></td>
2544 <td>if the message was generated by a live element</td>
2545 </tr>
2546 <tr>
2547 <td><p><span class="term"><em class="parameter"><code>running_time</code></em> :</span></p></td>
2548 <td>the running time of the buffer that generated the message</td>
2549 </tr>
2550 <tr>
2551 <td><p><span class="term"><em class="parameter"><code>stream_time</code></em> :</span></p></td>
2552 <td>the stream time of the buffer that generated the message</td>
2553 </tr>
2554 <tr>
2555 <td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td>
2556 <td>the timestamps of the buffer that generated the message</td>
2557 </tr>
2558 <tr>
2559 <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
2560 <td>the duration of the buffer that generated the message</td>
2561 </tr>
2562 <tr>
2563 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2564 <td>The new qos message.
2565 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2566 </td>
2567 </tr>
2568 </tbody>
2569 </table></div>
2570 <p class="since">Since 0.10.29</p>
2571 </div>
2572 <hr>
2573 <div class="refsect2">
2574 <a name="gst-message-set-qos-values"></a><h3>gst_message_set_qos_values ()</h3>
2575 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_set_qos_values          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2576                                                          <em class="parameter"><code><span class="type">gint64</span> jitter</code></em>,
2577                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> proportion</code></em>,
2578                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> quality</code></em>);</pre>
2579 <p>
2580 Set the QoS values that have been calculated/analysed from the QoS data
2581 </p>
2582 <p>
2583 MT safe.
2584 </p>
2585 <div class="variablelist"><table border="0">
2586 <col align="left" valign="top">
2587 <tbody>
2588 <tr>
2589 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2590 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</td>
2591 </tr>
2592 <tr>
2593 <td><p><span class="term"><em class="parameter"><code>jitter</code></em> :</span></p></td>
2594 <td>The difference of the running-time against the deadline.</td>
2595 </tr>
2596 <tr>
2597 <td><p><span class="term"><em class="parameter"><code>proportion</code></em> :</span></p></td>
2598 <td>Long term prediction of the ideal rate relative to normal rate
2599 to get optimal quality.</td>
2600 </tr>
2601 <tr>
2602 <td><p><span class="term"><em class="parameter"><code>quality</code></em> :</span></p></td>
2603 <td>An element dependent integer value that specifies the current
2604 quality level of the element. The default maximum quality is 1000000.</td>
2605 </tr>
2606 </tbody>
2607 </table></div>
2608 <p class="since">Since 0.10.29</p>
2609 </div>
2610 <hr>
2611 <div class="refsect2">
2612 <a name="gst-message-set-qos-stats"></a><h3>gst_message_set_qos_stats ()</h3>
2613 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_set_qos_stats           (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2614                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
2615                                                          <em class="parameter"><code><span class="type">guint64</span> processed</code></em>,
2616                                                          <em class="parameter"><code><span class="type">guint64</span> dropped</code></em>);</pre>
2617 <p>
2618 Set the QoS stats representing the history of the current continuous pipeline
2619 playback period.
2620 </p>
2621 <p>
2622 When <em class="parameter"><code>format</code></em> is <em class="parameter"><code>GST_FORMAT_UNDEFINED</code></em> both <em class="parameter"><code>dropped</code></em> and <em class="parameter"><code>processed</code></em> are
2623 invalid. Values of -1 for either <em class="parameter"><code>processed</code></em> or <em class="parameter"><code>dropped</code></em> mean unknown values.
2624 </p>
2625 <p>
2626 MT safe.
2627 </p>
2628 <div class="variablelist"><table border="0">
2629 <col align="left" valign="top">
2630 <tbody>
2631 <tr>
2632 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2633 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</td>
2634 </tr>
2635 <tr>
2636 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2637 <td>Units of the 'processed' and 'dropped' fields. Video sinks and video
2638 filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters
2639 will likely use GST_FORMAT_DEFAULT (samples).</td>
2640 </tr>
2641 <tr>
2642 <td><p><span class="term"><em class="parameter"><code>processed</code></em> :</span></p></td>
2643 <td>Total number of units correctly processed since the last state
2644 change to READY or a flushing operation.</td>
2645 </tr>
2646 <tr>
2647 <td><p><span class="term"><em class="parameter"><code>dropped</code></em> :</span></p></td>
2648 <td>Total number of units dropped since the last state change to READY
2649 or a flushing operation.</td>
2650 </tr>
2651 </tbody>
2652 </table></div>
2653 <p class="since">Since 0.10.29</p>
2654 </div>
2655 <hr>
2656 <div class="refsect2">
2657 <a name="gst-message-parse-qos"></a><h3>gst_message_parse_qos ()</h3>
2658 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_qos               (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2659                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *live</code></em>,
2660                                                          <em class="parameter"><code><span class="type">guint64</span> *running_time</code></em>,
2661                                                          <em class="parameter"><code><span class="type">guint64</span> *stream_time</code></em>,
2662                                                          <em class="parameter"><code><span class="type">guint64</span> *timestamp</code></em>,
2663                                                          <em class="parameter"><code><span class="type">guint64</span> *duration</code></em>);</pre>
2664 <p>
2665 Extract the timestamps and live status from the QoS message.
2666 </p>
2667 <p>
2668 The returned values give the running_time, stream_time, timestamp and
2669 duration of the dropped buffer. Values of GST_CLOCK_TIME_NONE mean unknown
2670 values.
2671 </p>
2672 <p>
2673 MT safe.
2674 </p>
2675 <div class="variablelist"><table border="0">
2676 <col align="left" valign="top">
2677 <tbody>
2678 <tr>
2679 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2680 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</td>
2681 </tr>
2682 <tr>
2683 <td><p><span class="term"><em class="parameter"><code>live</code></em> :</span></p></td>
2684 <td>if the message was generated by a live element. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2685 </td>
2686 </tr>
2687 <tr>
2688 <td><p><span class="term"><em class="parameter"><code>running_time</code></em> :</span></p></td>
2689 <td>the running time of the buffer that
2690 generated the message. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2691 </td>
2692 </tr>
2693 <tr>
2694 <td><p><span class="term"><em class="parameter"><code>stream_time</code></em> :</span></p></td>
2695 <td>the stream time of the buffer that
2696 generated the message. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2697 </td>
2698 </tr>
2699 <tr>
2700 <td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td>
2701 <td>the timestamps of the buffer that
2702 generated the message. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2703 </td>
2704 </tr>
2705 <tr>
2706 <td><p><span class="term"><em class="parameter"><code>duration</code></em> :</span></p></td>
2707 <td>the duration of the buffer that
2708 generated the message. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2709 </td>
2710 </tr>
2711 </tbody>
2712 </table></div>
2713 <p class="since">Since 0.10.29</p>
2714 </div>
2715 <hr>
2716 <div class="refsect2">
2717 <a name="gst-message-parse-qos-values"></a><h3>gst_message_parse_qos_values ()</h3>
2718 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_qos_values        (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2719                                                          <em class="parameter"><code><span class="type">gint64</span> *jitter</code></em>,
2720                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *proportion</code></em>,
2721                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *quality</code></em>);</pre>
2722 <p>
2723 Extract the QoS values that have been calculated/analysed from the QoS data
2724 </p>
2725 <p>
2726 MT safe.
2727 </p>
2728 <div class="variablelist"><table border="0">
2729 <col align="left" valign="top">
2730 <tbody>
2731 <tr>
2732 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2733 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</td>
2734 </tr>
2735 <tr>
2736 <td><p><span class="term"><em class="parameter"><code>jitter</code></em> :</span></p></td>
2737 <td>The difference of the running-time against
2738 the deadline. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2739 </td>
2740 </tr>
2741 <tr>
2742 <td><p><span class="term"><em class="parameter"><code>proportion</code></em> :</span></p></td>
2743 <td>Long term prediction of the ideal rate
2744 relative to normal rate to get optimal quality. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2745 </td>
2746 </tr>
2747 <tr>
2748 <td><p><span class="term"><em class="parameter"><code>quality</code></em> :</span></p></td>
2749 <td>An element dependent integer value that
2750 specifies the current quality level of the element. The default
2751 maximum quality is 1000000. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2752 </td>
2753 </tr>
2754 </tbody>
2755 </table></div>
2756 <p class="since">Since 0.10.29</p>
2757 </div>
2758 <hr>
2759 <div class="refsect2">
2760 <a name="gst-message-parse-qos-stats"></a><h3>gst_message_parse_qos_stats ()</h3>
2761 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_qos_stats         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2762                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
2763                                                          <em class="parameter"><code><span class="type">guint64</span> *processed</code></em>,
2764                                                          <em class="parameter"><code><span class="type">guint64</span> *dropped</code></em>);</pre>
2765 <p>
2766 Extract the QoS stats representing the history of the current continuous
2767 pipeline playback period.
2768 </p>
2769 <p>
2770 When <em class="parameter"><code>format</code></em> is <em class="parameter"><code>GST_FORMAT_UNDEFINED</code></em> both <em class="parameter"><code>dropped</code></em> and <em class="parameter"><code>processed</code></em> are
2771 invalid. Values of -1 for either <em class="parameter"><code>processed</code></em> or <em class="parameter"><code>dropped</code></em> mean unknown values.
2772 </p>
2773 <p>
2774 MT safe.
2775 </p>
2776 <div class="variablelist"><table border="0">
2777 <col align="left" valign="top">
2778 <tbody>
2779 <tr>
2780 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2781 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</td>
2782 </tr>
2783 <tr>
2784 <td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
2785 <td>Units of the 'processed' and 'dropped' fields.
2786 Video sinks and video filters will use GST_FORMAT_BUFFERS (frames).
2787 Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT
2788 (samples). <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2789 </td>
2790 </tr>
2791 <tr>
2792 <td><p><span class="term"><em class="parameter"><code>processed</code></em> :</span></p></td>
2793 <td>Total number of units correctly processed
2794 since the last state change to READY or a flushing operation. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2795 </td>
2796 </tr>
2797 <tr>
2798 <td><p><span class="term"><em class="parameter"><code>dropped</code></em> :</span></p></td>
2799 <td>Total number of units dropped since the last
2800 state change to READY or a flushing operation. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2801 </td>
2802 </tr>
2803 </tbody>
2804 </table></div>
2805 <p class="since">Since 0.10.29</p>
2806 </div>
2807 <hr>
2808 <div class="refsect2">
2809 <a name="GstStructureChangeType"></a><h3>enum GstStructureChangeType</h3>
2810 <pre class="programlisting">typedef enum {
2811   GST_STRUCTURE_CHANGE_TYPE_PAD_LINK   = 0,
2812   GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK = 1
2813 } GstStructureChangeType;
2814 </pre>
2815 <p>
2816 The type of a <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-STRUCTURE-CHANGE:CAPS"><code class="literal">GST_MESSAGE_STRUCTURE_CHANGE</code></a>.
2817 </p>
2818 <div class="variablelist"><table border="0">
2819 <col align="left" valign="top">
2820 <tbody>
2821 <tr>
2822 <td><p><a name="GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS"></a><span class="term"><code class="literal">GST_STRUCTURE_CHANGE_TYPE_PAD_LINK</code></span></p></td>
2823 <td>Pad linking is starting or done.
2824 </td>
2825 </tr>
2826 <tr>
2827 <td><p><a name="GST-STRUCTURE-CHANGE-TYPE-PAD-UNLINK:CAPS"></a><span class="term"><code class="literal">GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK</code></span></p></td>
2828 <td>Pad unlinking is starting or done.
2829 </td>
2830 </tr>
2831 </tbody>
2832 </table></div>
2833 <p class="since">Since 0.10.22</p>
2834 </div>
2835 <hr>
2836 <div class="refsect2">
2837 <a name="gst-message-new-structure-change"></a><h3>gst_message_new_structure_change ()</h3>
2838 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_structure_change    (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
2839                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType"><span class="type">GstStructureChangeType</span></a> type</code></em>,
2840                                                          <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *owner</code></em>,
2841                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> busy</code></em>);</pre>
2842 <p>
2843 Create a new structure change message. This message is posted when the
2844 structure of a pipeline is in the process of being changed, for example
2845 when pads are linked or unlinked.
2846 </p>
2847 <p>
2848 <em class="parameter"><code>src</code></em> should be the sinkpad that unlinked or linked.
2849 </p>
2850 <div class="variablelist"><table border="0">
2851 <col align="left" valign="top">
2852 <tbody>
2853 <tr>
2854 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2855 <td>The object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2856 </td>
2857 </tr>
2858 <tr>
2859 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
2860 <td>The change type.</td>
2861 </tr>
2862 <tr>
2863 <td><p><span class="term"><em class="parameter"><code>owner</code></em> :</span></p></td>
2864 <td>The owner element of <em class="parameter"><code>src</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2865 </td>
2866 </tr>
2867 <tr>
2868 <td><p><span class="term"><em class="parameter"><code>busy</code></em> :</span></p></td>
2869 <td>Whether the structure change is busy.</td>
2870 </tr>
2871 <tr>
2872 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2873 <td>the new structure change message.
2874 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2875 </td>
2876 </tr>
2877 </tbody>
2878 </table></div>
2879 <p class="since">Since 0.10.22.</p>
2880 </div>
2881 <hr>
2882 <div class="refsect2">
2883 <a name="gst-message-parse-structure-change"></a><h3>gst_message_parse_structure_change ()</h3>
2884 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_structure_change  (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2885                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType"><span class="type">GstStructureChangeType</span></a> *type</code></em>,
2886                                                          <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> **owner</code></em>,
2887                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *busy</code></em>);</pre>
2888 <p>
2889 Extracts the change type and completion status from the GstMessage.
2890 </p>
2891 <p>
2892 MT safe.
2893 </p>
2894 <div class="variablelist"><table border="0">
2895 <col align="left" valign="top">
2896 <tbody>
2897 <tr>
2898 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2899 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STRUCTURE_CHANGE.</td>
2900 </tr>
2901 <tr>
2902 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
2903 <td>A pointer to hold the change type. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
2904 </td>
2905 </tr>
2906 <tr>
2907 <td><p><span class="term"><em class="parameter"><code>owner</code></em> :</span></p></td>
2908 <td>The owner element of the
2909 message source. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2910 </td>
2911 </tr>
2912 <tr>
2913 <td><p><span class="term"><em class="parameter"><code>busy</code></em> :</span></p></td>
2914 <td>a pointer to hold whether the change is in
2915 progress or has been completed. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
2916 </td>
2917 </tr>
2918 </tbody>
2919 </table></div>
2920 <p class="since">Since 0.10.22</p>
2921 </div>
2922 <hr>
2923 <div class="refsect2">
2924 <a name="gst-message-new-request-state"></a><h3>gst_message_new_request_state ()</h3>
2925 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_request_state       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
2926                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> state</code></em>);</pre>
2927 <p>
2928 This message can be posted by elements when they want to have their state
2929 changed. A typical use case would be an audio server that wants to pause the
2930 pipeline because a higher priority stream is being played.
2931 </p>
2932 <div class="variablelist"><table border="0">
2933 <col align="left" valign="top">
2934 <tbody>
2935 <tr>
2936 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
2937 <td>the object originating the message. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2938 </td>
2939 </tr>
2940 <tr>
2941 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
2942 <td>The new requested state</td>
2943 </tr>
2944 <tr>
2945 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2946 <td>the new requst state message.
2947 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2948 </td>
2949 </tr>
2950 </tbody>
2951 </table></div>
2952 <p class="since">Since 0.10.23</p>
2953 </div>
2954 <hr>
2955 <div class="refsect2">
2956 <a name="gst-message-parse-request-state"></a><h3>gst_message_parse_request_state ()</h3>
2957 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_request_state     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
2958                                                          <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *state</code></em>);</pre>
2959 <p>
2960 Extract the requested state from the request_state message.
2961 </p>
2962 <p>
2963 MT safe.
2964 </p>
2965 <div class="variablelist"><table border="0">
2966 <col align="left" valign="top">
2967 <tbody>
2968 <tr>
2969 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
2970 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_REQUEST_STATE.</td>
2971 </tr>
2972 <tr>
2973 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
2974 <td>Result location for the requested state or NULL. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
2975 </td>
2976 </tr>
2977 </tbody>
2978 </table></div>
2979 <p class="since">Since 0.10.23</p>
2980 </div>
2981 <hr>
2982 <div class="refsect2">
2983 <a name="GstStreamStatusType"></a><h3>enum GstStreamStatusType</h3>
2984 <pre class="programlisting">typedef enum {
2985   GST_STREAM_STATUS_TYPE_CREATE   = 0,
2986   GST_STREAM_STATUS_TYPE_ENTER    = 1,
2987   GST_STREAM_STATUS_TYPE_LEAVE    = 2,
2988   GST_STREAM_STATUS_TYPE_DESTROY  = 3,
2989
2990   GST_STREAM_STATUS_TYPE_START    = 8,
2991   GST_STREAM_STATUS_TYPE_PAUSE    = 9,
2992   GST_STREAM_STATUS_TYPE_STOP     = 10
2993 } GstStreamStatusType;
2994 </pre>
2995 <p>
2996 The type of a <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-STREAM-STATUS:CAPS"><code class="literal">GST_MESSAGE_STREAM_STATUS</code></a>. The stream status messages inform the
2997 application of new streaming threads and their status.
2998 </p>
2999 <div class="variablelist"><table border="0">
3000 <col align="left" valign="top">
3001 <tbody>
3002 <tr>
3003 <td><p><a name="GST-STREAM-STATUS-TYPE-CREATE:CAPS"></a><span class="term"><code class="literal">GST_STREAM_STATUS_TYPE_CREATE</code></span></p></td>
3004 <td>A new thread need to be created.
3005 </td>
3006 </tr>
3007 <tr>
3008 <td><p><a name="GST-STREAM-STATUS-TYPE-ENTER:CAPS"></a><span class="term"><code class="literal">GST_STREAM_STATUS_TYPE_ENTER</code></span></p></td>
3009 <td>a thread entered its loop function
3010 </td>
3011 </tr>
3012 <tr>
3013 <td><p><a name="GST-STREAM-STATUS-TYPE-LEAVE:CAPS"></a><span class="term"><code class="literal">GST_STREAM_STATUS_TYPE_LEAVE</code></span></p></td>
3014 <td>a thread left its loop function
3015 </td>
3016 </tr>
3017 <tr>
3018 <td><p><a name="GST-STREAM-STATUS-TYPE-DESTROY:CAPS"></a><span class="term"><code class="literal">GST_STREAM_STATUS_TYPE_DESTROY</code></span></p></td>
3019 <td>a thread is destroyed
3020 </td>
3021 </tr>
3022 <tr>
3023 <td><p><a name="GST-STREAM-STATUS-TYPE-START:CAPS"></a><span class="term"><code class="literal">GST_STREAM_STATUS_TYPE_START</code></span></p></td>
3024 <td>a thread is started
3025 </td>
3026 </tr>
3027 <tr>
3028 <td><p><a name="GST-STREAM-STATUS-TYPE-PAUSE:CAPS"></a><span class="term"><code class="literal">GST_STREAM_STATUS_TYPE_PAUSE</code></span></p></td>
3029 <td>a thread is paused
3030 </td>
3031 </tr>
3032 <tr>
3033 <td><p><a name="GST-STREAM-STATUS-TYPE-STOP:CAPS"></a><span class="term"><code class="literal">GST_STREAM_STATUS_TYPE_STOP</code></span></p></td>
3034 <td>a thread is stopped
3035 </td>
3036 </tr>
3037 </tbody>
3038 </table></div>
3039 <p class="since">Since 0.10.24</p>
3040 </div>
3041 <hr>
3042 <div class="refsect2">
3043 <a name="gst-message-new-stream-status"></a><h3>gst_message_new_stream_status ()</h3>
3044 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_stream_status       (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
3045                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstStreamStatusType" title="enum GstStreamStatusType"><span class="type">GstStreamStatusType</span></a> type</code></em>,
3046                                                          <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *owner</code></em>);</pre>
3047 <p>
3048 Create a new stream status message. This message is posted when a streaming
3049 thread is created/destroyed or when the state changed.
3050 </p>
3051 <div class="variablelist"><table border="0">
3052 <col align="left" valign="top">
3053 <tbody>
3054 <tr>
3055 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
3056 <td>The object originating the message.</td>
3057 </tr>
3058 <tr>
3059 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3060 <td>The stream status type.</td>
3061 </tr>
3062 <tr>
3063 <td><p><span class="term"><em class="parameter"><code>owner</code></em> :</span></p></td>
3064 <td>the owner element of <em class="parameter"><code>src</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
3065 </td>
3066 </tr>
3067 <tr>
3068 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3069 <td>the new stream status message.
3070 MT safe. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
3071 </td>
3072 </tr>
3073 </tbody>
3074 </table></div>
3075 <p class="since">Since 0.10.24.</p>
3076 </div>
3077 <hr>
3078 <div class="refsect2">
3079 <a name="gst-message-parse-stream-status"></a><h3>gst_message_parse_stream_status ()</h3>
3080 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_stream_status     (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
3081                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstStreamStatusType" title="enum GstStreamStatusType"><span class="type">GstStreamStatusType</span></a> *type</code></em>,
3082                                                          <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> **owner</code></em>);</pre>
3083 <p>
3084 Extracts the stream status type and owner the GstMessage. The returned
3085 owner remains valid for as long as the reference to <em class="parameter"><code>message</code></em> is valid and
3086 should thus not be unreffed.
3087 </p>
3088 <p>
3089 MT safe.
3090 </p>
3091 <div class="variablelist"><table border="0">
3092 <col align="left" valign="top">
3093 <tbody>
3094 <tr>
3095 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
3096 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STREAM_STATUS.</td>
3097 </tr>
3098 <tr>
3099 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3100 <td>A pointer to hold the status type. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
3101 </td>
3102 </tr>
3103 <tr>
3104 <td><p><span class="term"><em class="parameter"><code>owner</code></em> :</span></p></td>
3105 <td>The owner element of the message source. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
3106 </td>
3107 </tr>
3108 </tbody>
3109 </table></div>
3110 <p class="since">Since 0.10.24.</p>
3111 </div>
3112 <hr>
3113 <div class="refsect2">
3114 <a name="gst-message-set-stream-status-object"></a><h3>gst_message_set_stream_status_object ()</h3>
3115 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_set_stream_status_object
3116                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
3117                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *object</code></em>);</pre>
3118 <p>
3119 Configures the object handling the streaming thread. This is usually a
3120 GstTask object but other objects might be added in the future.
3121 </p>
3122 <div class="variablelist"><table border="0">
3123 <col align="left" valign="top">
3124 <tbody>
3125 <tr>
3126 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
3127 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STREAM_STATUS.</td>
3128 </tr>
3129 <tr>
3130 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
3131 <td>the object controlling the streaming</td>
3132 </tr>
3133 </tbody>
3134 </table></div>
3135 <p class="since">Since 0.10.24</p>
3136 </div>
3137 <hr>
3138 <div class="refsect2">
3139 <a name="gst-message-get-stream-status-object"></a><h3>gst_message_get_stream_status_object ()</h3>
3140 <pre class="programlisting">const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *      gst_message_get_stream_status_object
3141                                                         (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
3142 <p>
3143 Extracts the object managing the streaming thread from <em class="parameter"><code>message</code></em>.
3144 </p>
3145 <div class="variablelist"><table border="0">
3146 <col align="left" valign="top">
3147 <tbody>
3148 <tr>
3149 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
3150 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STREAM_STATUS.</td>
3151 </tr>
3152 <tr>
3153 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3154 <td>a GValue containing the object that manages the streaming thread.
3155 This object is usually of type GstTask but other types can be added in the
3156 future. The object remains valid as long as <em class="parameter"><code>message</code></em> is valid.</td>
3157 </tr>
3158 </tbody>
3159 </table></div>
3160 <p class="since">Since 0.10.24</p>
3161 </div>
3162 <hr>
3163 <div class="refsect2">
3164 <a name="GstProgressType"></a><h3>enum GstProgressType</h3>
3165 <pre class="programlisting">typedef enum {
3166   GST_PROGRESS_TYPE_START    = 0,
3167   GST_PROGRESS_TYPE_CONTINUE = 1,
3168   GST_PROGRESS_TYPE_COMPLETE = 2,
3169   GST_PROGRESS_TYPE_CANCELED = 3,
3170   GST_PROGRESS_TYPE_ERROR    = 4,
3171 } GstProgressType;
3172 </pre>
3173 <p>
3174 The type of a <a class="link" href="gstreamer-GstMessage.html#GST-MESSAGE-PROGRESS:CAPS"><code class="literal">GST_MESSAGE_PROGRESS</code></a>. The progress messages inform the
3175 application of the status of assynchronous tasks.
3176 </p>
3177 <div class="variablelist"><table border="0">
3178 <col align="left" valign="top">
3179 <tbody>
3180 <tr>
3181 <td><p><a name="GST-PROGRESS-TYPE-START:CAPS"></a><span class="term"><code class="literal">GST_PROGRESS_TYPE_START</code></span></p></td>
3182 <td>A new task started.
3183 </td>
3184 </tr>
3185 <tr>
3186 <td><p><a name="GST-PROGRESS-TYPE-CONTINUE:CAPS"></a><span class="term"><code class="literal">GST_PROGRESS_TYPE_CONTINUE</code></span></p></td>
3187 <td>A task completed and a new one continues.
3188 </td>
3189 </tr>
3190 <tr>
3191 <td><p><a name="GST-PROGRESS-TYPE-COMPLETE:CAPS"></a><span class="term"><code class="literal">GST_PROGRESS_TYPE_COMPLETE</code></span></p></td>
3192 <td>A task completed.
3193 </td>
3194 </tr>
3195 <tr>
3196 <td><p><a name="GST-PROGRESS-TYPE-CANCELED:CAPS"></a><span class="term"><code class="literal">GST_PROGRESS_TYPE_CANCELED</code></span></p></td>
3197 <td>A task was canceled.
3198 </td>
3199 </tr>
3200 <tr>
3201 <td><p><a name="GST-PROGRESS-TYPE-ERROR:CAPS"></a><span class="term"><code class="literal">GST_PROGRESS_TYPE_ERROR</code></span></p></td>
3202 <td>A task caused an error. An error message is also
3203          posted on the bus.
3204 </td>
3205 </tr>
3206 </tbody>
3207 </table></div>
3208 <p class="since">Since 0.10.33</p>
3209 </div>
3210 <hr>
3211 <div class="refsect2">
3212 <a name="gst-message-new-progress"></a><h3>gst_message_new_progress ()</h3>
3213 <pre class="programlisting"><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="returnvalue">GstMessage</span></a> *        gst_message_new_progress            (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
3214                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstProgressType" title="enum GstProgressType"><span class="type">GstProgressType</span></a> type</code></em>,
3215                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *code</code></em>,
3216                                                          <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre>
3217 <p>
3218 Progress messages are posted by elements when they use an asynchronous task
3219 to perform actions triggered by a state change.
3220 </p>
3221 <p>
3222 <em class="parameter"><code>code</code></em> contains a well defined string describing the action.
3223 <em class="parameter"><code>test</code></em> should contain a user visible string detailing the current action.
3224 </p>
3225 <div class="variablelist"><table border="0">
3226 <col align="left" valign="top">
3227 <tbody>
3228 <tr>
3229 <td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
3230 <td>The object originating the message.</td>
3231 </tr>
3232 <tr>
3233 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3234 <td>a <a class="link" href="gstreamer-GstMessage.html#GstProgressType" title="enum GstProgressType"><span class="type">GstProgressType</span></a>
3235 </td>
3236 </tr>
3237 <tr>
3238 <td><p><span class="term"><em class="parameter"><code>code</code></em> :</span></p></td>
3239 <td>a progress code</td>
3240 </tr>
3241 <tr>
3242 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
3243 <td>free, user visible text describing the progress</td>
3244 </tr>
3245 <tr>
3246 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3247 <td>The new qos message. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
3248 </td>
3249 </tr>
3250 </tbody>
3251 </table></div>
3252 <p class="since">Since 0.10.33</p>
3253 </div>
3254 <hr>
3255 <div class="refsect2">
3256 <a name="gst-message-parse-progress"></a><h3>gst_message_parse_progress ()</h3>
3257 <pre class="programlisting"><span class="returnvalue">void</span>                gst_message_parse_progress          (<em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
3258                                                          <em class="parameter"><code><a class="link" href="gstreamer-GstMessage.html#GstProgressType" title="enum GstProgressType"><span class="type">GstProgressType</span></a> *type</code></em>,
3259                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **code</code></em>,
3260                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **text</code></em>);</pre>
3261 <p>
3262 Parses the progress <em class="parameter"><code>type</code></em>, <em class="parameter"><code>code</code></em> and <em class="parameter"><code>text</code></em>.
3263 </p>
3264 <div class="variablelist"><table border="0">
3265 <col align="left" valign="top">
3266 <tbody>
3267 <tr>
3268 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
3269 <td>A valid <a class="link" href="gstreamer-GstMessage.html#GstMessage" title="struct GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_PROGRESS.</td>
3270 </tr>
3271 <tr>
3272 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
3273 <td>location for the type. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
3274 </td>
3275 </tr>
3276 <tr>
3277 <td><p><span class="term"><em class="parameter"><code>code</code></em> :</span></p></td>
3278 <td>location for the code. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
3279 </td>
3280 </tr>
3281 <tr>
3282 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
3283 <td>location for the text. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
3284 </td>
3285 </tr>
3286 </tbody>
3287 </table></div>
3288 <p class="since">Since 0.10.33</p>
3289 </div>
3290 </div>
3291 <div class="refsect1">
3292 <a name="gstreamer-GstMessage.see-also"></a><h2>See Also</h2>
3293 <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a>, <a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a>, <a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a>
3294 </div>
3295 </div>
3296 <div class="footer">
3297 <hr>
3298           Generated by GTK-Doc V1.18</div>
3299 </body>
3300 </html>