Imported Upstream version 1.3.1
diff --git a/docs/gst/html/GstMessage.html b/docs/gst/html/GstMessage.html
new file mode 100644
index 0000000..65ac123
--- /dev/null
+++ b/docs/gst/html/GstMessage.html
@@ -0,0 +1,4694 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GStreamer 1.0 Core Reference Manual: GstMessage</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
+<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
+<link rel="prev" href="GstMemory.html" title="GstMemory">
+<link rel="next" href="gstreamer-GstMeta.html" title="GstMeta">
+<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
+ <a href="#GstMessage.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
+ <a href="#GstMessage.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="GstMemory.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gstreamer-GstMeta.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="GstMessage"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="GstMessage.top_of_page"></a>GstMessage</span></h2>
+<p>GstMessage — Lightweight objects to signal the application of
+ pipeline events</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="GstMessage.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#GST-MESSAGE-SRC:CAPS" title="GST_MESSAGE_SRC()">GST_MESSAGE_SRC</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#GST-MESSAGE-SRC-NAME:CAPS" title="GST_MESSAGE_SRC_NAME()">GST_MESSAGE_SRC_NAME</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#GST-MESSAGE-TIMESTAMP:CAPS" title="GST_MESSAGE_TIMESTAMP()">GST_MESSAGE_TIMESTAMP</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#GST-MESSAGE-SEQNUM:CAPS" title="GST_MESSAGE_SEQNUM()">GST_MESSAGE_SEQNUM</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#GST-MESSAGE-TYPE:CAPS" title="GST_MESSAGE_TYPE()">GST_MESSAGE_TYPE</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#GST-MESSAGE-TYPE-NAME:CAPS" title="GST_MESSAGE_TYPE_NAME()">GST_MESSAGE_TYPE_NAME</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="returnvalue">GQuark</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-type-to-quark" title="gst_message_type_to_quark ()">gst_message_type_to_quark</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-type-get-name" title="gst_message_type_get_name ()">gst_message_type_get_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-ref" title="gst_message_ref ()">gst_message_ref</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-unref" title="gst_message_unref ()">gst_message_unref</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-copy" title="gst_message_copy ()">gst_message_copy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="GstStructure.html" title="GstStructure"><span class="returnvalue">GstStructure</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-get-structure" title="gst_message_get_structure ()">gst_message_get_structure</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-make-writable" title="gst_message_make_writable()">gst_message_make_writable</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">guint32</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-get-seqnum" title="gst_message_get_seqnum ()">gst_message_get_seqnum</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-set-seqnum" title="gst_message_set_seqnum ()">gst_message_set_seqnum</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-has-name" title="gst_message_has_name ()">gst_message_has_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-is-writable" title="gst_message_is_writable()">gst_message_is_writable</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-replace" title="gst_message_replace ()">gst_message_replace</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-eos" title="gst_message_new_eos ()">gst_message_new_eos</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-error" title="gst_message_new_error ()">gst_message_new_error</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-error" title="gst_message_parse_error ()">gst_message_parse_error</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-warning" title="gst_message_new_warning ()">gst_message_new_warning</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-warning" title="gst_message_parse_warning ()">gst_message_parse_warning</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-info" title="gst_message_new_info ()">gst_message_new_info</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-info" title="gst_message_parse_info ()">gst_message_parse_info</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-tag" title="gst_message_new_tag ()">gst_message_new_tag</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-tag" title="gst_message_parse_tag ()">gst_message_parse_tag</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-buffering" title="gst_message_new_buffering ()">gst_message_new_buffering</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-buffering" title="gst_message_parse_buffering ()">gst_message_parse_buffering</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-set-buffering-stats" title="gst_message_set_buffering_stats ()">gst_message_set_buffering_stats</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-buffering-stats" title="gst_message_parse_buffering_stats ()">gst_message_parse_buffering_stats</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-state-changed" title="gst_message_new_state_changed ()">gst_message_new_state_changed</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-state-changed" title="gst_message_parse_state_changed ()">gst_message_parse_state_changed</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-state-dirty" title="gst_message_new_state_dirty ()">gst_message_new_state_dirty</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-step-done" title="gst_message_new_step_done ()">gst_message_new_step_done</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-step-done" title="gst_message_parse_step_done ()">gst_message_parse_step_done</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-clock-provide" title="gst_message_new_clock_provide ()">gst_message_new_clock_provide</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-clock-provide" title="gst_message_parse_clock_provide ()">gst_message_parse_clock_provide</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-clock-lost" title="gst_message_new_clock_lost ()">gst_message_new_clock_lost</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-clock-lost" title="gst_message_parse_clock_lost ()">gst_message_parse_clock_lost</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-new-clock" title="gst_message_new_new_clock ()">gst_message_new_new_clock</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-new-clock" title="gst_message_parse_new_clock ()">gst_message_parse_new_clock</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-application" title="gst_message_new_application ()">gst_message_new_application</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-element" title="gst_message_new_element ()">gst_message_new_element</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-custom" title="gst_message_new_custom ()">gst_message_new_custom</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-segment-start" title="gst_message_new_segment_start ()">gst_message_new_segment_start</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-segment-start" title="gst_message_parse_segment_start ()">gst_message_parse_segment_start</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-segment-done" title="gst_message_new_segment_done ()">gst_message_new_segment_done</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-segment-done" title="gst_message_parse_segment_done ()">gst_message_parse_segment_done</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-duration-changed" title="gst_message_new_duration_changed ()">gst_message_new_duration_changed</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-latency" title="gst_message_new_latency ()">gst_message_new_latency</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-async-start" title="gst_message_new_async_start ()">gst_message_new_async_start</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-async-done" title="gst_message_new_async_done ()">gst_message_new_async_done</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-async-done" title="gst_message_parse_async_done ()">gst_message_parse_async_done</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-step-start" title="gst_message_new_step_start ()">gst_message_new_step_start</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-step-start" title="gst_message_parse_step_start ()">gst_message_parse_step_start</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-qos" title="gst_message_new_qos ()">gst_message_new_qos</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-set-qos-values" title="gst_message_set_qos_values ()">gst_message_set_qos_values</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-set-qos-stats" title="gst_message_set_qos_stats ()">gst_message_set_qos_stats</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-qos" title="gst_message_parse_qos ()">gst_message_parse_qos</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-qos-values" title="gst_message_parse_qos_values ()">gst_message_parse_qos_values</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-qos-stats" title="gst_message_parse_qos_stats ()">gst_message_parse_qos_stats</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-toc" title="gst_message_new_toc ()">gst_message_new_toc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-toc" title="gst_message_parse_toc ()">gst_message_parse_toc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-reset-time" title="gst_message_new_reset_time ()">gst_message_new_reset_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-reset-time" title="gst_message_parse_reset_time ()">gst_message_parse_reset_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-stream-start" title="gst_message_new_stream_start ()">gst_message_new_stream_start</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-set-group-id" title="gst_message_set_group_id ()">gst_message_set_group_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-group-id" title="gst_message_parse_group_id ()">gst_message_parse_group_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-structure-change" title="gst_message_new_structure_change ()">gst_message_new_structure_change</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-structure-change" title="gst_message_parse_structure_change ()">gst_message_parse_structure_change</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-request-state" title="gst_message_new_request_state ()">gst_message_new_request_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-request-state" title="gst_message_parse_request_state ()">gst_message_parse_request_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-stream-status" title="gst_message_new_stream_status ()">gst_message_new_stream_status</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-stream-status" title="gst_message_parse_stream_status ()">gst_message_parse_stream_status</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-set-stream-status-object" title="gst_message_set_stream_status_object ()">gst_message_set_stream_status_object</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-get-stream-status-object" title="gst_message_get_stream_status_object ()">gst_message_get_stream_status_object</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-progress" title="gst_message_new_progress ()">gst_message_new_progress</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-progress" title="gst_message_parse_progress ()">gst_message_parse_progress</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-need-context" title="gst_message_new_need_context ()">gst_message_new_need_context</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-context-type" title="gst_message_parse_context_type ()">gst_message_parse_context_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-new-have-context" title="gst_message_new_have_context ()">gst_message_new_have_context</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="GstMessage.html#gst-message-parse-have-context" title="gst_message_parse_have_context ()">gst_message_parse_have_context</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="GstMessage.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="GstMessage.html#GstMessage-struct" title="struct GstMessage">GstMessage</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="GstMessage.html#GstMessageType" title="enum GstMessageType">GstMessageType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType">GstStructureChangeType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="GstMessage.html#GstStreamStatusType" title="enum GstStreamStatusType">GstStreamStatusType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="GstMessage.html#GstProgressType" title="enum GstProgressType">GstProgressType</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="GstMessage.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> GBoxed
+ <span class="lineart">╰──</span> GstMessage
+</pre>
+</div>
+<div class="refsect1">
+<a name="GstMessage.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include <gst/gst.h>
+</pre>
+</div>
+<div class="refsect1">
+<a name="GstMessage.description"></a><h2>Description</h2>
+<p>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
+<a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> as the content. This allows for writing custom messages without
+requiring an API change while allowing a wide range of different types
+of messages.</p>
+<p>Messages are posted by objects in the pipeline and are passed to the
+application using the <a class="link" href="GstBus.html" title="GstBus"><span class="type">GstBus</span></a>.</p>
+<p>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:</p>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1</pre></td>
+ <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/GstMessage.html#gst-message-new-eos">gst_message_new_eos</a></span><span class="gtkdoc opt">());</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<p></p>
+<p>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
+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>.</p>
+</div>
+<div class="refsect1">
+<a name="GstMessage.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="GST-MESSAGE-SRC:CAPS"></a><h3>GST_MESSAGE_SRC()</h3>
+<pre class="programlisting">#define GST_MESSAGE_SRC(message) (GST_MESSAGE_CAST(message)->src)
+</pre>
+<p>Get the object that posted <em class="parameter"><code>message</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.2.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-MESSAGE-SRC-NAME:CAPS"></a><h3>GST_MESSAGE_SRC_NAME()</h3>
+<pre class="programlisting">#define GST_MESSAGE_SRC_NAME(message)</pre>
+<p>Get the name of the object that posted <em class="parameter"><code>message</code></em>
+. Returns "(NULL)" if
+the message has no source object set.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-MESSAGE-TIMESTAMP:CAPS"></a><h3>GST_MESSAGE_TIMESTAMP()</h3>
+<pre class="programlisting">#define GST_MESSAGE_TIMESTAMP(message) (GST_MESSAGE_CAST(message)->timestamp)
+</pre>
+<p>Get the timestamp of <em class="parameter"><code>message</code></em>
+. This is the timestamp when the message
+was created.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-MESSAGE-SEQNUM:CAPS"></a><h3>GST_MESSAGE_SEQNUM()</h3>
+<pre class="programlisting">#define GST_MESSAGE_SEQNUM(message) (GST_MESSAGE_CAST(message)->seqnum)
+</pre>
+<p>Get the sequence number of <em class="parameter"><code>message</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-MESSAGE-TYPE:CAPS"></a><h3>GST_MESSAGE_TYPE()</h3>
+<pre class="programlisting">#define GST_MESSAGE_TYPE(message) (GST_MESSAGE_CAST(message)->type)
+</pre>
+<p>Get the <a class="link" href="GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> of <em class="parameter"><code>message</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-MESSAGE-TYPE-NAME:CAPS"></a><h3>GST_MESSAGE_TYPE_NAME()</h3>
+<pre class="programlisting">#define GST_MESSAGE_TYPE_NAME(message) gst_message_type_get_name(GST_MESSAGE_TYPE(message))
+</pre>
+<p>Get a constant string representation of the <a class="link" href="GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> of <em class="parameter"><code>message</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-type-to-quark"></a><h3>gst_message_type_to_quark ()</h3>
+<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="GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>);</pre>
+<p>Get the unique quark for the given message type.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.8.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the message type</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.8.6"></a><h4>Returns</h4>
+<p> the quark associated with the message type</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-type-get-name"></a><h3>gst_message_type_get_name ()</h3>
+<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="GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>);</pre>
+<p>Get a printable name for the given message type. Do not modify or free.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.9.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the message type</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.9.6"></a><h4>Returns</h4>
+<p> a reference to the static name of the message.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-ref"></a><h3>gst_message_ref ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_ref (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
+<p>Convenience macro to increase the reference count of the message.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.10.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>the message to ref</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.10.6"></a><h4>Returns</h4>
+<p> <em class="parameter"><code>msg</code></em>
+(for convenience when doing assignments)</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-unref"></a><h3>gst_message_unref ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_unref (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
+<p>Convenience macro to decrease the reference count of the message, possibly
+freeing it.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.11.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>the message to unref</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-copy"></a><h3>gst_message_copy ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_copy (<em class="parameter"><code>const <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *msg</code></em>);</pre>
+<p>Creates a copy of the message. Returns a copy of the message.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.12.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>the message to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.12.6"></a><h4>Returns</h4>
+<p> a new copy of <em class="parameter"><code>msg</code></em>
+.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-get-structure"></a><h3>gst_message_get_structure ()</h3>
+<pre class="programlisting">const <a class="link" href="GstStructure.html" title="GstStructure"><span class="returnvalue">GstStructure</span></a> *
+gst_message_get_structure (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
+<p>Access the structure of the message.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.13.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>The <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.13.6"></a><h4>Returns</h4>
+<p> The structure of the message. The structure is
+still owned by the message, which means that you should not free it and
+that the pointer becomes invalid when you free the message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-make-writable"></a><h3>gst_message_make_writable()</h3>
+<pre class="programlisting">#define gst_message_make_writable(msg) GST_MESSAGE_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (msg)))
+</pre>
+<p>Checks if a message is writable. If not, a writable copy is made and
+returned.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.14.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p> the message to make writable. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.14.6"></a><h4>Returns</h4>
+<p> a message (possibly a duplicate) that is writable.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-get-seqnum"></a><h3>gst_message_get_seqnum ()</h3>
+<pre class="programlisting"><span class="returnvalue">guint32</span>
+gst_message_get_seqnum (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
+<p>Retrieve the sequence number of a message.</p>
+<p>Messages have ever-incrementing sequence numbers, which may also be set
+explicitly via <a class="link" href="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
+to indicate that a message corresponds to some other set of messages or
+events, for example a SEGMENT_DONE message corresponding to a SEEK event. It
+is considered good practice to make this correspondence when possible, though
+it is not required.</p>
+<p>Note that events and messages share the same sequence number incrementor;
+two events or messages will never have the same sequence number unless
+that correspondence was made explicitly.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.15.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.15.8"></a><h4>Returns</h4>
+<p> The message's sequence number.</p>
+<p>MT safe.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-set-seqnum"></a><h3>gst_message_set_seqnum ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_set_seqnum (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><span class="type">guint32</span> seqnum</code></em>);</pre>
+<p>Set the sequence number of a message.</p>
+<p>This function might be called by the creator of a message to indicate that
+the message relates to other messages or events. See <a class="link" href="GstMessage.html#gst-message-get-seqnum" title="gst_message_get_seqnum ()"><code class="function">gst_message_get_seqnum()</code></a>
+for more information.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.16.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>seqnum</p></td>
+<td class="parameter_description"><p>A sequence number.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-has-name"></a><h3>gst_message_has_name ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_message_has_name (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <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> *name</code></em>);</pre>
+<p>Checks if <em class="parameter"><code>message</code></em>
+ has the given <em class="parameter"><code>name</code></em>
+. This function is usually used to
+check the name of a custom message.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.17.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>The <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>name to check</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.17.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>name</code></em>
+matches the name of the message structure.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-is-writable"></a><h3>gst_message_is_writable()</h3>
+<pre class="programlisting">#define gst_message_is_writable(msg) gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (msg))
+</pre>
+<p>Tests if you can safely write into a message's structure or validly
+modify the seqnum and timestamp fields.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.18.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>msg</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-replace"></a><h3>gst_message_replace ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_message_replace (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> **old_message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *new_message</code></em>);</pre>
+<p>Modifies a pointer to a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> to point to a different <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a>. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+message is unreffed, the new one is reffed).</p>
+<p>Either <em class="parameter"><code>new_message</code></em>
+ or the <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> pointed to by <em class="parameter"><code>old_message</code></em>
+ may be NULL.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.19.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>old_message</p></td>
+<td class="parameter_description"><p> pointer to a pointer to a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a>
+to be replaced. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>new_message</p></td>
+<td class="parameter_description"><p> pointer to a <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> that will
+replace the message pointed to by <em class="parameter"><code>old_message</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.19.7"></a><h4>Returns</h4>
+<p> TRUE if <em class="parameter"><code>new_message</code></em>
+was different from <em class="parameter"><code>old_message</code></em>
+</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-eos"></a><h3>gst_message_new_eos ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>
+<p>Create a new eos message. This message is generated and posted in
+the sink elements of a GstBin. The bin will only forward the EOS
+message to the application if all sinks have posted an EOS message.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.20.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.20.6"></a><h4>Returns</h4>
+<p> The new eos message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-error"></a><h3>gst_message_new_error ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <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>,
+ <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>
+<p>Create a new error message. The message will copy <em class="parameter"><code>error</code></em>
+ and
+<em class="parameter"><code>debug</code></em>
+. This message is posted by element when a fatal event
+occurred. The pipeline will probably (partially) stop. The application
+receiving this message should stop the pipeline.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.21.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> The GError for this message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>debug</p></td>
+<td class="parameter_description"><p>A debugging string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.21.6"></a><h4>Returns</h4>
+<p> the new error message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-error"></a><h3>gst_message_parse_error ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_error (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <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>,
+ <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>
+<p>Extracts the GError and debug string from the GstMessage. The values returned
+in the output arguments are copies; the caller must free them when done.</p>
+<p>Typical usage of this function might be:</p>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
+<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/GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
+ <span class="keyword">case</span> GST_MESSAGE_ERROR<span class="gtkdoc opt">: {</span>
+ GError <span class="gtkdoc opt">*</span>err <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
+ gchar <span class="gtkdoc opt">*</span>dbg_info <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
+
+ <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-parse-error">gst_message_parse_error</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &</span>err<span class="gtkdoc opt">, &</span>dbg_info<span class="gtkdoc opt">);</span>
+ <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">"ERROR from element %s: %s</span><span class="gtkdoc esc">\n</span><span class="string">"</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">-></span>src<span class="gtkdoc opt">),</span> err<span class="gtkdoc opt">-></span>message<span class="gtkdoc opt">);</span>
+ <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">"Debugging info: %s</span><span class="gtkdoc esc">\n</span><span class="string">"</span><span class="gtkdoc opt">, (</span>dbg_info<span class="gtkdoc opt">)</span> ? dbg_info <span class="gtkdoc opt">:</span> <span class="string">"none"</span><span class="gtkdoc opt">);</span>
+ <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>
+ <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>
+ <span class="keyword">break</span><span class="gtkdoc opt">;</span>
+ <span class="gtkdoc opt">}</span>
+ <span class="gtkdoc opt">...</span>
+<span class="gtkdoc opt">}</span>
+<span class="gtkdoc opt">...</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<p></p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.22.9"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_ERROR.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gerror</p></td>
+<td class="parameter_description"><p> location for the GError. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>debug</p></td>
+<td class="parameter_description"><p> location for the debug message,
+or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-warning"></a><h3>gst_message_new_warning ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <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>,
+ <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>
+<p>Create a new warning message. The message will make copies of <em class="parameter"><code>error</code></em>
+ and
+<em class="parameter"><code>debug</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.23.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> The GError for this message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>debug</p></td>
+<td class="parameter_description"><p>A debugging string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.23.6"></a><h4>Returns</h4>
+<p> The new warning message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-warning"></a><h3>gst_message_parse_warning ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_warning (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <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>,
+ <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>
+<p>Extracts the GError and debug string from the GstMessage. The values returned
+in the output arguments are copies; the caller must free them when done.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.24.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_WARNING.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gerror</p></td>
+<td class="parameter_description"><p> location for the GError. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>debug</p></td>
+<td class="parameter_description"><p> location for the debug message,
+or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-info"></a><h3>gst_message_new_info ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <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>,
+ <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>
+<p>Create a new info message. The message will make copies of <em class="parameter"><code>error</code></em>
+ and
+<em class="parameter"><code>debug</code></em>
+.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.25.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p> The GError for this message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>debug</p></td>
+<td class="parameter_description"><p>A debugging string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.25.7"></a><h4>Returns</h4>
+<p> the new info message. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-info"></a><h3>gst_message_parse_info ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_info (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <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>,
+ <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>
+<p>Extracts the GError and debug string from the GstMessage. The values returned
+in the output arguments are copies; the caller must free them when done.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.26.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_INFO.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gerror</p></td>
+<td class="parameter_description"><p> location for the GError. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>debug</p></td>
+<td class="parameter_description"><p> location for the debug message,
+or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-tag"></a><h3>gst_message_new_tag ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstTagList.html" title="GstTagList"><span class="type">GstTagList</span></a> *tag_list</code></em>);</pre>
+<p>Create a new tag message. The message will take ownership of the tag list.
+The message is posted by elements that discovered a new taglist.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.27.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tag_list</p></td>
+<td class="parameter_description"><p> the tag list for the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.27.6"></a><h4>Returns</h4>
+<p> the new tag message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-tag"></a><h3>gst_message_parse_tag ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_tag (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstTagList.html" title="GstTagList"><span class="type">GstTagList</span></a> **tag_list</code></em>);</pre>
+<p>Extracts the tag list from the GstMessage. The tag list returned in the
+output argument is a copy; the caller must free it when done.</p>
+<p>Typical usage of this function might be:</p>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
+<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/GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
+ <span class="keyword">case</span> GST_MESSAGE_TAG<span class="gtkdoc opt">: {</span>
+ GstTagList <span class="gtkdoc opt">*</span>tags <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
+
+ <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-parse-tag">gst_message_parse_tag</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &</span>tags<span class="gtkdoc opt">);</span>
+ <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">"Got tags from element %s</span><span class="gtkdoc esc">\n</span><span class="string">"</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">-></span>src<span class="gtkdoc opt">));</span>
+ <span class="function">handle_tags</span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
+ <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstTagList.html#gst-tag-list-unref">gst_tag_list_unref</a></span> <span class="gtkdoc opt">(</span>tags<span class="gtkdoc opt">);</span>
+ <span class="keyword">break</span><span class="gtkdoc opt">;</span>
+ <span class="gtkdoc opt">}</span>
+ <span class="gtkdoc opt">...</span>
+<span class="gtkdoc opt">}</span>
+<span class="gtkdoc opt">...</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<p></p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.28.9"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_TAG.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tag_list</p></td>
+<td class="parameter_description"><p> return location for the tag-list. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out callee-allocates</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-buffering"></a><h3>gst_message_new_buffering ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <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>
+<p>Create a new buffering message. This message can be posted by an element that
+needs to buffer data before it can continue processing. <em class="parameter"><code>percent</code></em>
+ should be a
+value between 0 and 100. A value of 100 means that the buffering completed.</p>
+<p>When <em class="parameter"><code>percent</code></em>
+ is < 100 the application should PAUSE a PLAYING pipeline. When
+<em class="parameter"><code>percent</code></em>
+ is 100, the application can set the pipeline (back) to PLAYING.
+The application must be prepared to receive BUFFERING messages in the
+PREROLLING state and may only set the pipeline to PLAYING after receiving a
+message with <em class="parameter"><code>percent</code></em>
+ set to 100, which can happen after the pipeline
+completed prerolling.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.29.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>percent</p></td>
+<td class="parameter_description"><p>The buffering percent</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.29.8"></a><h4>Returns</h4>
+<p> The new buffering message. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-buffering"></a><h3>gst_message_parse_buffering ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_buffering (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <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>
+<p>Extracts the buffering percent from the GstMessage. see also
+<a class="link" href="GstMessage.html#gst-message-new-buffering" title="gst_message_new_buffering ()"><code class="function">gst_message_new_buffering()</code></a>.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.30.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_BUFFERING.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>percent</p></td>
+<td class="parameter_description"><p> Return location for the percent. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-set-buffering-stats"></a><h3>gst_message_set_buffering_stats ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_set_buffering_stats (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> mode</code></em>,
+ <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>,
+ <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>,
+ <em class="parameter"><code><span class="type">gint64</span> buffering_left</code></em>);</pre>
+<p>Configures the buffering stats values in <em class="parameter"><code>message</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.31.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_BUFFERING.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p>a buffering mode </p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>avg_in</p></td>
+<td class="parameter_description"><p>the average input rate</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>avg_out</p></td>
+<td class="parameter_description"><p>the average output rate</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>buffering_left</p></td>
+<td class="parameter_description"><p>amount of buffering time left in milliseconds</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-buffering-stats"></a><h3>gst_message_parse_buffering_stats ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_buffering_stats (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstQuery.html#GstBufferingMode" title="enum GstBufferingMode"><span class="type">GstBufferingMode</span></a> *mode</code></em>,
+ <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>,
+ <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>,
+ <em class="parameter"><code><span class="type">gint64</span> *buffering_left</code></em>);</pre>
+<p>Extracts the buffering stats values from <em class="parameter"><code>message</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.32.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_BUFFERING.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p> a buffering mode, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>avg_in</p></td>
+<td class="parameter_description"><p> the average input rate, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>avg_out</p></td>
+<td class="parameter_description"><p> the average output rate, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>buffering_left</p></td>
+<td class="parameter_description"><p> amount of buffering time left in
+milliseconds, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-state-changed"></a><h3>gst_message_new_state_changed ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> oldstate</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> newstate</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> pending</code></em>);</pre>
+<p>Create a state change message. This message is posted whenever an element
+changed its state.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.33.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> the object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>oldstate</p></td>
+<td class="parameter_description"><p>the previous state</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newstate</p></td>
+<td class="parameter_description"><p>the new (current) state</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pending</p></td>
+<td class="parameter_description"><p>the pending (target) state</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.33.6"></a><h4>Returns</h4>
+<p> the new state change message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-state-changed"></a><h3>gst_message_parse_state_changed ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_state_changed (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *oldstate</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *newstate</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *pending</code></em>);</pre>
+<p>Extracts the old and new states from the GstMessage.</p>
+<p>Typical usage of this function might be:</p>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">...</span>
+<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/GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
+ <span class="keyword">case</span> GST_MESSAGE_STATE_CHANGED<span class="gtkdoc opt">: {</span>
+ GstState old_state<span class="gtkdoc opt">,</span> new_state<span class="gtkdoc opt">;</span>
+
+ <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-parse-state-changed">gst_message_parse_state_changed</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &</span>old_state<span class="gtkdoc opt">, &</span>new_state<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
+ <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">"Element %s changed state from %s to %s.</span><span class="gtkdoc esc">\n</span><span class="string">"</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">-></span>src<span class="gtkdoc opt">),</span>
+ <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>
+ <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>
+ <span class="keyword">break</span><span class="gtkdoc opt">;</span>
+ <span class="gtkdoc opt">}</span>
+ <span class="gtkdoc opt">...</span>
+<span class="gtkdoc opt">}</span>
+<span class="gtkdoc opt">...</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<p></p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.34.9"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>a valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STATE_CHANGED</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>oldstate</p></td>
+<td class="parameter_description"><p> the previous state, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newstate</p></td>
+<td class="parameter_description"><p> the new (current) state, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pending</p></td>
+<td class="parameter_description"><p> the pending (target) state, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-state-dirty"></a><h3>gst_message_new_state_dirty ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>
+<p>Create a state dirty message. This message is posted whenever an element
+changed its state asynchronously and is used internally to update the
+states of container objects.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.35.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> the object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.35.6"></a><h4>Returns</h4>
+<p> the new state dirty message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-step-done"></a><h3>gst_message_new_step_done ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> amount</code></em>,
+ <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>,
+ <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>,
+ <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>,
+ <em class="parameter"><code><span class="type">guint64</span> duration</code></em>,
+ <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>
+<p>This message is posted by elements when they complete a part, when <em class="parameter"><code>intermediate</code></em>
+ set
+to TRUE, or a complete step operation.</p>
+<p><em class="parameter"><code>duration</code></em>
+ will contain the amount of time (in GST_FORMAT_TIME) of the stepped
+<em class="parameter"><code>amount</code></em>
+ of media in format <em class="parameter"><code>format</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.36.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>The object originating the message.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the format of <em class="parameter"><code>amount</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>amount</p></td>
+<td class="parameter_description"><p>the amount of stepped data</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rate</p></td>
+<td class="parameter_description"><p>the rate of the stepped amount</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flush</p></td>
+<td class="parameter_description"><p>is this an flushing step</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>intermediate</p></td>
+<td class="parameter_description"><p>is this an intermediate step</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>duration</p></td>
+<td class="parameter_description"><p>the duration of the data</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>eos</p></td>
+<td class="parameter_description"><p>the step caused EOS</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.36.7"></a><h4>Returns</h4>
+<p> the new step_done message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-step-done"></a><h3>gst_message_parse_step_done ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_step_done (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> *amount</code></em>,
+ <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>,
+ <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>,
+ <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>,
+ <em class="parameter"><code><span class="type">guint64</span> *duration</code></em>,
+ <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>
+<p>Extract the values the step_done message.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.37.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STEP_DONE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p> result location for the format. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>amount</p></td>
+<td class="parameter_description"><p> result location for the amount. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rate</p></td>
+<td class="parameter_description"><p> result location for the rate. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flush</p></td>
+<td class="parameter_description"><p> result location for the flush flag. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>intermediate</p></td>
+<td class="parameter_description"><p> result location for the intermediate flag. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>duration</p></td>
+<td class="parameter_description"><p> result location for the duration. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>eos</p></td>
+<td class="parameter_description"><p> result location for the EOS flag. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-clock-provide"></a><h3>gst_message_new_clock_provide ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>,
+ <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>
+<p>Create a clock provide message. This message is posted whenever an
+element is ready to provide a clock or lost its ability to provide
+a clock (maybe because it paused or became EOS).</p>
+<p>This message is mainly used internally to manage the clock
+selection.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.38.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> the object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p> the clock it provides. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ready</p></td>
+<td class="parameter_description"><p>TRUE if the sender can provide a clock</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.38.7"></a><h4>Returns</h4>
+<p> the new provide clock message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-clock-provide"></a><h3>gst_message_parse_clock_provide ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_clock_provide (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> **clock</code></em>,
+ <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>
+<p>Extracts the clock and ready flag from the GstMessage.
+The clock object returned remains valid until the message is freed.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.39.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_CLOCK_PROVIDE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p> a pointer to hold a clock
+object, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ready</p></td>
+<td class="parameter_description"><p> a pointer to hold the ready flag, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-clock-lost"></a><h3>gst_message_new_clock_lost ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>);</pre>
+<p>Create a clock lost message. This message is posted whenever the
+clock is not valid anymore.</p>
+<p>If this message is posted by the pipeline, the pipeline will
+select a new clock again when it goes to PLAYING. It might therefore
+be needed to set the pipeline to PAUSED and PLAYING again.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.40.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> the object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p> the clock that was lost. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.40.7"></a><h4>Returns</h4>
+<p> The new clock lost message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-clock-lost"></a><h3>gst_message_parse_clock_lost ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_clock_lost (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> **clock</code></em>);</pre>
+<p>Extracts the lost clock from the GstMessage.
+The clock object returned remains valid until the message is freed.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.41.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_CLOCK_LOST.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p> a pointer to hold the lost clock. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-new-clock"></a><h3>gst_message_new_new_clock ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> *clock</code></em>);</pre>
+<p>Create a new clock message. This message is posted whenever the
+pipeline selects a new clock for the pipeline.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.42.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p> the new selected clock. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.42.6"></a><h4>Returns</h4>
+<p> The new new clock message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-new-clock"></a><h3>gst_message_parse_new_clock ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_new_clock (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstClock.html" title="GstClock"><span class="type">GstClock</span></a> **clock</code></em>);</pre>
+<p>Extracts the new clock from the GstMessage.
+The clock object returned remains valid until the message is freed.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.43.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_NEW_CLOCK.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>clock</p></td>
+<td class="parameter_description"><p> a pointer to hold the selected
+new clock. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-application"></a><h3>gst_message_new_application ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre>
+<p>Create a new application-typed message. GStreamer will never create these
+messages; they are a gift from us to you. Enjoy.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.44.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> the object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>structure</p></td>
+<td class="parameter_description"><p> the structure for the message. The message
+will take ownership of the structure. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.44.6"></a><h4>Returns</h4>
+<p> The new application message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-element"></a><h3>gst_message_new_element ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre>
+<p>Create a new element-specific message. This is meant as a generic way of
+allowing one-way communication from an element to an application, for example
+"the firewire cable was unplugged". The format of the message should be
+documented in the element's documentation. The structure field can be NULL.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.45.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>structure</p></td>
+<td class="parameter_description"><p> The structure for the message. The message
+will take ownership of the structure. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.45.6"></a><h4>Returns</h4>
+<p> The new element message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-custom"></a><h3>gst_message_new_custom ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_custom (<em class="parameter"><code><a class="link" href="GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> type</code></em>,
+ <em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
+ <em class="parameter"><code><a class="link" href="GstStructure.html" title="GstStructure"><span class="type">GstStructure</span></a> *structure</code></em>);</pre>
+<p>Create a new custom-typed message. This can be used for anything not
+handled by other message-specific functions to pass a message to the
+app. The structure field can be NULL.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.46.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>The <a class="link" href="GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> to distinguish messages</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>The object originating the message.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>structure</p></td>
+<td class="parameter_description"><p> the structure for the message. The message
+will take ownership of the structure. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.46.6"></a><h4>Returns</h4>
+<p> The new message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-segment-start"></a><h3>gst_message_new_segment_start ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> position</code></em>);</pre>
+<p>Create a new segment message. This message is posted by elements that
+start playback of a segment as a result of a segment seek. This message
+is not received by the application but is used for maintenance reasons in
+container elements.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.47.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>The format of the position being played</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>position</p></td>
+<td class="parameter_description"><p>The position of the segment being played</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.47.6"></a><h4>Returns</h4>
+<p> the new segment start message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-segment-start"></a><h3>gst_message_parse_segment_start ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_segment_start (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> *position</code></em>);</pre>
+<p>Extracts the position and format from the segment start message.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.48.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_SEGMENT_START.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p> Result location for the format, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>position</p></td>
+<td class="parameter_description"><p> Result location for the position, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-segment-done"></a><h3>gst_message_new_segment_done ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> position</code></em>);</pre>
+<p>Create a new segment done message. This message is posted by elements that
+finish playback of a segment as a result of a segment seek. This message
+is received by the application after all elements that posted a segment_start
+have posted the segment_done.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.49.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> the object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>The format of the position being done</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>position</p></td>
+<td class="parameter_description"><p>The position of the segment being done</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.49.6"></a><h4>Returns</h4>
+<p> the new segment done message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-segment-done"></a><h3>gst_message_parse_segment_done ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_segment_done (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> *position</code></em>);</pre>
+<p>Extracts the position and format from the segment done message.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.50.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_SEGMENT_DONE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p> Result location for the format, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>position</p></td>
+<td class="parameter_description"><p> Result location for the position, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-duration-changed"></a><h3>gst_message_new_duration_changed ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_duration_changed (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
+<p>Create a new duration changed message. This message is posted by elements
+that know the duration of a stream when the duration changes. This message
+is received by bins and is used to calculate the total duration of a
+pipeline. Elements may post a duration message with a duration of
+GST_CLOCK_TIME_NONE to indicate that the duration has changed and the
+cached duration should be discarded. The new duration can then be
+retrieved via a query.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.51.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.51.6"></a><h4>Returns</h4>
+<p> The new duration-changed message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-latency"></a><h3>gst_message_new_latency ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>
+<p>This message can be posted by elements when their latency requirements have
+changed.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.52.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.52.6"></a><h4>Returns</h4>
+<p> The new latency message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-async-start"></a><h3>gst_message_new_async_start ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>);</pre>
+<p>This message is posted by elements when they start an ASYNC state change.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.53.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.53.6"></a><h4>Returns</h4>
+<p> The new async_start message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-async-done"></a><h3>gst_message_new_async_done ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>);</pre>
+<p>The message is posted when elements completed an ASYNC state change.
+<em class="parameter"><code>running_time</code></em>
+ contains the time of the desired running_time when this
+elements goes to PLAYING. A value of <a class="link" href="GstClock.html#GST-CLOCK-TIME-NONE:CAPS" title="GST_CLOCK_TIME_NONE"><span class="type">GST_CLOCK_TIME_NONE</span></a> for <em class="parameter"><code>running_time</code></em>
+
+means that the element has no clock interaction and thus doesn't care about
+the running_time of the pipeline.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.54.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>running_time</p></td>
+<td class="parameter_description"><p>the desired running_time</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.54.6"></a><h4>Returns</h4>
+<p> The new async_done message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-async-done"></a><h3>gst_message_parse_async_done ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_async_done (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>);</pre>
+<p>Extract the running_time from the async_done message.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.55.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_ASYNC_DONE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>running_time</p></td>
+<td class="parameter_description"><p> Result location for the running_time or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-step-start"></a><h3>gst_message_new_step_start ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <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>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> amount</code></em>,
+ <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>,
+ <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>,
+ <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>
+<p>This message is posted by elements when they accept or activate a new step
+event for <em class="parameter"><code>amount</code></em>
+ in <em class="parameter"><code>format</code></em>
+. </p>
+<p><em class="parameter"><code>active</code></em>
+ is set to FALSE when the element accepted the new step event and has
+queued it for execution in the streaming threads.</p>
+<p><em class="parameter"><code>active</code></em>
+ is set to TRUE when the element has activated the step operation and
+is now ready to start executing the step in the streaming thread. After this
+message is emitted, the application can queue a new step operation in the
+element.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.56.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>The object originating the message.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>active</p></td>
+<td class="parameter_description"><p>if the step is active or queued</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>the format of <em class="parameter"><code>amount</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>amount</p></td>
+<td class="parameter_description"><p>the amount of stepped data</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rate</p></td>
+<td class="parameter_description"><p>the rate of the stepped amount</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flush</p></td>
+<td class="parameter_description"><p>is this an flushing step</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>intermediate</p></td>
+<td class="parameter_description"><p>is this an intermediate step</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.56.8"></a><h4>Returns</h4>
+<p> The new step_start message. </p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-step-start"></a><h3>gst_message_parse_step_start ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_step_start (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <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>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> *amount</code></em>,
+ <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>,
+ <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>,
+ <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>
+<p>Extract the values from step_start message.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.57.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STEP_DONE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>active</p></td>
+<td class="parameter_description"><p> result location for the active flag. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p> result location for the format. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>amount</p></td>
+<td class="parameter_description"><p> result location for the amount. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rate</p></td>
+<td class="parameter_description"><p> result location for the rate. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flush</p></td>
+<td class="parameter_description"><p> result location for the flush flag. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>intermediate</p></td>
+<td class="parameter_description"><p> result location for the intermediate flag. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-qos"></a><h3>gst_message_new_qos ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <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>,
+ <em class="parameter"><code><span class="type">guint64</span> running_time</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> stream_time</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> timestamp</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> duration</code></em>);</pre>
+<p>A QOS message is posted on the bus whenever an element decides to drop a
+buffer because of QoS reasons or whenever it changes its processing strategy
+because of QoS reasons (quality adjustments such as processing at lower
+accuracy).</p>
+<p>This message can be posted by an element that performs synchronisation against the
+clock (live) or it could be dropped by an element that performs QoS because of QOS
+events received from a downstream element (!live).</p>
+<p><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
+respective running-time, stream-time, timestamp and duration of the (dropped)
+buffer that generated the QoS event. Values can be left to
+GST_CLOCK_TIME_NONE when unknown.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.58.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>The object originating the message.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>live</p></td>
+<td class="parameter_description"><p>if the message was generated by a live element</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>running_time</p></td>
+<td class="parameter_description"><p>the running time of the buffer that generated the message</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stream_time</p></td>
+<td class="parameter_description"><p>the stream time of the buffer that generated the message</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>timestamp</p></td>
+<td class="parameter_description"><p>the timestamps of the buffer that generated the message</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>duration</p></td>
+<td class="parameter_description"><p>the duration of the buffer that generated the message</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.58.8"></a><h4>Returns</h4>
+<p> The new qos message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-set-qos-values"></a><h3>gst_message_set_qos_values ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_set_qos_values (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> jitter</code></em>,
+ <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>,
+ <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>
+<p>Set the QoS values that have been calculated/analysed from the QoS data</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.59.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>jitter</p></td>
+<td class="parameter_description"><p>The difference of the running-time against the deadline.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>proportion</p></td>
+<td class="parameter_description"><p>Long term prediction of the ideal rate relative to normal rate
+to get optimal quality.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>quality</p></td>
+<td class="parameter_description"><p>An element dependent integer value that specifies the current
+quality level of the element. The default maximum quality is 1000000.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-set-qos-stats"></a><h3>gst_message_set_qos_stats ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_set_qos_stats (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> format</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> processed</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> dropped</code></em>);</pre>
+<p>Set the QoS stats representing the history of the current continuous pipeline
+playback period.</p>
+<p>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
+invalid. Values of -1 for either <em class="parameter"><code>processed</code></em>
+ or <em class="parameter"><code>dropped</code></em>
+ mean unknown values.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.60.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>Units of the 'processed' and 'dropped' fields. Video sinks and video
+filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters
+will likely use GST_FORMAT_DEFAULT (samples).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>processed</p></td>
+<td class="parameter_description"><p>Total number of units correctly processed since the last state
+change to READY or a flushing operation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dropped</p></td>
+<td class="parameter_description"><p>Total number of units dropped since the last state change to READY
+or a flushing operation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-qos"></a><h3>gst_message_parse_qos ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_qos (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <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>,
+ <em class="parameter"><code><span class="type">guint64</span> *running_time</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> *stream_time</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> *timestamp</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> *duration</code></em>);</pre>
+<p>Extract the timestamps and live status from the QoS message.</p>
+<p>The returned values give the running_time, stream_time, timestamp and
+duration of the dropped buffer. Values of GST_CLOCK_TIME_NONE mean unknown
+values.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.61.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>live</p></td>
+<td class="parameter_description"><p> if the message was generated by a live element. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>running_time</p></td>
+<td class="parameter_description"><p> the running time of the buffer that
+generated the message. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stream_time</p></td>
+<td class="parameter_description"><p> the stream time of the buffer that
+generated the message. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>timestamp</p></td>
+<td class="parameter_description"><p> the timestamps of the buffer that
+generated the message. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>duration</p></td>
+<td class="parameter_description"><p> the duration of the buffer that
+generated the message. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-qos-values"></a><h3>gst_message_parse_qos_values ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_qos_values (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><span class="type">gint64</span> *jitter</code></em>,
+ <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>,
+ <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>
+<p>Extract the QoS values that have been calculated/analysed from the QoS data</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.62.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>jitter</p></td>
+<td class="parameter_description"><p> The difference of the running-time against
+the deadline. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>proportion</p></td>
+<td class="parameter_description"><p> Long term prediction of the ideal rate
+relative to normal rate to get optimal quality. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>quality</p></td>
+<td class="parameter_description"><p> An element dependent integer value that
+specifies the current quality level of the element. The default
+maximum quality is 1000000. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-qos-stats"></a><h3>gst_message_parse_qos_stats ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_qos_stats (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="gstreamer-GstFormat.html#GstFormat" title="enum GstFormat"><span class="type">GstFormat</span></a> *format</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> *processed</code></em>,
+ <em class="parameter"><code><span class="type">guint64</span> *dropped</code></em>);</pre>
+<p>Extract the QoS stats representing the history of the current continuous
+pipeline playback period.</p>
+<p>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
+invalid. Values of -1 for either <em class="parameter"><code>processed</code></em>
+ or <em class="parameter"><code>dropped</code></em>
+ mean unknown values.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.63.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_QOS.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p> Units of the 'processed' and 'dropped' fields.
+Video sinks and video filters will use GST_FORMAT_BUFFERS (frames).
+Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT
+(samples). </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>processed</p></td>
+<td class="parameter_description"><p> Total number of units correctly processed
+since the last state change to READY or a flushing operation. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dropped</p></td>
+<td class="parameter_description"><p> Total number of units dropped since the last
+state change to READY or a flushing operation. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-toc"></a><h3>gst_message_new_toc ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_toc (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
+ <em class="parameter"><code><a class="link" href="GstToc.html" title="GstToc"><span class="type">GstToc</span></a> *toc</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> updated</code></em>);</pre>
+<p>Create a new TOC message. The message is posted by elements
+that discovered or updated a TOC.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.64.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>the object originating the message.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>toc</p></td>
+<td class="parameter_description"><p> <a class="link" href="GstToc.html" title="GstToc"><span class="type">GstToc</span></a> structure for the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>updated</p></td>
+<td class="parameter_description"><p>whether TOC was updated or not.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.64.6"></a><h4>Returns</h4>
+<p> a new TOC message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-toc"></a><h3>gst_message_parse_toc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_toc (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstToc.html" title="GstToc"><span class="type">GstToc</span></a> **toc</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *updated</code></em>);</pre>
+<p>Extract the TOC from the <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a>. The TOC returned in the
+output argument is a copy; the caller must free it with
+<a class="link" href="GstToc.html#gst-toc-unref" title="gst_toc_unref()"><code class="function">gst_toc_unref()</code></a> when done.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.65.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>a valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_TOC.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>toc</p></td>
+<td class="parameter_description"><p> return location for the TOC. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>updated</p></td>
+<td class="parameter_description"><p> return location for the updated flag. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-reset-time"></a><h3>gst_message_new_reset_time ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_reset_time (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
+ <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>);</pre>
+<p>This message is posted when the pipeline running-time should be reset to
+<em class="parameter"><code>running_time</code></em>
+, like after a flushing seek.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.66.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>running_time</p></td>
+<td class="parameter_description"><p>the requested running-time</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.66.6"></a><h4>Returns</h4>
+<p> The new reset_time message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-reset-time"></a><h3>gst_message_parse_reset_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_reset_time (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>);</pre>
+<p>Extract the running-time from the RESET_TIME message.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.67.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_RESET_TIME.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>running_time</p></td>
+<td class="parameter_description"><p> Result location for the running_time or
+NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-stream-start"></a><h3>gst_message_new_stream_start ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_stream_start (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>);</pre>
+<p>Create a new stream_start message. This message is generated and posted in
+the sink elements of a GstBin. The bin will only forward the STREAM_START
+message to the application if all sinks have posted an STREAM_START message.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.68.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.68.6"></a><h4>Returns</h4>
+<p> The new stream_start message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-set-group-id"></a><h3>gst_message_set_group_id ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_set_group_id (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> group_id</code></em>);</pre>
+<p>Sets the group id on the stream-start message.</p>
+<p>All streams that have the same group id are supposed to be played
+together, i.e. all streams inside a container file should have the
+same group id but different stream ids. The group id should change
+each time the stream is started, resulting in different group ids
+each time a file is played for example.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.69.7"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>the message</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>group_id</p></td>
+<td class="parameter_description"><p>the group id</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-group-id"></a><h3>gst_message_parse_group_id ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_message_parse_group_id (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *group_id</code></em>);</pre>
+<p>Extract the group from the STREAM_START message.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.70.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STREAM_START.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>group_id</p></td>
+<td class="parameter_description"><p> Result location for the group id or
+NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.70.6"></a><h4>Returns</h4>
+<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message had a group id set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
+<p>MT safe.</p>
+<p></p>
+</div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-structure-change"></a><h3>gst_message_new_structure_change ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType"><span class="type">GstStructureChangeType</span></a> type</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *owner</code></em>,
+ <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>
+<p>Create a new structure change message. This message is posted when the
+structure of a pipeline is in the process of being changed, for example
+when pads are linked or unlinked.</p>
+<p><em class="parameter"><code>src</code></em>
+ should be the sinkpad that unlinked or linked.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.71.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>The change type.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>owner</p></td>
+<td class="parameter_description"><p> The owner element of <em class="parameter"><code>src</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>busy</p></td>
+<td class="parameter_description"><p>Whether the structure change is busy.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.71.7"></a><h4>Returns</h4>
+<p> the new structure change message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-structure-change"></a><h3>gst_message_parse_structure_change ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_structure_change (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstMessage.html#GstStructureChangeType" title="enum GstStructureChangeType"><span class="type">GstStructureChangeType</span></a> *type</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> **owner</code></em>,
+ <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>
+<p>Extracts the change type and completion status from the GstMessage.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.72.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STRUCTURE_CHANGE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p> A pointer to hold the change type. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>owner</p></td>
+<td class="parameter_description"><p> The owner element of the
+message source. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>busy</p></td>
+<td class="parameter_description"><p> a pointer to hold whether the change is in
+progress or has been completed. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-request-state"></a><h3>gst_message_new_request_state ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> state</code></em>);</pre>
+<p>This message can be posted by elements when they want to have their state
+changed. A typical use case would be an audio server that wants to pause the
+pipeline because a higher priority stream is being played.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.73.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> the object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>state</p></td>
+<td class="parameter_description"><p>The new requested state</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.73.6"></a><h4>Returns</h4>
+<p> the new request state message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-request-state"></a><h3>gst_message_parse_request_state ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_request_state (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html#GstState" title="enum GstState"><span class="type">GstState</span></a> *state</code></em>);</pre>
+<p>Extract the requested state from the request_state message.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.74.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_REQUEST_STATE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>state</p></td>
+<td class="parameter_description"><p> Result location for the requested state or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-stream-status"></a><h3>gst_message_new_stream_status ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstMessage.html#GstStreamStatusType" title="enum GstStreamStatusType"><span class="type">GstStreamStatusType</span></a> type</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> *owner</code></em>);</pre>
+<p>Create a new stream status message. This message is posted when a streaming
+thread is created/destroyed or when the state changed.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.75.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>The object originating the message.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>The stream status type.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>owner</p></td>
+<td class="parameter_description"><p> the owner element of <em class="parameter"><code>src</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.75.6"></a><h4>Returns</h4>
+<p> the new stream status message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-stream-status"></a><h3>gst_message_parse_stream_status ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_stream_status (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstMessage.html#GstStreamStatusType" title="enum GstStreamStatusType"><span class="type">GstStreamStatusType</span></a> *type</code></em>,
+ <em class="parameter"><code><a class="link" href="GstElement.html" title="GstElement"><span class="type">GstElement</span></a> **owner</code></em>);</pre>
+<p>Extracts the stream status type and owner the GstMessage. The returned
+owner remains valid for as long as the reference to <em class="parameter"><code>message</code></em>
+ is valid and
+should thus not be unreffed.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.76.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STREAM_STATUS.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p> A pointer to hold the status type. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>owner</p></td>
+<td class="parameter_description"><p> The owner element of the message source. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-set-stream-status-object"></a><h3>gst_message_set_stream_status_object ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_set_stream_status_object (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <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>
+<p>Configures the object handling the streaming thread. This is usually a
+GstTask object but other objects might be added in the future.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.77.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STREAM_STATUS.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>the object controlling the streaming</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-get-stream-status-object"></a><h3>gst_message_get_stream_status_object ()</h3>
+<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 (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
+<p>Extracts the object managing the streaming thread from <em class="parameter"><code>message</code></em>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.78.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_STREAM_STATUS.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.78.6"></a><h4>Returns</h4>
+<p> a GValue containing the object that manages the streaming thread.
+This object is usually of type GstTask but other types can be added in the
+future. The object remains valid as long as <em class="parameter"><code>message</code></em>
+is valid.</p>
+<p></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-progress"></a><h3>gst_message_new_progress ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="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>,
+ <em class="parameter"><code><a class="link" href="GstMessage.html#GstProgressType" title="enum GstProgressType"><span class="type">GstProgressType</span></a> type</code></em>,
+ <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>,
+ <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>
+<p>Progress messages are posted by elements when they use an asynchronous task
+to perform actions triggered by a state change.</p>
+<p><em class="parameter"><code>code</code></em>
+ contains a well defined string describing the action.
+<em class="parameter"><code>test</code></em>
+ should contain a user visible string detailing the current action.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.79.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>The object originating the message.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstMessage.html#GstProgressType" title="enum GstProgressType"><span class="type">GstProgressType</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>code</p></td>
+<td class="parameter_description"><p>a progress code</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>text</p></td>
+<td class="parameter_description"><p>free, user visible text describing the progress</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.79.7"></a><h4>Returns</h4>
+<p> The new qos message. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-progress"></a><h3>gst_message_parse_progress ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_progress (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstMessage.html#GstProgressType" title="enum GstProgressType"><span class="type">GstProgressType</span></a> *type</code></em>,
+ <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>,
+ <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>
+<p>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>
+.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.80.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_PROGRESS.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p> location for the type. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>code</p></td>
+<td class="parameter_description"><p> location for the code. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>text</p></td>
+<td class="parameter_description"><p> location for the text. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-need-context"></a><h3>gst_message_new_need_context ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_need_context (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
+ <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> *context_type</code></em>);</pre>
+<p>This message is posted when an element needs a specific <a class="link" href="GstContext.html" title="GstContext"><span class="type">GstContext</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.81.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>context_type</p></td>
+<td class="parameter_description"><p>The context type that is needed</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.81.6"></a><h4>Returns</h4>
+<p> The new need-context message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-context-type"></a><h3>gst_message_parse_context_type ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_message_parse_context_type (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <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> **context_type</code></em>);</pre>
+<p>Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.82.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>a GST_MESSAGE_NEED_CONTEXT type message</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>context_type</p></td>
+<td class="parameter_description"><p> the context type, or NULL. </p></td>
+<td class="parameter_annotations"><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></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.82.6"></a><h4>Returns</h4>
+<p> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> indicating if the parsing succeeded.</p>
+<p></p>
+</div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-have-context"></a><h3>gst_message_new_have_context ()</h3>
+<pre class="programlisting"><a class="link" href="GstMessage.html" title="GstMessage"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_have_context (<em class="parameter"><code><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *src</code></em>,
+ <em class="parameter"><code><a class="link" href="GstContext.html" title="GstContext"><span class="type">GstContext</span></a> *context</code></em>);</pre>
+<p>This message is posted when an element has a new local <a class="link" href="GstContext.html" title="GstContext"><span class="type">GstContext</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.83.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p> The object originating the message. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p> the context. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.3.29.8.83.6"></a><h4>Returns</h4>
+<p> The new have-context message.</p>
+<p>MT safe. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+<p class="since">Since 1.2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-parse-have-context"></a><h3>gst_message_parse_have_context ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_message_parse_have_context (<em class="parameter"><code><a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
+ <em class="parameter"><code><a class="link" href="GstContext.html" title="GstContext"><span class="type">GstContext</span></a> **context</code></em>);</pre>
+<p>Extract the context from the HAVE_CONTEXT message.</p>
+<p>MT safe.</p>
+<div class="refsect3">
+<a name="id-1.3.29.8.84.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>message</p></td>
+<td class="parameter_description"><p>A valid <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a> of type GST_MESSAGE_HAVE_CONTEXT.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p> Result location for the
+context or NULL. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since 1.2</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="GstMessage.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstMessage-struct"></a><h3>struct GstMessage</h3>
+<pre class="programlisting">struct GstMessage {
+ GstMiniObject mini_object;
+
+ GstMessageType type;
+ guint64 timestamp;
+ GstObject *src;
+ guint32 seqnum;
+};
+</pre>
+<p>A <a class="link" href="GstMessage.html" title="GstMessage"><span class="type">GstMessage</span></a>.</p>
+<div class="refsect3">
+<a name="id-1.3.29.9.2.5"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gstreamer-GstMiniObject.html#GstMiniObject" title="struct GstMiniObject"><span class="type">GstMiniObject</span></a> <em class="structfield"><code><a name="GstMessage-struct.mini-object"></a>mini_object</code></em>;</p></td>
+<td class="struct_member_description"><p>the parent structure</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> <em class="structfield"><code><a name="GstMessage-struct.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>the <a class="link" href="GstMessage.html#GstMessageType" title="enum GstMessageType"><span class="type">GstMessageType</span></a> of the message</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">guint64</span> <em class="structfield"><code><a name="GstMessage-struct.timestamp"></a>timestamp</code></em>;</p></td>
+<td class="struct_member_description"><p>the timestamp of the message</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="GstObject.html" title="GstObject"><span class="type">GstObject</span></a> *<em class="structfield"><code><a name="GstMessage-struct.src"></a>src</code></em>;</p></td>
+<td class="struct_member_description"><p>the src of the message</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="GstMessage-struct.seqnum"></a>seqnum</code></em>;</p></td>
+<td class="struct_member_description"><p>the sequence number of the message</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMessageType"></a><h3>enum GstMessageType</h3>
+<p>The different message types that are available.</p>
+<div class="refsect3">
+<a name="id-1.3.29.9.3.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-UNKNOWN:CAPS"></a>GST_MESSAGE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>an undefined message</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-EOS:CAPS"></a>GST_MESSAGE_EOS</p></td>
+<td class="enum_member_description">
+<p>end-of-stream reached in a pipeline. The application will
+only receive this message in the PLAYING state and every time it sets a
+pipeline to PLAYING that is in the EOS state. The application can perform a
+flushing seek in the pipeline, which will undo the EOS state again.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-ERROR:CAPS"></a>GST_MESSAGE_ERROR</p></td>
+<td class="enum_member_description">
+<p>an error occurred. When the application receives an error
+message it should stop playback of the pipeline and not assume that more
+data will be played.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-WARNING:CAPS"></a>GST_MESSAGE_WARNING</p></td>
+<td class="enum_member_description">
+<p>a warning occurred.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-INFO:CAPS"></a>GST_MESSAGE_INFO</p></td>
+<td class="enum_member_description">
+<p>an info message occurred</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-TAG:CAPS"></a>GST_MESSAGE_TAG</p></td>
+<td class="enum_member_description">
+<p>a tag was found.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-BUFFERING:CAPS"></a>GST_MESSAGE_BUFFERING</p></td>
+<td class="enum_member_description">
+<p>the pipeline is buffering. When the application
+receives a buffering message in the PLAYING state for a non-live pipeline it
+must PAUSE the pipeline until the buffering completes, when the percentage
+field in the message is 100%. For live pipelines, no action must be
+performed and the buffering percentage can be used to inform the user about
+the progress.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-STATE-CHANGED:CAPS"></a>GST_MESSAGE_STATE_CHANGED</p></td>
+<td class="enum_member_description">
+<p>a state change happened</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-STATE-DIRTY:CAPS"></a>GST_MESSAGE_STATE_DIRTY</p></td>
+<td class="enum_member_description">
+<p>an element changed state in a streaming thread.
+This message is deprecated.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-STEP-DONE:CAPS"></a>GST_MESSAGE_STEP_DONE</p></td>
+<td class="enum_member_description">
+<p>a stepping operation finished.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-CLOCK-PROVIDE:CAPS"></a>GST_MESSAGE_CLOCK_PROVIDE</p></td>
+<td class="enum_member_description">
+<p>an element notifies its capability of providing
+ a clock. This message is used internally and
+ never forwarded to the application.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-CLOCK-LOST:CAPS"></a>GST_MESSAGE_CLOCK_LOST</p></td>
+<td class="enum_member_description">
+<p>The current clock as selected by the pipeline became
+ unusable. The pipeline will select a new clock on
+ the next PLAYING state change. The application
+ should set the pipeline to PAUSED and back to
+ PLAYING when this message is received.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-NEW-CLOCK:CAPS"></a>GST_MESSAGE_NEW_CLOCK</p></td>
+<td class="enum_member_description">
+<p>a new clock was selected in the pipeline.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-STRUCTURE-CHANGE:CAPS"></a>GST_MESSAGE_STRUCTURE_CHANGE</p></td>
+<td class="enum_member_description">
+<p>the structure of the pipeline changed. This
+message is used internally and never forwarded to the application.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-STREAM-STATUS:CAPS"></a>GST_MESSAGE_STREAM_STATUS</p></td>
+<td class="enum_member_description">
+<p>status about a stream, emitted when it starts,
+ stops, errors, etc..</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-APPLICATION:CAPS"></a>GST_MESSAGE_APPLICATION</p></td>
+<td class="enum_member_description">
+<p>message posted by the application, possibly
+ via an application-specific element.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-ELEMENT:CAPS"></a>GST_MESSAGE_ELEMENT</p></td>
+<td class="enum_member_description">
+<p>element-specific message, see the specific element's
+ documentation</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-SEGMENT-START:CAPS"></a>GST_MESSAGE_SEGMENT_START</p></td>
+<td class="enum_member_description">
+<p>pipeline started playback of a segment. This
+message is used internally and never forwarded to the application.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-SEGMENT-DONE:CAPS"></a>GST_MESSAGE_SEGMENT_DONE</p></td>
+<td class="enum_member_description">
+<p>pipeline completed playback of a segment. This
+message is forwarded to the application after all elements that posted
+<em class="parameter"><code>GST_MESSAGE_SEGMENT_START</code></em>
+ posted a GST_MESSAGE_SEGMENT_DONE message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-DURATION-CHANGED:CAPS"></a>GST_MESSAGE_DURATION_CHANGED</p></td>
+<td class="enum_member_description">
+<p>The duration of a pipeline changed. The
+application can get the new duration with a duration query.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-LATENCY:CAPS"></a>GST_MESSAGE_LATENCY</p></td>
+<td class="enum_member_description">
+<p>Posted by elements when their latency changes. The
+application should recalculate and distribute a new latency.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-ASYNC-START:CAPS"></a>GST_MESSAGE_ASYNC_START</p></td>
+<td class="enum_member_description">
+<p>Posted by elements when they start an ASYNC
+<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
+internally.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-ASYNC-DONE:CAPS"></a>GST_MESSAGE_ASYNC_DONE</p></td>
+<td class="enum_member_description">
+<p>Posted by elements when they complete an ASYNC
+<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
+pipeline.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-REQUEST-STATE:CAPS"></a>GST_MESSAGE_REQUEST_STATE</p></td>
+<td class="enum_member_description">
+<p>Posted by elements when they want the pipeline to
+change state. This message is a suggestion to the application which can
+decide to perform the state change on (part of) the pipeline.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-STEP-START:CAPS"></a>GST_MESSAGE_STEP_START</p></td>
+<td class="enum_member_description">
+<p>A stepping operation was started.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-QOS:CAPS"></a>GST_MESSAGE_QOS</p></td>
+<td class="enum_member_description">
+<p>A buffer was dropped or an element changed its processing
+strategy for Quality of Service reasons.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-PROGRESS:CAPS"></a>GST_MESSAGE_PROGRESS</p></td>
+<td class="enum_member_description">
+<p>A progress message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-TOC:CAPS"></a>GST_MESSAGE_TOC</p></td>
+<td class="enum_member_description">
+<p>A new table of contents (TOC) was found or previously found TOC
+was updated.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-RESET-TIME:CAPS"></a>GST_MESSAGE_RESET_TIME</p></td>
+<td class="enum_member_description">
+<p>Message to request resetting the pipeline's
+ running time from the pipeline. This is an internal message which
+ applications will likely never receive.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-STREAM-START:CAPS"></a>GST_MESSAGE_STREAM_START</p></td>
+<td class="enum_member_description">
+<p>Message indicating start of a new stream. Useful
+ e.g. when using playbin in gapless playback mode, to get notified when
+ the next title actually starts playing (which will be some time after
+ the URI for the next title has been set).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-NEED-CONTEXT:CAPS"></a>GST_MESSAGE_NEED_CONTEXT</p></td>
+<td class="enum_member_description">
+<p>Message indicating that an element wants a specific context (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-HAVE-CONTEXT:CAPS"></a>GST_MESSAGE_HAVE_CONTEXT</p></td>
+<td class="enum_member_description">
+<p>Message indicating that an element created a context (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-EXTENDED:CAPS"></a>GST_MESSAGE_EXTENDED</p></td>
+<td class="enum_member_description">
+<p>Message is an extended message type (see below).
+ These extended message IDs can't be used directly with mask-based API
+ like <a class="link" href="GstBus.html#gst-bus-poll" title="gst_bus_poll ()"><code class="function">gst_bus_poll()</code></a> or <a class="link" href="GstBus.html#gst-bus-timed-pop-filtered" title="gst_bus_timed_pop_filtered ()"><code class="function">gst_bus_timed_pop_filtered()</code></a>, but you can still
+ filter for GST_MESSAGE_EXTENDED and then check the result for the
+ specific type. (Since 1.4)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-DEVICE-ADDED:CAPS"></a>GST_MESSAGE_DEVICE_ADDED</p></td>
+<td class="enum_member_description">
+<p>Message indicating a <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> was added to
+ a <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> (Since 1.4)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-DEVICE-REMOVED:CAPS"></a>GST_MESSAGE_DEVICE_REMOVED</p></td>
+<td class="enum_member_description">
+<p>Message indicating a <a class="link" href="gstreamer-GstDevice.html#GstDevice" title="struct GstDevice"><span class="type">GstDevice</span></a> was removed
+ from a <a class="link" href="gstreamer-GstDeviceMonitor.html#GstDeviceMonitor" title="struct GstDeviceMonitor"><span class="type">GstDeviceMonitor</span></a> (Since 1.4)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MESSAGE-ANY:CAPS"></a>GST_MESSAGE_ANY</p></td>
+<td class="enum_member_description">
+<p>mask for all of the above messages.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstStructureChangeType"></a><h3>enum GstStructureChangeType</h3>
+<p>The type of a <a class="link" href="GstMessage.html#GST-MESSAGE-STRUCTURE-CHANGE:CAPS"><code class="literal">GST_MESSAGE_STRUCTURE_CHANGE</code></a>.</p>
+<div class="refsect3">
+<a name="id-1.3.29.9.4.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GST-STRUCTURE-CHANGE-TYPE-PAD-LINK:CAPS"></a>GST_STRUCTURE_CHANGE_TYPE_PAD_LINK</p></td>
+<td class="enum_member_description">
+<p>Pad linking is starting or done.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-STRUCTURE-CHANGE-TYPE-PAD-UNLINK:CAPS"></a>GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK</p></td>
+<td class="enum_member_description">
+<p>Pad unlinking is starting or done.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstStreamStatusType"></a><h3>enum GstStreamStatusType</h3>
+<p>The type of a <a class="link" href="GstMessage.html#GST-MESSAGE-STREAM-STATUS:CAPS"><code class="literal">GST_MESSAGE_STREAM_STATUS</code></a>. The stream status messages inform the
+application of new streaming threads and their status.</p>
+<div class="refsect3">
+<a name="id-1.3.29.9.5.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GST-STREAM-STATUS-TYPE-CREATE:CAPS"></a>GST_STREAM_STATUS_TYPE_CREATE</p></td>
+<td class="enum_member_description">
+<p>A new thread need to be created.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-STREAM-STATUS-TYPE-ENTER:CAPS"></a>GST_STREAM_STATUS_TYPE_ENTER</p></td>
+<td class="enum_member_description">
+<p>a thread entered its loop function</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-STREAM-STATUS-TYPE-LEAVE:CAPS"></a>GST_STREAM_STATUS_TYPE_LEAVE</p></td>
+<td class="enum_member_description">
+<p>a thread left its loop function</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-STREAM-STATUS-TYPE-DESTROY:CAPS"></a>GST_STREAM_STATUS_TYPE_DESTROY</p></td>
+<td class="enum_member_description">
+<p>a thread is destroyed</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-STREAM-STATUS-TYPE-START:CAPS"></a>GST_STREAM_STATUS_TYPE_START</p></td>
+<td class="enum_member_description">
+<p>a thread is started</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-STREAM-STATUS-TYPE-PAUSE:CAPS"></a>GST_STREAM_STATUS_TYPE_PAUSE</p></td>
+<td class="enum_member_description">
+<p>a thread is paused</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-STREAM-STATUS-TYPE-STOP:CAPS"></a>GST_STREAM_STATUS_TYPE_STOP</p></td>
+<td class="enum_member_description">
+<p>a thread is stopped</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstProgressType"></a><h3>enum GstProgressType</h3>
+<p>The type of a <a class="link" href="GstMessage.html#GST-MESSAGE-PROGRESS:CAPS"><code class="literal">GST_MESSAGE_PROGRESS</code></a>. The progress messages inform the
+application of the status of asynchronous tasks.</p>
+<div class="refsect3">
+<a name="id-1.3.29.9.6.4"></a><h4>Members</h4>
+<div class="informaltable"><table width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="GST-PROGRESS-TYPE-START:CAPS"></a>GST_PROGRESS_TYPE_START</p></td>
+<td class="enum_member_description">
+<p>A new task started.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-PROGRESS-TYPE-CONTINUE:CAPS"></a>GST_PROGRESS_TYPE_CONTINUE</p></td>
+<td class="enum_member_description">
+<p>A task completed and a new one continues.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-PROGRESS-TYPE-COMPLETE:CAPS"></a>GST_PROGRESS_TYPE_COMPLETE</p></td>
+<td class="enum_member_description">
+<p>A task completed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-PROGRESS-TYPE-CANCELED:CAPS"></a>GST_PROGRESS_TYPE_CANCELED</p></td>
+<td class="enum_member_description">
+<p>A task was canceled.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-PROGRESS-TYPE-ERROR:CAPS"></a>GST_PROGRESS_TYPE_ERROR</p></td>
+<td class="enum_member_description">
+<p>A task caused an error. An error message is also
+ posted on the bus.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="GstMessage.see-also"></a><h2>See Also</h2>
+<p><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></p>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.20</div>
+</body>
+</html>
\ No newline at end of file