755f744eac2fbcd46c900e434eb94b8490a9b3d3
[framework/multimedia/gst-plugins-base0.10.git] / docs / plugins / html / gst-plugins-base-plugins-theoraparse.html
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>theoraparse</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7 <link rel="home" href="index.html" title="GStreamer Base Plugins 0.10 Plugins Reference Manual">
8 <link rel="up" href="ch01.html" title="gst-plugins-base Elements">
9 <link rel="prev" href="gst-plugins-base-plugins-theoraenc.html" title="theoraenc">
10 <link rel="next" href="gst-plugins-base-plugins-timeoverlay.html" title="timeoverlay">
11 <meta name="generator" content="GTK-Doc V1.17 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gst-plugins-base-plugins-theoraenc.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GStreamer Base Plugins 0.10 Plugins Reference Manual</th>
21 <td><a accesskey="n" href="gst-plugins-base-plugins-timeoverlay.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-base-plugins-theoraparse.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gst-plugins-base-plugins-theoraparse.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#gst-plugins-base-plugins-theoraparse.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#gst-plugins-base-plugins-theoraparse.properties" class="shortcut">Properties</a>
31 </td></tr>
32 </table>
33 <div class="refentry">
34 <a name="gst-plugins-base-plugins-theoraparse"></a><div class="titlepage"></div>
35 <div class="refnamediv"><table width="100%"><tr>
36 <td valign="top">
37 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-theoraparse.top_of_page"></a>theoraparse</span></h2>
38 <p>theoraparse — parse raw theora streams</p>
39 </td>
40 <td valign="top" align="right"></td>
41 </tr></table></div>
42 <div class="refsynopsisdiv">
43 <a name="gst-plugins-base-plugins-theoraparse.synopsis"></a><h2>Synopsis</h2>
44 <a name="GstTheoraParse"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-base-plugins-theoraparse.html#GstTheoraParse-struct" title="struct GstTheoraParse">GstTheoraParse</a>;
45 </pre>
46 </div>
47 <div class="refsect1">
48 <a name="gst-plugins-base-plugins-theoraparse.object-hierarchy"></a><h2>Object Hierarchy</h2>
49 <pre class="synopsis">
50   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
51    +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
52          +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
53                +----GstTheoraParse
54 </pre>
55 </div>
56 <div class="refsect1">
57 <a name="gst-plugins-base-plugins-theoraparse.properties"></a><h2>Properties</h2>
58 <pre class="synopsis">
59   "<a class="link" href="gst-plugins-base-plugins-theoraparse.html#GstTheoraParse--synchronization-points" title='The "synchronization-points" property'>synchronization-points</a>"   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a>*          : Read / Write
60 </pre>
61 </div>
62 <div class="refsect1">
63 <a name="gst-plugins-base-plugins-theoraparse.description"></a><h2>Description</h2>
64 <p>
65 The theoraparse element will parse the header packets of the Theora
66 stream and put them as the streamheader in the caps. This is used in the
67 multifdsink case where you want to stream live theora streams to multiple
68 clients, each client has to receive the streamheaders first before they can
69 consume the theora packets.
70 </p>
71 <p>
72 This element also makes sure that the buffers that it pushes out are properly
73 timestamped and that their offset and offset_end are set. The buffers that
74 theoraparse outputs have all of the metadata that oggmux expects to receive,
75 which allows you to (for example) remux an ogg/theora file.
76 </p>
77 <p>
78 In addition, this element allows you to fix badly synchronized streams. You
79 pass in an array of (granule time, buffer time) synchronization points via
80 the synchronization-points GValueArray property, and this element will adjust
81 the granulepos values that it outputs. The adjustment will be made by
82 offsetting all buffers that it outputs by a specified amount, and updating
83 that offset from the value array whenever a keyframe is processed.
84 </p>
85 <p>
86 </p>
87 <div class="refsect2">
88 <a name="idp6468032"></a><h3>Example pipelines</h3>
89 <div class="informalexample">
90   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
91     <tbody>
92       <tr>
93         <td class="listing_lines" align="right"><pre>1</pre></td>
94         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>video<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> theoraparse <span class="gtkdoc opt">!</span> fakesink</pre></td>
95       </tr>
96     </tbody>
97   </table>
98 </div>
99  This pipeline shows that the streamheader is set in the caps, and that each
100 buffer has the timestamp, duration, offset, and offset_end set.
101 <div class="informalexample">
102   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
103     <tbody>
104       <tr>
105         <td class="listing_lines" align="right"><pre>1
106 2</pre></td>
107         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch filesrc location<span class="gtkdoc opt">=</span>video<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> theoraparse \
108            <span class="gtkdoc opt">!</span> oggmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>video<span class="gtkdoc opt">-</span>remuxed<span class="gtkdoc opt">.</span>ogg</pre></td>
109       </tr>
110     </tbody>
111   </table>
112 </div>
113  This pipeline shows remuxing. video-remuxed.ogg might not be exactly the same
114 as video.ogg, but they should produce exactly the same decoded data.
115 </div>
116 <p>
117 </p>
118 <p>
119 Last reviewed on 2008-05-28 (0.10.20)
120 </p>
121 <div class="refsynopsisdiv">
122 <h2>Synopsis</h2>
123 <div class="refsect2">
124 <a name="idm18688"></a><h3>Element Information</h3>
125 <div class="variablelist"><table border="0">
126 <col align="left" valign="top">
127 <tbody>
128 <tr>
129 <td><p><span class="term">plugin</span></p></td>
130 <td>
131             <a class="link" href="gst-plugins-base-plugins-plugin-theora.html#plugin-theora">theora</a>
132           </td>
133 </tr>
134 <tr>
135 <td><p><span class="term">author</span></p></td>
136 <td>Andy Wingo &lt;wingo@pobox.com&gt;</td>
137 </tr>
138 <tr>
139 <td><p><span class="term">class</span></p></td>
140 <td>Codec/Parser/Video</td>
141 </tr>
142 </tbody>
143 </table></div>
144 </div>
145 <hr>
146 <div class="refsect2">
147 <a name="idp13526480"></a><h3>Element Pads</h3>
148 <div class="variablelist"><table border="0">
149 <col align="left" valign="top">
150 <tbody>
151 <tr>
152 <td><p><span class="term">name</span></p></td>
153 <td>sink</td>
154 </tr>
155 <tr>
156 <td><p><span class="term">direction</span></p></td>
157 <td>sink</td>
158 </tr>
159 <tr>
160 <td><p><span class="term">presence</span></p></td>
161 <td>always</td>
162 </tr>
163 <tr>
164 <td><p><span class="term">details</span></p></td>
165 <td>video/x-theora</td>
166 </tr>
167 </tbody>
168 </table></div>
169 <div class="variablelist"><table border="0">
170 <col align="left" valign="top">
171 <tbody>
172 <tr>
173 <td><p><span class="term">name</span></p></td>
174 <td>src</td>
175 </tr>
176 <tr>
177 <td><p><span class="term">direction</span></p></td>
178 <td>source</td>
179 </tr>
180 <tr>
181 <td><p><span class="term">presence</span></p></td>
182 <td>always</td>
183 </tr>
184 <tr>
185 <td><p><span class="term">details</span></p></td>
186 <td>video/x-theora</td>
187 </tr>
188 </tbody>
189 </table></div>
190 </div>
191 </div>
192 <p>
193 </p>
194 </div>
195 <div class="refsect1">
196 <a name="gst-plugins-base-plugins-theoraparse.details"></a><h2>Details</h2>
197 <div class="refsect2">
198 <a name="GstTheoraParse-struct"></a><h3>struct GstTheoraParse</h3>
199 <pre class="programlisting">struct GstTheoraParse;</pre>
200 <p>
201 Opaque data structure.
202 </p>
203 </div>
204 </div>
205 <div class="refsect1">
206 <a name="gst-plugins-base-plugins-theoraparse.property-details"></a><h2>Property Details</h2>
207 <div class="refsect2">
208 <a name="GstTheoraParse--synchronization-points"></a><h3>The <code class="literal">"synchronization-points"</code> property</h3>
209 <pre class="programlisting">  "synchronization-points"   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a>*          : Read / Write</pre>
210 <p>An array of (granuletime, buffertime) pairs.</p>
211 </div>
212 </div>
213 <div class="refsect1">
214 <a name="gst-plugins-base-plugins-theoraparse.see-also"></a><h2>See Also</h2>
215 theoradec, oggdemux, vorbisparse
216 </div>
217 </div>
218 <div class="footer">
219 <hr>
220           Generated by GTK-Doc V1.17</div>
221 </body>
222 </html>