1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7
<link rel="start" href="index.html" title="GStreamer Entrans 0.10 Reference Manual">
8
<link rel="up" href="ch01.html" title="gst-entrans Elements">
9
<link rel="prev" href="gst-entrans-plugins-csub.html" title="csub">
10
<link rel="next" href="gst-entrans-plugins-decimate.html" title="decimate">
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
13
<link rel="chapter" href="ch01.html" title="gst-entrans Elements">
14
<link rel="chapter" href="ch02.html" title="gst-entrans Plugins">
15
<link rel="chapter" href="ch03.html" title="gst-entrans Helper Elements and Utilities">
17
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
18
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
20
<td><a accesskey="p" href="gst-entrans-plugins-csub.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
21
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
22
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
23
<th width="100%" align="center">GStreamer Entrans 0.10 Reference Manual</th>
24
<td><a accesskey="n" href="gst-entrans-plugins-decimate.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
26
<tr><td colspan="5" class="shortcuts">
27
<a href="#gst-entrans-plugins-dam.synopsis" class="shortcut">Top</a>
29
<a href="#gst-entrans-plugins-dam.description" class="shortcut">Description</a>
31
<a href="#gst-entrans-plugins-dam.object-hierarchy" class="shortcut">Object Hierarchy</a>
33
<a href="#gst-entrans-plugins-dam.properties" class="shortcut">Properties</a>
36
<div class="refentry" lang="en">
37
<a name="gst-entrans-plugins-dam"></a><div class="titlepage"></div>
38
<div class="refnamediv"><table width="100%"><tr>
40
<h2><span class="refentrytitle"><a name="gst-entrans-plugins-dam.top_of_page"></a>dam</span></h2>
41
<p>dam ā Block and/or filter stream</p>
43
<td valign="top" align="right"></td>
45
<div class="refsynopsisdiv">
46
<a name="gst-entrans-plugins-dam.synopsis"></a><h2>Synopsis</h2>
47
<a name="GstDam"></a><pre class="synopsis">
48
<a class="link" href="gst-entrans-plugins-dam.html#GstDam-struct" title="GstDam">GstDam</a>;
51
<div class="refsect1" lang="en">
52
<a name="gst-entrans-plugins-dam.object-hierarchy"></a><h2>Object Hierarchy</h2>
53
<pre class="synopsis">
55
href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"
63
<div class="refsect1" lang="en">
64
<a name="gst-entrans-plugins-dam.properties"></a><h2>Properties</h2>
65
<pre class="synopsis">
66
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--begin-count" title='The "begin-count" property'>begin-count</a>" <a
67
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#glong"
69
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--begin-time" title='The "begin-time" property'>begin-time</a>" <a
70
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"
72
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--end-count" title='The "end-count" property'>end-count</a>" <a
73
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#glong"
75
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--end-time" title='The "end-time" property'>end-time</a>" <a
76
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"
78
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--force-eos" title='The "force-eos" property'>force-eos</a>" <a
79
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
81
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--framerate" title='The "framerate" property'>framerate</a>" <a
82
href="/usr/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html#gchararray"
83
>gchararray</a> : Read
84
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--handle-query" title='The "handle-query" property'>handle-query</a>" <a
85
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
86
>gboolean</a> : Read / Write
87
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--precision" title='The "precision" property'>precision</a>" <a
88
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
89
>gboolean</a> : Read / Write
90
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--samplerate" title='The "samplerate" property'>samplerate</a>" <a
91
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
93
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--samplewidth" title='The "samplewidth" property'>samplewidth</a>" <a
94
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
96
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--save-section" title='The "save-section" property'>save-section</a>" <a
97
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
99
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--section" title='The "section" property'>section</a>" <a
100
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
102
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--segment-mode" title='The "segment-mode" property'>segment-mode</a>" <a
103
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
104
>gboolean</a> : Read / Write
105
"<a class="link" href="gst-entrans-plugins-dam.html#GstDam--use-count" title='The "use-count" property'>use-count</a>" <a
106
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
107
>gboolean</a> : Read / Write
110
<div class="refsect1" lang="en">
111
<a name="gst-entrans-plugins-dam.description"></a><h2>Description</h2>
114
<div class="refsect2" lang="en">
115
<a name="id578595"></a><h3>Usage</h3>
117
Special-purpose element that enables a "cutting" muxing pipeline.
118
This is used for transcoding purposes where it is not desired to mux
119
the entire original stream into a new stream, but only selected parts of it.
120
The desired parts in such a scenario are selected depending on
121
<a class="link" href="gst-entrans-plugins-dam.html#GstDam--segment-mode" title='The "segment-mode" property'>segment-mode</a> property:
123
<div class="itemizedlist"><ul type="disc">
125
using regular seek-events (segment-mode or seek-mode);
126
an initial flushing seek followed by a number of segmenting seeks and
127
finally concluded with a normal seek.
128
The element then drops buffers that are out of the selected segment
129
range, to compensate for some elements not doing so (yes, there are such ...).
130
The usual end-of-segment messages (or final EOS) allow the 'application'
131
to pass from one segment to the next.
134
cut-mode: allowing only a certain range of buffers to pass where the range is
135
specified by gst time (starting from 0). When using
136
<a class="link" href="gst-entrans-plugins-dam.html#GstDam--use-count" title='The "use-count" property'>counts</a>, such times are then
137
converted to either a frame count or a sample count and compared with
138
the corresponding count of the incoming data (using the format info
139
supplied by the caps) (so buffer timestamps are disregarded).
140
Alternatively, buffer timestamps can be used to decide on clipping.
144
In addition, audio data can optionally be clipped to sample
145
<a class="link" href="gst-entrans-plugins-dam.html#GstDam--precision" title='The "precision" property'>precision</a> when
146
deciding based on buffer timestamps (it is always done so
147
when clipping based on counts).
150
The element can also be requested to send an
151
<a class="link" href="gst-entrans-plugins-dam.html#GstDam--force-eos" title='The "force-eos" property'>eos</a> event, so that streaming
152
can be cleanly completed, and e.g. muxers can complete EOS-actions.
155
This element is (likely) essentially in a muxing pipeline
156
whenever only a part of the input is selected, even when using segments.
157
The functionality to drop out-of-segment data is typically present in (base)sinks,
158
so this usually happens transparently in a playing pipeline.
159
However, in a muxing pipeline, a filesink can and should clearly have no impact
160
on this; so it is up to the rest of pipeline to perform this dropping.
161
Failing to do so would not only result in too much and unwanted data,
162
but will probably even block the muxing pipeline (in a collectpads instance),
163
due to (typically) an imbalance (in volume and timestamps)
164
in video and audio data.
167
In case of a demuxer element involved in providing input, it should be separated
168
from it by means of queue (or other thread boundary).
171
The sequence of events/operation is roughly as follows.
173
<div class="itemizedlist"><ul type="disc">
175
The element starts up and announces its existence by posting a message on the bus.
176
This should be detected (synchronously) by the application using it,
177
which should block pads to prevent data flowing through prior to setup
181
This setup (typically happening when all relevant pads have blocked) consists
182
of setting the proper "mode", and providing section info in case of cut-mode.
183
After this, streaming can be continued by (optionally) performing seek and
184
(typically) unblocking pads. The element then performs as described above,
185
depending on mode, and either the last normal seek will give rise to EOS,
186
or the element generates EOS when having passed all data for the last section.
192
<div class="refsect2" lang="en">
193
<a name="id586685"></a><h3>Element Information</h3>
194
<div class="variablelist"><table border="0">
195
<col align="left" valign="top">
198
<td><p><span class="term">plugin</span></p></td>
200
<a class="link" href="gst-entrans-plugins-plugin-entrans.html#plugin-entrans">entrans</a>
204
<td><p><span class="term">author</span></p></td>
205
<td>Mark Nauwelaerts <mnauw@users.sourceforge.net></td>
208
<td><p><span class="term">class</span></p></td>
217
<div class="refsect1" lang="en">
218
<a name="gst-entrans-plugins-dam.details"></a><h2>Details</h2>
219
<div class="refsect2" lang="en">
220
<a name="GstDam-struct"></a><h3>GstDam</h3>
221
<pre class="programlisting">typedef struct _GstDam GstDam;</pre>
226
<div class="refsect1" lang="en">
227
<a name="gst-entrans-plugins-dam.property-details"></a><h2>Property Details</h2>
228
<div class="refsect2" lang="en">
229
<a name="GstDam--begin-count"></a><h3>The <code class="literal">"begin-count"</code> property</h3>
230
<pre class="programlisting"> "begin-count" <a
231
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#glong"
232
>glong</a> : Write</pre>
233
<p>Begin of section in frames.</p>
234
<p>Allowed values: >= G_MAXULONG</p>
235
<p>Default value: -1</p>
238
<div class="refsect2" lang="en">
239
<a name="GstDam--begin-time"></a><h3>The <code class="literal">"begin-time"</code> property</h3>
240
<pre class="programlisting"> "begin-time" <a
241
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"
242
>guint64</a> : Write</pre>
243
<p>Begin of section in time.</p>
244
<p>Default value: 0</p>
247
<div class="refsect2" lang="en">
248
<a name="GstDam--end-count"></a><h3>The <code class="literal">"end-count"</code> property</h3>
249
<pre class="programlisting"> "end-count" <a
250
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#glong"
251
>glong</a> : Write</pre>
252
<p>End of section in frames.</p>
253
<p>Allowed values: >= G_MAXULONG</p>
254
<p>Default value: -1</p>
257
<div class="refsect2" lang="en">
258
<a name="GstDam--end-time"></a><h3>The <code class="literal">"end-time"</code> property</h3>
259
<pre class="programlisting"> "end-time" <a
260
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint64"
261
>guint64</a> : Write</pre>
262
<p>End of section in time.</p>
263
<p>Default value: 0</p>
266
<div class="refsect2" lang="en">
267
<a name="GstDam--force-eos"></a><h3>The <code class="literal">"force-eos"</code> property</h3>
268
<pre class="programlisting"> "force-eos" <a
269
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
270
>gboolean</a> : Write</pre>
271
<p>Force End-Of-Stream.</p>
272
<p>Default value: TRUE</p>
275
<div class="refsect2" lang="en">
276
<a name="GstDam--framerate"></a><h3>The <code class="literal">"framerate"</code> property</h3>
277
<pre class="programlisting"> "framerate" <a
278
href="/usr/share/gtk-doc/html/gobject/gobject-Standard-Parameter-and-Value-Types.html#gchararray"
279
>gchararray</a> : Read</pre>
280
<p>Framerate discovered in stream and used for cutting and stamping.</p>
281
<p>Default value: "1/1"</p>
284
<div class="refsect2" lang="en">
285
<a name="GstDam--handle-query"></a><h3>The <code class="literal">"handle-query"</code> property</h3>
286
<pre class="programlisting"> "handle-query" <a
287
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
288
>gboolean</a> : Read / Write</pre>
289
<p>Respond to position query.</p>
290
<p>Default value: FALSE</p>
293
<div class="refsect2" lang="en">
294
<a name="GstDam--precision"></a><h3>The <code class="literal">"precision"</code> property</h3>
295
<pre class="programlisting"> "precision" <a
296
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
297
>gboolean</a> : Read / Write</pre>
298
<p>Precision filter, slicing (audio) buffers if needed.</p>
299
<p>Default value: FALSE</p>
302
<div class="refsect2" lang="en">
303
<a name="GstDam--samplerate"></a><h3>The <code class="literal">"samplerate"</code> property</h3>
304
<pre class="programlisting"> "samplerate" <a
305
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
306
>gint</a> : Read</pre>
307
<p>Samplerate discovered in stream and used for cutting and stamping.</p>
308
<p>Allowed values: >= 0</p>
309
<p>Default value: 0</p>
312
<div class="refsect2" lang="en">
313
<a name="GstDam--samplewidth"></a><h3>The <code class="literal">"samplewidth"</code> property</h3>
314
<pre class="programlisting"> "samplewidth" <a
315
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
316
>gint</a> : Read</pre>
317
<p>Width of a sample as deduced from stream and used for cutting and stamping.</p>
318
<p>Allowed values: >= 0</p>
319
<p>Default value: 0</p>
322
<div class="refsect2" lang="en">
323
<a name="GstDam--save-section"></a><h3>The <code class="literal">"save-section"</code> property</h3>
324
<pre class="programlisting"> "save-section" <a
325
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
326
>gboolean</a> : Write</pre>
327
<p>Commit current section info for processing.</p>
328
<p>Default value: TRUE</p>
331
<div class="refsect2" lang="en">
332
<a name="GstDam--section"></a><h3>The <code class="literal">"section"</code> property</h3>
333
<pre class="programlisting"> "section" <a
334
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
335
>gint</a> : Read</pre>
336
<p>Current filtered section.</p>
337
<p>Allowed values: >= G_MAXULONG</p>
338
<p>Default value: -1</p>
341
<div class="refsect2" lang="en">
342
<a name="GstDam--segment-mode"></a><h3>The <code class="literal">"segment-mode"</code> property</h3>
343
<pre class="programlisting"> "segment-mode" <a
344
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
345
>gboolean</a> : Read / Write</pre>
346
<p>Control and filter flow based on segments and seeks.</p>
347
<p>Default value: TRUE</p>
350
<div class="refsect2" lang="en">
351
<a name="GstDam--use-count"></a><h3>The <code class="literal">"use-count"</code> property</h3>
352
<pre class="programlisting"> "use-count" <a
353
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
354
>gboolean</a> : Read / Write</pre>
355
<p>Filter flow based on byte or frame count.</p>
356
<p>Default value: TRUE</p>
362
Generated by GTK-Doc V1.11</div>