aboutsummaryrefslogtreecommitdiff
path: root/docs/plugins/html/gstreamer-plugins-queue2.html
blob: 04daa5d290a6dc8dcd68fc4733095dc8f8b6d28d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>queue2</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-queue.html" title="queue">
<link rel="next" href="gstreamer-plugins-tee.html" title="tee">
<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-queue.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-tee.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-queue2.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#gstreamer-plugins-queue2.description" class="shortcut">Description</a>
                   | 
                  <a href="#gstreamer-plugins-queue2.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#gstreamer-plugins-queue2.properties" class="shortcut">Properties</a>
</td></tr>
</table>
<div class="refentry">
<a name="gstreamer-plugins-queue2"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gstreamer-plugins-queue2.top_of_page"></a>queue2</span></h2>
<p>queue2 — Simple data queue</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gstreamer-plugins-queue2.synopsis"></a><h2>Synopsis</h2>
<a name="GstQueue2"></a><pre class="synopsis">struct              <a class="link" href="gstreamer-plugins-queue2.html#GstQueue2-struct" title="struct GstQueue2">GstQueue2</a>;
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue2.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="../gstreamer-1.0/GstObject.html">GstObject</a>
               +----<a href="../gstreamer-1.0/GstElement.html">GstElement</a>
                     +----GstQueue2
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue2.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--current-level-buffers" title='The "current-level-buffers" property'>current-level-buffers</a>"    <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read
  "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--current-level-bytes" title='The "current-level-bytes" property'>current-level-bytes</a>"      <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read
  "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--current-level-time" title='The "current-level-time" property'>current-level-time</a>"       <span class="type">guint64</span>               : Read
  "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--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-queue2.html#GstQueue2--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-queue2.html#GstQueue2--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-queue2.html#GstQueue2--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-queue2.html#GstQueue2--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-queue2.html#GstQueue2--temp-location" title='The "temp-location" property'>temp-location</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
  "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--temp-template" title='The "temp-template" property'>temp-template</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
  "<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--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-queue2.html#GstQueue2--use-rate-estimate" title='The "use-rate-estimate" property'>use-rate-estimate</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-queue2.html#GstQueue2--temp-remove" title='The "temp-remove" property'>temp-remove</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-queue2.html#GstQueue2--ring-buffer-max-size" title='The "ring-buffer-max-size" property'>ring-buffer-max-size</a>"     <span class="type">guint64</span>               : Read / Write
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue2.description"></a><h2>Description</h2>
<p>
Data is queued until one of the limits specified by the
<a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--max-size-buffers" title='The "max-size-buffers" property'><span class="type">"max-size-buffers"</span></a>, <a class="link" href="gstreamer-plugins-queue2.html#GstQueue2--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-queue2.html#GstQueue2--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-queue2.html#GstQueue2--current-level-buffers" title='The "current-level-buffers" property'><span class="type">"current-level-buffers"</span></a> property.
</p>
<p>
The default queue size limits are 100 buffers, 2MB of data, or
two seconds worth of data, whichever is reached first.
</p>
<p>
If you set temp-tmpl to a value such as /tmp/gstreamer-XXXXXX, the element
will allocate a random free filename and buffer data in the file.
By using this, it will buffer the entire stream data on the file independently
of the queue size limits, they will only be used for buffering statistics.
</p>
<p>
Since 0.10.24, setting the temp-location property with a filename is deprecated
because it's impossible to securely open a temporary file in this way. The
property will still be used to notify the application of the allocated
filename, though.
</p>
<p>
Last reviewed on 2009-07-10 (0.10.24)
</p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
<a name="idp10827264"></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>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Wim Taymans &lt;wim.taymans@gmail.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="idp10834672"></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</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">
<col align="left" valign="top">
<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>
<p>
</p>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue2.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GstQueue2-struct"></a><h3>struct GstQueue2</h3>
<pre class="programlisting">struct GstQueue2;</pre>
<p>
</p>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-plugins-queue2.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GstQueue2--current-level-buffers"></a><h3>The <code class="literal">"current-level-buffers"</code> property</h3>
<pre class="programlisting">  "current-level-buffers"    <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read</pre>
<p>Current number of buffers in the queue.</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--current-level-bytes"></a><h3>The <code class="literal">"current-level-bytes"</code> property</h3>
<pre class="programlisting">  "current-level-bytes"      <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read</pre>
<p>Current amount of data in the queue (bytes).</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--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>               : Read</pre>
<p>Current amount of data in the queue (in ns).</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--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 for buffering to finish. Only used if use-buffering is True.</p>
<p>Allowed values: [0,100]</p>
<p>Default value: 99</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--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 for buffering to start. Only used if use-buffering is True.</p>
<p>Allowed values: [0,100]</p>
<p>Default value: 10</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--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: 100</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--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: 2097152</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--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="GstQueue2--temp-location"></a><h3>The <code class="literal">"temp-location"</code> property</h3>
<pre class="programlisting">  "temp-location"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
<p>Location to store temporary files in (Deprecated: Only read this property, use temp-template to configure the name template).</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--temp-template"></a><h3>The <code class="literal">"temp-template"</code> property</h3>
<pre class="programlisting">  "temp-template"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
<p>File template to store temporary files in, should contain directory and XXXXXX. (NULL == disabled).</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--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>Emit GST_MESSAGE_BUFFERING based on low-/high-percent thresholds.</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--use-rate-estimate"></a><h3>The <code class="literal">"use-rate-estimate"</code> property</h3>
<pre class="programlisting">  "use-rate-estimate"        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
<p>Estimate the bitrate of the stream to calculate time level.</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--temp-remove"></a><h3>The <code class="literal">"temp-remove"</code> property</h3>
<pre class="programlisting">  "temp-remove"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
<p>
When temp-template is set, remove the temporary file when going to READY.
</p>
<p>Default value: TRUE</p>
<p class="since">Since 0.10.26</p>
</div>
<hr>
<div class="refsect2">
<a name="GstQueue2--ring-buffer-max-size"></a><h3>The <code class="literal">"ring-buffer-max-size"</code> property</h3>
<pre class="programlisting">  "ring-buffer-max-size"     <span class="type">guint64</span>               : Read / Write</pre>
<p>
The maximum size of the ring buffer in bytes. If set to 0, the ring
buffer is disabled. Default 0.
</p>
<p>Default value: 0</p>
<p class="since">Since 0.10.31</p>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>