blob: 1898cc0b4dc44d32a0b8821e4041489009c6d0c5 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>queue: GStreamer Core Plugins 1.0 Plugins Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Core Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gstreamer Elements">
<link rel="prev" href="gstreamer-plugins-output-selector.html" title="output-selector">
<link rel="next" href="gstreamer-plugins-queue2.html" title="queue2">
<meta name="generator" content="GTK-Doc V1.24 (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="5"><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="#gstreamer-plugins-queue.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
<a href="#gstreamer-plugins-queue.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
<a href="#gstreamer-plugins-queue.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
<a href="#gstreamer-plugins-queue.signals" class="shortcut">Signals</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="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gstreamer-plugins-output-selector.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gstreamer-plugins-queue2.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gstreamer-plugins-queue"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gstreamer-plugins-queue.top_of_page"></a>queue</span></h2>
<p>queue</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gstreamer-plugins-queue.properties"></a><h2>Properties</h2>
<div class="informaltable"><table border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--current-level-buffers" title="The “current-level-buffers” property">current-level-buffers</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--current-level-bytes" title="The “current-level-bytes” property">current-level-bytes</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><span class="type">guint64</span></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--current-level-time" title="The “current-level-time” property">current-level-time</a></td>
<td class="property_flags">Read</td>
</tr>
<tr>
<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--flush-on-eos" title="The “flush-on-eos” property">flush-on-eos</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a class="link" href="gstreamer-plugins-queue.html#GstQueueLeaky" title="enum GstQueueLeaky"><span class="type">GstQueueLeaky</span></a></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--leaky" title="The “leaky” property">leaky</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--max-size-buffers" title="The “max-size-buffers” property">max-size-buffers</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--max-size-bytes" title="The “max-size-bytes” property">max-size-bytes</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">guint64</span></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--max-size-time" title="The “max-size-time” property">max-size-time</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--min-threshold-buffers" title="The “min-threshold-buffers” property">min-threshold-buffers</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--min-threshold-bytes" title="The “min-threshold-bytes” property">min-threshold-bytes</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">guint64</span></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--min-threshold-time" title="The “min-threshold-time” property">min-threshold-time</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue--silent" title="The “silent” property">silent</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue.signals"></a><h2>Signals</h2>
<div class="informaltable"><table border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
<col width="200px" class="signals_flags">
</colgroup>
<tbody>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue-overrun" title="The “overrun” signal">overrun</a></td>
<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue-pushing" title="The “pushing” signal">pushing</a></td>
<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue-running" title="The “running” signal">running</a></td>
<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueue-underrun" title="The “underrun” signal">underrun</a></td>
<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></td>
</tr>
</tbody>
</table></div>
</div>
<a name="GstQueue"></a><div class="refsect1">
<a name="gstreamer-plugins-queue.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="gstreamer-plugins-queue.html#GstQueue-struct" title="struct GstQueue">GstQueue</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="gstreamer-plugins-queue.html#GstQueueLeaky" title="enum GstQueueLeaky">GstQueueLeaky</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
<span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
<span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
<span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
<span class="lineart">╰──</span> GstQueue
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue.description"></a><h2>Description</h2>
<p>Data is queued until one of the limits specified by the
<a class="link" href="gstreamer-plugins-queue.html#GstQueue--max-size-buffers" title="The “max-size-buffers” property"><span class="type">“max-size-buffers”</span></a>, <a class="link" href="gstreamer-plugins-queue.html#GstQueue--max-size-bytes" title="The “max-size-bytes” property"><span class="type">“max-size-bytes”</span></a> and/or
<a class="link" href="gstreamer-plugins-queue.html#GstQueue--max-size-time" title="The “max-size-time” property"><span class="type">“max-size-time”</span></a> properties has been reached. Any attempt to push
more buffers into the queue will block the pushing thread until more space
becomes available.</p>
<p>The queue will create a new thread on the source pad to decouple the
processing on sink and source pad.</p>
<p>You can query how many buffers are queued by reading the
<a class="link" href="gstreamer-plugins-queue.html#GstQueue--current-level-buffers" title="The “current-level-buffers” property"><span class="type">“current-level-buffers”</span></a> property. You can track changes
by connecting to the notify::current-level-buffers signal (which
like all signals will be emitted from the streaming thread). The same
applies to the <a class="link" href="gstreamer-plugins-queue.html#GstQueue--current-level-time" title="The “current-level-time” property"><span class="type">“current-level-time”</span></a> and
<a class="link" href="gstreamer-plugins-queue.html#GstQueue--current-level-bytes" title="The “current-level-bytes” property"><span class="type">“current-level-bytes”</span></a> properties.</p>
<p>The default queue size limits are 200 buffers, 10MB of data, or
one second worth of data, whichever is reached first.</p>
<p>As said earlier, the queue blocks by default when one of the specified
maximums (bytes, time, buffers) has been reached. You can set the
<a class="link" href="gstreamer-plugins-queue.html#GstQueue--leaky" title="The “leaky” property"><span class="type">“leaky”</span></a> property to specify that instead of blocking it should
leak (drop) new or old buffers.</p>
<p>The <a class="link" href="gstreamer-plugins-queue.html#GstQueue-underrun" title="The “underrun” signal"><span class="type">“underrun”</span></a> signal is emitted when the queue has less data than
the specified minimum thresholds require (by default: when the queue is
empty). The <a class="link" href="gstreamer-plugins-queue.html#GstQueue-overrun" title="The “overrun” signal"><span class="type">“overrun”</span></a> signal is emitted when the queue is filled
up. Both signals are emitted from the context of the streaming thread.</p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
<a name="id-1.2.15.8.8.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
<td>
<a class="link" href="gstreamer-plugins-plugin-coreelements.html#plugin-coreelements">coreelements</a>
</td>
</tr>
<tr>
<td><p><span class="term">author</span></p></td>
<td>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;</td>
</tr>
<tr>
<td><p><span class="term">class</span></p></td>
<td>Generic</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="id-1.2.15.8.8.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>sink</td>
</tr>
<tr>
<td><p><span class="term">direction</span></p></td>
<td>sink</td>
</tr>
<tr>
<td><p><span class="term">presence</span></p></td>
<td>always</td>
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
<td>ANY</td>
</tr>
</tbody>
</table></div>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>src</td>
</tr>
<tr>
<td><p><span class="term">direction</span></p></td>
<td>source</td>
</tr>
<tr>
<td><p><span class="term">presence</span></p></td>
<td>always</td>
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
<td>ANY</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue.functions_details"></a><h2>Functions</h2>
<p></p>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GstQueue-struct"></a><h3>struct GstQueue</h3>
<pre class="programlisting">struct GstQueue;</pre>
<p>Opaque <a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> structure.</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueueLeaky"></a><h3>enum GstQueueLeaky</h3>
<p>Buffer dropping scheme to avoid the queue to block when full.</p>
<div class="refsect3">
<a name="id-1.2.15.10.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-QUEUE-NO-LEAK:CAPS"></a>GST_QUEUE_NO_LEAK</p></td>
<td class="enum_member_description">
<p>Not Leaky</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GST-QUEUE-LEAK-UPSTREAM:CAPS"></a>GST_QUEUE_LEAK_UPSTREAM</p></td>
<td class="enum_member_description">
<p>Leaky on upstream (new buffers)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GST-QUEUE-LEAK-DOWNSTREAM:CAPS"></a>GST_QUEUE_LEAK_DOWNSTREAM</p></td>
<td class="enum_member_description">
<p>Leaky on downstream (old buffers)</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GstQueue--current-level-buffers"></a><h3>The <code class="literal">“current-level-buffers”</code> property</h3>
<pre class="programlisting"> “current-level-buffers” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Current number of buffers in the queue.</p>
<p>Flags: Read</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--current-level-bytes"></a><h3>The <code class="literal">“current-level-bytes”</code> property</h3>
<pre class="programlisting"> “current-level-bytes” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Current amount of data in the queue (bytes).</p>
<p>Flags: Read</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--current-level-time"></a><h3>The <code class="literal">“current-level-time”</code> property</h3>
<pre class="programlisting"> “current-level-time” <span class="type">guint64</span></pre>
<p>Current amount of data in the queue (in ns).</p>
<p>Flags: Read</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--flush-on-eos"></a><h3>The <code class="literal">“flush-on-eos”</code> property</h3>
<pre class="programlisting"> “flush-on-eos” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Discard all data in the queue when an EOS event is received, and pass
on the EOS event as soon as possible (instead of waiting until all
buffers in the queue have been processed, which is the default behaviour).</p>
<p>Flushing the queue on EOS might be useful when capturing and encoding
from a live source, to finish up the recording quickly in cases when
the encoder is slow. Note that this might mean some data from the end of
the recording data might be lost though (never more than the configured
max. sizes though).</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
<p class="since">Since: 1.2</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--leaky"></a><h3>The <code class="literal">“leaky”</code> property</h3>
<pre class="programlisting"> “leaky” <a class="link" href="gstreamer-plugins-queue.html#GstQueueLeaky" title="enum GstQueueLeaky"><span class="type">GstQueueLeaky</span></a></pre>
<p>Where the queue leaks, if at all.</p>
<p>Flags: Read / Write</p>
<p>Default value: Not Leaky</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--max-size-buffers"></a><h3>The <code class="literal">“max-size-buffers”</code> property</h3>
<pre class="programlisting"> “max-size-buffers” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Max. number of buffers in the queue (0=disable).</p>
<p>Flags: Read / Write</p>
<p>Default value: 200</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--max-size-bytes"></a><h3>The <code class="literal">“max-size-bytes”</code> property</h3>
<pre class="programlisting"> “max-size-bytes” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Max. amount of data in the queue (bytes, 0=disable).</p>
<p>Flags: Read / Write</p>
<p>Default value: 10485760</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--max-size-time"></a><h3>The <code class="literal">“max-size-time”</code> property</h3>
<pre class="programlisting"> “max-size-time” <span class="type">guint64</span></pre>
<p>Max. amount of data in the queue (in ns, 0=disable).</p>
<p>Flags: Read / Write</p>
<p>Default value: 1000000000</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--min-threshold-buffers"></a><h3>The <code class="literal">“min-threshold-buffers”</code> property</h3>
<pre class="programlisting"> “min-threshold-buffers” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Min. number of buffers in the queue to allow reading (0=disable).</p>
<p>Flags: Read / Write</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--min-threshold-bytes"></a><h3>The <code class="literal">“min-threshold-bytes”</code> property</h3>
<pre class="programlisting"> “min-threshold-bytes” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Min. amount of data in the queue to allow reading (bytes, 0=disable).</p>
<p>Flags: Read / Write</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--min-threshold-time"></a><h3>The <code class="literal">“min-threshold-time”</code> property</h3>
<pre class="programlisting"> “min-threshold-time” <span class="type">guint64</span></pre>
<p>Min. amount of data in the queue to allow reading (in ns, 0=disable).</p>
<p>Flags: Read / Write</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue--silent"></a><h3>The <code class="literal">“silent”</code> property</h3>
<pre class="programlisting"> “silent” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Don't emit queue signals. Makes queues more lightweight if no signals are
needed.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GstQueue-overrun"></a><h3>The <code class="literal">“overrun”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> *queue,
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
<p>Reports that the buffer became full (overrun).
A buffer is full if the total amount of data inside it (num-buffers, time,
size) is higher than the boundary values which can be set through the
GObject properties.</p>
<div class="refsect3">
<a name="id-1.2.15.12.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>queue</p></td>
<td class="parameter_description"><p>the queue instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue-pushing"></a><h3>The <code class="literal">“pushing”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> *queue,
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
<p>Reports when the queue has enough data to start pushing data again on the
source pad.</p>
<div class="refsect3">
<a name="id-1.2.15.12.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>queue</p></td>
<td class="parameter_description"><p>the queue instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue-running"></a><h3>The <code class="literal">“running”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> *queue,
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
<p>Reports that enough (min-threshold) data is in the queue. Use this signal
together with the underrun signal to pause the pipeline on underrun and
wait for the queue to fill-up before resume playback.</p>
<div class="refsect3">
<a name="id-1.2.15.12.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>queue</p></td>
<td class="parameter_description"><p>the queue instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue-underrun"></a><h3>The <code class="literal">“underrun”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> *queue,
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
<p>Reports that the buffer became empty (underrun).
A buffer is empty if the total amount of data inside it (num-buffers, time,
size) is lower than the boundary values which can be set through the
GObject properties.</p>
<div class="refsect3">
<a name="id-1.2.15.12.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>queue</p></td>
<td class="parameter_description"><p>the queue instance</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS">Run First</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>