<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>multiqueue</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.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-input-selector.html" title="input-selector">
<link rel="next" href="gstreamer-plugins-output-selector.html" title="output-selector">
<meta name="generator" content="GTK-Doc V1.18 (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="2">
<tr valign="middle">
<td><a accesskey="p" href="gstreamer-plugins-input-selector.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer Core Plugins 1.0 Plugins Reference Manual</th>
<td><a accesskey="n" href="gstreamer-plugins-output-selector.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gstreamer-plugins-multiqueue.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#gstreamer-plugins-multiqueue.description" class="shortcut">Description</a>
                   | 
                  <a href="#gstreamer-plugins-multiqueue.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#gstreamer-plugins-multiqueue.properties" class="shortcut">Properties</a>
                   | 
                  <a href="#gstreamer-plugins-multiqueue.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry">
<a name="gstreamer-plugins-multiqueue"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gstreamer-plugins-multiqueue.top_of_page"></a>multiqueue</span></h2>
<p>multiqueue — Multiple data queue</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gstreamer-plugins-multiqueue.synopsis"></a><h2>Synopsis</h2>
<a name="GstMultiQueue"></a><pre class="synopsis">struct              <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue-struct" title="struct GstMultiQueue">GstMultiQueue</a>;
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-multiqueue.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                     +----GstMultiQueue
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-multiqueue.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-buffers" title='The "extra-size-buffers" property'>extra-size-buffers</a>"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-bytes" title='The "extra-size-bytes" property'>extra-size-bytes</a>"         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-time" title='The "extra-size-time" property'>extra-size-time</a>"          <span class="type">guint64</span>               : Read / Write
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-buffers" title='The "max-size-buffers" property'>max-size-buffers</a>"         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-bytes" title='The "max-size-bytes" property'>max-size-bytes</a>"           <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-time" title='The "max-size-time" property'>max-size-time</a>"            <span class="type">guint64</span>               : Read / Write
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--high-percent" title='The "high-percent" property'>high-percent</a>"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--low-percent" title='The "low-percent" property'>low-percent</a>"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--use-buffering" title='The "use-buffering" property'>use-buffering</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--sync-by-running-time" title='The "sync-by-running-time" property'>sync-by-running-time</a>"     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-multiqueue.signals"></a><h2>Signals</h2>
<pre class="synopsis">
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue-overrun" title='The "overrun" signal'>overrun</a>"                                        : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
  "<a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue-underrun" title='The "underrun" signal'>underrun</a>"                                       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-multiqueue.description"></a><h2>Description</h2>
<p>
</p>
<div class="refsect2">
<a name="idp11235936"></a><p>
Multiqueue is similar to a normal <a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a> with the following additional
features:
</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><div class="itemizedlist">
<p class="title"><b>Multiple streamhandling</b></p>
<ul class="itemizedlist" type="disc"><li class="listitem">
<p>
    The element handles queueing data on more than one stream at once. To
    achieve such a feature it has request sink pads (sink%d) and
    'sometimes' src pads (src%d).
  </p>
<p>
    When requesting a given sinkpad with <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-request-pad"><code class="function">gst_element_get_request_pad()</code></a>,
    the associated srcpad for that stream will be created.
    Example: requesting sink1 will generate src1.
  </p>
</li></ul>
</div></li>
<li class="listitem"><div class="itemizedlist">
<p class="title"><b>Non-starvation on multiple streams</b></p>
<ul class="itemizedlist" type="disc"><li class="listitem">
<p>
    If more than one stream is used with the element, the streams' queues
    will be dynamically grown (up to a limit), in order to ensure that no
    stream is risking data starvation. This guarantees that at any given
    time there are at least N bytes queued and available for each individual
    stream.
  </p>
<p>
    If an EOS event comes through a srcpad, the associated queue will be
    considered as 'not-empty' in the queue-size-growing algorithm.
  </p>
</li></ul>
</div></li>
<li class="listitem"><div class="itemizedlist">
<p class="title"><b>Non-linked srcpads graceful handling</b></p>
<ul class="itemizedlist" type="disc"><li class="listitem">
<p>
    In order to better support dynamic switching between streams, the multiqueue
    (unlike the current GStreamer queue) continues to push buffers on non-linked
    pads rather than shutting down.
  </p>
<p>
    In addition, to prevent a non-linked stream from very quickly consuming all
    available buffers and thus 'racing ahead' of the other streams, the element
    must ensure that buffers and inlined events for a non-linked stream are pushed
    in the same order as they were received, relative to the other streams
    controlled by the element. This means that a buffer cannot be pushed to a
    non-linked pad any sooner than buffers in any other stream which were received
    before it.
  </p>
</li></ul>
</div></li>
</ol></div>
<p>
</p>
<p>
  Data is queued until one of the limits specified by the
  <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--max-size-buffers" title='The "max-size-buffers" property'><span class="type">"max-size-buffers"</span></a>, <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--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-multiqueue.html#GstMultiQueue--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. <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-buffers" title='The "extra-size-buffers" property'><span class="type">"extra-size-buffers"</span></a>,
</p>
<p>
  <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-bytes" title='The "extra-size-bytes" property'><span class="type">"extra-size-bytes"</span></a> and <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue--extra-size-time" title='The "extra-size-time" property'><span class="type">"extra-size-time"</span></a> are
  currently unused.
</p>
<p>
  The default queue size limits are 5 buffers, 10MB of data, or
  two second worth of data, whichever is reached first. Note that the number
  of buffers will dynamically grow depending on the fill level of 
  other queues.
</p>
<p>
  The <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue-underrun" title='The "underrun" signal'><span class="type">"underrun"</span></a> signal is emitted when all of the queues
  are empty. The <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue-overrun" title='The "overrun" signal'><span class="type">"overrun"</span></a> signal is emitted when one of the
  queues is filled.
  Both signals are emitted from the context of the streaming thread.
</p>
</div>
<p>
</p>
<p>
Last reviewed on 2008-01-25 (0.10.17)
</p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
<a name="idp11257728"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<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>Edward Hervey &lt;edward@fluendo.com&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="idp11265184"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>sink_%u</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>request</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">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>src_%u</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>sometimes</td>
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
<td>ANY</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<p>
</p>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-multiqueue.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GstMultiQueue-struct"></a><h3>struct GstMultiQueue</h3>
<pre class="programlisting">struct GstMultiQueue;</pre>
<p>
Opaque <a class="link" href="gstreamer-plugins-multiqueue.html#GstMultiQueue"><span class="type">GstMultiQueue</span></a> structure.
</p>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-multiqueue.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GstMultiQueue--extra-size-buffers"></a><h3>The <code class="literal">"extra-size-buffers"</code> property</h3>
<pre class="programlisting">  "extra-size-buffers"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write</pre>
<p>Amount of buffers the queues can grow if one of them is empty (0=disable) (NOT IMPLEMENTED).</p>
<p>Default value: 5</p>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue--extra-size-bytes"></a><h3>The <code class="literal">"extra-size-bytes"</code> property</h3>
<pre class="programlisting">  "extra-size-bytes"         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write</pre>
<p>Amount of data the queues can grow if one of them is empty (bytes, 0=disable) (NOT IMPLEMENTED).</p>
<p>Default value: 10485760</p>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue--extra-size-time"></a><h3>The <code class="literal">"extra-size-time"</code> property</h3>
<pre class="programlisting">  "extra-size-time"          <span class="type">guint64</span>               : Read / Write</pre>
<p>Amount of time the queues can grow if one of them is empty (in ns, 0=disable) (NOT IMPLEMENTED).</p>
<p>Default value: 3000000000</p>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue--max-size-buffers"></a><h3>The <code class="literal">"max-size-buffers"</code> property</h3>
<pre class="programlisting">  "max-size-buffers"         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write</pre>
<p>Max. number of buffers in the queue (0=disable).</p>
<p>Default value: 5</p>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue--max-size-bytes"></a><h3>The <code class="literal">"max-size-bytes"</code> property</h3>
<pre class="programlisting">  "max-size-bytes"           <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write</pre>
<p>Max. amount of data in the queue (bytes, 0=disable).</p>
<p>Default value: 10485760</p>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue--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>               : Read / Write</pre>
<p>Max. amount of data in the queue (in ns, 0=disable).</p>
<p>Default value: 2000000000</p>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue--high-percent"></a><h3>The <code class="literal">"high-percent"</code> property</h3>
<pre class="programlisting">  "high-percent"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write</pre>
<p>
High threshold percent for buffering to finish.
</p>
<p>Allowed values: [0,100]</p>
<p>Default value: 99</p>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue--low-percent"></a><h3>The <code class="literal">"low-percent"</code> property</h3>
<pre class="programlisting">  "low-percent"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write</pre>
<p>
Low threshold percent for buffering to start.
</p>
<p>Allowed values: [0,100]</p>
<p>Default value: 10</p>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue--use-buffering"></a><h3>The <code class="literal">"use-buffering"</code> property</h3>
<pre class="programlisting">  "use-buffering"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
<p>
Enable the buffering option in multiqueue so that BUFFERING messages are
emited based on low-/high-percent thresholds.
</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue--sync-by-running-time"></a><h3>The <code class="literal">"sync-by-running-time"</code> property</h3>
<pre class="programlisting">  "sync-by-running-time"     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
<p>
If enabled multiqueue will synchronize deactivated or not-linked streams
to the activated and linked streams by taking the running time.
Otherwise multiqueue will synchronize the deactivated or not-linked
streams by keeping the order in which buffers and events arrived compared
to active and linked streams.
</p>
<p>Default value: FALSE</p>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-multiqueue.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GstMultiQueue-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-multiqueue.html#GstMultiQueue"><span class="type">GstMultiQueue</span></a> *multiqueue,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
<p>
Reports that one of the queues in the multiqueue is full (overrun).
A queue 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>
<p>
This can be used as an indicator of pre-roll.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>multiqueue</code></em> :</span></p></td>
<td>the multiqueue instance</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstMultiQueue-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-multiqueue.html#GstMultiQueue"><span class="type">GstMultiQueue</span></a> *multiqueue,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
<p>
This signal is emitted from the streaming thread when there is
no data in any of the queues inside the multiqueue instance (underrun).
</p>
<p>
This indicates either starvation or EOS from the upstream data sources.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>multiqueue</code></em> :</span></p></td>
<td>the multqueue instance</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-multiqueue.see-also"></a><h2>See Also</h2>
<a class="link" href="gstreamer-plugins-queue.html#GstQueue"><span class="type">GstQueue</span></a>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>