~ubuntu-branches/ubuntu/natty/gst-entrans/natty

« back to all changes in this revision

Viewing changes to docs/plugins/html/gst-entrans-plugins-dam.html

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Smedegaard
  • Date: 2010-09-13 19:49:29 UTC
  • Revision ID: james.westby@ubuntu.com-20100913194929-qz90a14xyxln9yfz
Tags: upstream-0.10.2
ImportĀ upstreamĀ versionĀ 0.10.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
2
<html>
 
3
<head>
 
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
5
<title>dam</title>
 
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">
 
16
</head>
 
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">
 
19
<tr valign="middle">
 
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>
 
25
</tr>
 
26
<tr><td colspan="5" class="shortcuts">
 
27
<a href="#gst-entrans-plugins-dam.synopsis" class="shortcut">Top</a>
 
28
                Ā |Ā 
 
29
                <a href="#gst-entrans-plugins-dam.description" class="shortcut">Description</a>
 
30
                Ā |Ā 
 
31
                <a href="#gst-entrans-plugins-dam.object-hierarchy" class="shortcut">Object Hierarchy</a>
 
32
                Ā |Ā 
 
33
                <a href="#gst-entrans-plugins-dam.properties" class="shortcut">Properties</a>
 
34
</td></tr>
 
35
</table>
 
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>
 
39
<td valign="top">
 
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>
 
42
</td>
 
43
<td valign="top" align="right"></td>
 
44
</tr></table></div>
 
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>;
 
49
</pre>
 
50
</div>
 
51
<div class="refsect1" lang="en">
 
52
<a name="gst-entrans-plugins-dam.object-hierarchy"></a><h2>Object Hierarchy</h2>
 
53
<pre class="synopsis">
 
54
  <a
 
55
href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"
 
56
>GObject</a>
 
57
   +----GstObject
 
58
         +----GstElement
 
59
               +----GstBaseTransform
 
60
                     +----GstDam
 
61
</pre>
 
62
</div>
 
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"
 
68
>glong</a>                 : Write
 
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"
 
71
>guint64</a>               : Write
 
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"
 
74
>glong</a>                 : Write
 
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"
 
77
>guint64</a>               : Write
 
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"
 
80
>gboolean</a>              : Write
 
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"
 
92
>gint</a>                  : Read
 
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"
 
95
>gint</a>                  : Read
 
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"
 
98
>gboolean</a>              : Write
 
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"
 
101
>gint</a>                  : Read
 
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
 
108
</pre>
 
109
</div>
 
110
<div class="refsect1" lang="en">
 
111
<a name="gst-entrans-plugins-dam.description"></a><h2>Description</h2>
 
112
<p>
 
113
</p>
 
114
<div class="refsect2" lang="en">
 
115
<a name="id578595"></a><h3>Usage</h3>
 
116
<p>
 
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:
 
122
</p>
 
123
<div class="itemizedlist"><ul type="disc">
 
124
<li><p>
 
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.
 
132
</p></li>
 
133
<li><p>
 
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.
 
141
</p></li>
 
142
</ul></div>
 
143
<p>
 
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).
 
148
</p>
 
149
<p>
 
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.
 
153
</p>
 
154
<p>
 
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.
 
165
</p>
 
166
<p>
 
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).
 
169
</p>
 
170
<p>
 
171
The sequence of events/operation is roughly as follows.
 
172
</p>
 
173
<div class="itemizedlist"><ul type="disc">
 
174
<li><p>
 
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
 
178
being completed.
 
179
</p></li>
 
180
<li><p>
 
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.
 
187
</p></li>
 
188
</ul></div>
 
189
<p>
 
190
</p>
 
191
</div>
 
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">
 
196
<tbody>
 
197
<tr>
 
198
<td><p><span class="term">plugin</span></p></td>
 
199
<td>
 
200
          <a class="link" href="gst-entrans-plugins-plugin-entrans.html#plugin-entrans">entrans</a>
 
201
        </td>
 
202
</tr>
 
203
<tr>
 
204
<td><p><span class="term">author</span></p></td>
 
205
<td>Mark Nauwelaerts &lt;mnauw@users.sourceforge.net&gt;</td>
 
206
</tr>
 
207
<tr>
 
208
<td><p><span class="term">class</span></p></td>
 
209
<td>Generic</td>
 
210
</tr>
 
211
</tbody>
 
212
</table></div>
 
213
</div>
 
214
<p>
 
215
</p>
 
216
</div>
 
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>
 
222
<p>
 
223
</p>
 
224
</div>
 
225
</div>
 
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: &gt;= G_MAXULONG</p>
 
235
<p>Default value: -1</p>
 
236
</div>
 
237
<hr>
 
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>
 
245
</div>
 
246
<hr>
 
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: &gt;= G_MAXULONG</p>
 
254
<p>Default value: -1</p>
 
255
</div>
 
256
<hr>
 
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>
 
264
</div>
 
265
<hr>
 
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>
 
273
</div>
 
274
<hr>
 
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>
 
282
</div>
 
283
<hr>
 
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>
 
291
</div>
 
292
<hr>
 
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>
 
300
</div>
 
301
<hr>
 
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: &gt;= 0</p>
 
309
<p>Default value: 0</p>
 
310
</div>
 
311
<hr>
 
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: &gt;= 0</p>
 
319
<p>Default value: 0</p>
 
320
</div>
 
321
<hr>
 
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>
 
329
</div>
 
330
<hr>
 
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: &gt;= G_MAXULONG</p>
 
338
<p>Default value: -1</p>
 
339
</div>
 
340
<hr>
 
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>
 
348
</div>
 
349
<hr>
 
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>
 
357
</div>
 
358
</div>
 
359
</div>
 
360
<div class="footer">
 
361
<hr>
 
362
          Generated by GTK-Doc V1.11</div>
 
363
</body>
 
364
</html>