tizen 2.0 init
[framework/multimedia/gst-plugins-base0.10.git] / docs / plugins / html / gst-plugins-base-plugins-playbin.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>playbin</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
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-oggmux.html" title="oggmux">
10 <link rel="next" href="gst-plugins-base-plugins-playbin2.html" title="playbin2">
11 <meta name="generator" content="GTK-Doc V1.18 (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-oggmux.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-playbin2.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-playbin.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gst-plugins-base-plugins-playbin.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#gst-plugins-base-plugins-playbin.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#gst-plugins-base-plugins-playbin.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#gst-plugins-base-plugins-playbin.properties" class="shortcut">Properties</a>
33 </td></tr>
34 </table>
35 <div class="refentry">
36 <a name="gst-plugins-base-plugins-playbin"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
38 <td valign="top">
39 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-playbin.top_of_page"></a>playbin</span></h2>
40 <p>playbin — Autoplug and play media from an uri</p>
41 </td>
42 <td valign="top" align="right"></td>
43 </tr></table></div>
44 <div class="refsynopsisdiv">
45 <a name="gst-plugins-base-plugins-playbin.synopsis"></a><h2>Synopsis</h2>
46 <a name="GstPlayBin"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-struct" title="struct GstPlayBin">GstPlayBin</a>;
47 </pre>
48 </div>
49 <div class="refsect1">
50 <a name="gst-plugins-base-plugins-playbin.object-hierarchy"></a><h2>Object Hierarchy</h2>
51 <pre class="synopsis">
52   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
53    +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
54          +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
55                +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
56                      +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html">GstPipeline</a>
57                            +----<a class="link" href="GstPlayBaseBin.html" title="GstPlayBaseBin">GstPlayBaseBin</a>
58                                  +----GstPlayBin
59 </pre>
60 </div>
61 <div class="refsect1">
62 <a name="gst-plugins-base-plugins-playbin.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
63 <p>
64 GstPlayBin implements
65  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
66 </div>
67 <div class="refsect1">
68 <a name="gst-plugins-base-plugins-playbin.properties"></a><h2>Properties</h2>
69 <pre class="synopsis">
70   "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--audio-sink" title='The "audio-sink" property'>audio-sink</a>"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write
71   "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--frame" title='The "frame" property'>frame</a>"                    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>*            : Read
72   "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--subtitle-font-desc" title='The "subtitle-font-desc" property'>subtitle-font-desc</a>"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Write
73   "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-sink" title='The "video-sink" property'>video-sink</a>"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write
74   "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--vis-plugin" title='The "vis-plugin" property'>vis-plugin</a>"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write
75   "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--volume" title='The "volume" property'>volume</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>               : Read / Write
76   "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--connection-speed" title='The "connection-speed" property'>connection-speed</a>"         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
77 </pre>
78 </div>
79 <div class="refsect1">
80 <a name="gst-plugins-base-plugins-playbin.description"></a><h2>Description</h2>
81 <p>
82 Playbin provides a stand-alone everything-in-one abstraction for an
83 audio and/or video player.
84 </p>
85 <p>
86 </p>
87 <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
88 <h3 class="title">Note</h3>
89 This element is deprecated and no longer supported. You should use
90 the <span class="type">playbin2</span> element instead.
91 </div>
92 <p>
93 </p>
94 <p>
95 It can handle both audio and video files and features
96 </p>
97 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
98 <li class="listitem">
99 automatic file type recognition and based on that automatic
100 selection and usage of the right audio/video/subtitle demuxers/decoders
101 </li>
102 <li class="listitem">
103 visualisations for audio files
104 </li>
105 <li class="listitem">
106 subtitle support for video files
107 </li>
108 <li class="listitem">
109 stream selection between different audio/subtitles streams
110 </li>
111 <li class="listitem">
112 meta info (tag) extraction
113 </li>
114 <li class="listitem">
115 easy access to the last video frame
116 </li>
117 <li class="listitem">
118 buffering when playing streams over a network
119 </li>
120 <li class="listitem">
121 volume control
122 </li>
123 </ul></div>
124 <p>
125 </p>
126 <p>
127 </p>
128 <div class="refsect2">
129 <a name="idp12513120"></a><h3>Usage</h3>
130 <p>
131 A playbin element can be created just like any other element using
132 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#gst-element-factory-make"><code class="function">gst_element_factory_make()</code></a>. The file/URI to play should be set via the <span class="type">"uri"</span>
133 property. This must be an absolute URI, relative file paths are not allowed.
134 Example URIs are file:///home/joe/movie.avi or http://www.joedoe.com/foo.ogg
135 </p>
136 <p>
137 Playbin is a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html"><span class="type">GstPipeline</span></a>. It will notify the application of everything
138 that's happening (errors, end of stream, tags found, state changes, etc.)
139 by posting messages on its <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html"><span class="type">GstBus</span></a>. The application needs to watch the
140 bus.
141 </p>
142 <p>
143 Playback can be initiated by setting the element to PLAYING state using
144 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-set-state"><code class="function">gst_element_set_state()</code></a>. Note that the state change will take place in
145 the background in a separate thread, when the function returns playback
146 is probably not happening yet and any errors might not have occured yet.
147 Applications using playbin should ideally be written to deal with things
148 completely asynchroneous.
149 </p>
150 <p>
151 When playback has finished (an EOS message has been received on the bus)
152 or an error has occured (an ERROR message has been received on the bus) or
153 the user wants to play a different track, playbin should be set back to
154 READY or NULL state, then the <span class="type">"uri"</span> property should be set to the
155 new location and then playbin be set to PLAYING state again.
156 </p>
157 <p>
158 Seeking can be done using <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-seek-simple"><code class="function">gst_element_seek_simple()</code></a> or <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-seek"><code class="function">gst_element_seek()</code></a>
159 on the playbin element. Again, the seek will not be executed
160 instantaneously, but will be done in a background thread. When the seek
161 call returns the seek will most likely still be in process. An application
162 may wait for the seek to finish (or fail) using <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-get-state"><code class="function">gst_element_get_state()</code></a> with
163 -1 as the timeout, but this will block the user interface and is not
164 recommended at all.
165 </p>
166 <p>
167 Applications may query the current position and duration of the stream
168 via <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-query-position"><code class="function">gst_element_query_position()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-query-duration"><code class="function">gst_element_query_duration()</code></a> and
169 setting the format passed to GST_FORMAT_TIME. If the query was successful,
170 the duration or position will have been returned in units of nanoseconds.
171 </p>
172 </div>
173 <p>
174 </p>
175 <hr>
176 <div class="refsect2">
177 <a name="idp12529232"></a><h3>Advanced Usage: specifying the audio and video sink</h3>
178 <p>
179 By default, if no audio sink or video sink has been specified via the
180 <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--audio-sink" title='The "audio-sink" property'><span class="type">"audio-sink"</span></a> or <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-sink" title='The "video-sink" property'><span class="type">"video-sink"</span></a> property, playbin will use
181 the autoaudiosink and autovideosink elements to find the first-best
182 available output method.
183 This should work in most cases, but is not always desirable. Often either
184 the user or application might want to specify more explicitly what to use
185 for audio and video output.
186 </p>
187 <p>
188 If the application wants more control over how audio or video should be
189 output, it may create the audio/video sink elements itself (for example
190 using <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#gst-element-factory-make"><code class="function">gst_element_factory_make()</code></a>) and provide them to playbin using the
191 <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--audio-sink" title='The "audio-sink" property'><span class="type">"audio-sink"</span></a> or <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--video-sink" title='The "video-sink" property'><span class="type">"video-sink"</span></a> property.
192 </p>
193 <p>
194 GNOME-based applications, for example, will usually want to create
195 gconfaudiosink and gconfvideosink elements and make playbin use those,
196 so that output happens to whatever the user has configured in the GNOME
197 Multimedia System Selector configuration dialog.
198 </p>
199 <p>
200 The sink elements do not necessarily need to be ready-made sinks. It is
201 possible to create container elements that look like a sink to playbin,
202 but in reality contain a number of custom elements linked together. This
203 can be achieved by creating a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html"><span class="type">GstBin</span></a> and putting elements in there and
204 linking them, and then creating a sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstGhostPad.html"><span class="type">GstGhostPad</span></a> for the bin and pointing
205 it to the sink pad of the first element within the bin. This can be used
206 for a number of purposes, for example to force output to a particular
207 format or to modify or observe the data before it is output.
208 </p>
209 <p>
210 It is also possible to 'suppress' audio and/or video output by using
211 'fakesink' elements (or capture it from there using the fakesink element's
212 "handoff" signal, which, nota bene, is fired from the streaming thread!).
213 </p>
214 </div>
215 <p>
216 </p>
217 <hr>
218 <div class="refsect2">
219 <a name="idp12539792"></a><h3>Retrieving Tags and Other Meta Data</h3>
220 <p>
221 Most of the common meta data (artist, title, etc.) can be retrieved by
222 watching for TAG messages on the pipeline's bus (see above).
223 </p>
224 <p>
225 Other more specific meta information like width/height/framerate of video
226 streams or samplerate/number of channels of audio streams can be obtained
227 using the  <a class="link" href="GstPlayBaseBin.html#GstPlayBaseBin--stream-info" title='The "stream-info" property'><span class="type">"stream-info"</span></a> property, which will return a GList of
228 stream info objects, one for each stream. These are opaque objects that can
229 only be accessed via the standard GObject property interface, ie. <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-get"><code class="function">g_object_get()</code></a>.
230 Each stream info object has the following properties:
231 </p>
232 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
233 <li class="listitem">"object" (GstObject) (the decoder source pad usually)</li>
234 <li class="listitem">"type" (enum) (if this is an audio/video/subtitle stream)</li>
235 <li class="listitem">"decoder" (string) (name of decoder used to decode this stream)</li>
236 <li class="listitem">"mute" (boolean) (to mute or unmute this stream)</li>
237 <li class="listitem">"caps" (GstCaps) (caps of the decoded stream)</li>
238 <li class="listitem">"language-code" (string) (ISO-639 language code for this stream, mostly used for audio/subtitle streams)</li>
239 <li class="listitem">"codec" (string) (format this stream was encoded in)</li>
240 </ul></div>
241 <p>
242 Stream information from the <a class="link" href="GstPlayBaseBin.html#GstPlayBaseBin--stream-info" title='The "stream-info" property'><span class="type">"stream-info"</span></a> property is best queried once
243 playbin has changed into PAUSED or PLAYING state (which can be detected
244 via a state-changed message on the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html"><span class="type">GstBus</span></a> where old_state=READY and
245 new_state=PAUSED), since before that the list might not be complete yet or
246 not contain all available information (like language-codes).
247 </p>
248 </div>
249 <p>
250 </p>
251 <hr>
252 <div class="refsect2">
253 <a name="idp12549456"></a><h3>Buffering</h3>
254 Playbin handles buffering automatically for the most part, but applications
255 need to handle parts of the buffering process as well. Whenever playbin is
256 buffering, it will post BUFFERING messages on the bus with a percentage
257 value that shows the progress of the buffering process. Applications need
258 to set playbin to PLAYING or PAUSED state in response to these messages.
259 They may also want to convey the buffering progress to the user in some
260 way. Here is how to extract the percentage information from the message
261 (requires GStreamer &gt;= 0.10.11):
262 <div class="informalexample">
263   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
264     <tbody>
265       <tr>
266         <td class="listing_lines" align="right"><pre>1
267 2
268 3
269 4
270 5
271 6
272 7
273 8
274 9</pre></td>
275         <td class="listing_code"><pre class="programlisting"><span class="keyword">switch</span> <span class="gtkdoc opt">(</span><span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-TYPE:CAPS">GST_MESSAGE_TYPE</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">)) {</span>
276   <span class="keyword">case</span> GST_MESSAGE_BUFFERING<span class="gtkdoc opt">: {</span>
277     gint percent <span class="gtkdoc opt">=</span> <span class="number">0</span><span class="gtkdoc opt">;</span>
278     <span class="function"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-parse-buffering">gst_message_parse_buffering</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &amp;</span>percent<span class="gtkdoc opt">);</span>
279     <span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Buffering (%%u percent done)&quot;</span><span class="gtkdoc opt">,</span> percent<span class="gtkdoc opt">);</span>
280     <span class="keyword">break</span><span class="gtkdoc opt">;</span>
281   <span class="gtkdoc opt">}</span>
282   <span class="gtkdoc opt">...</span>
283 <span class="gtkdoc opt">}</span></pre></td>
284       </tr>
285     </tbody>
286   </table>
287 </div>
288
289 Note that applications should keep/set the pipeline in the PAUSED state when
290 a BUFFERING message is received with a buffer percent value &lt; 100 and set
291 the pipeline back to PLAYING state when a BUFFERING message with a value
292 of 100 percent is received (if PLAYING is the desired state, that is).
293 </div>
294 <p>
295 </p>
296 <hr>
297 <div class="refsect2">
298 <a name="idp12552224"></a><h3>Embedding the video window in your application</h3>
299 By default, playbin (or rather the video sinks used) will create their own
300 window. Applications will usually want to force output to a window of their
301 own, however. This can be done using the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstxoverlay.html#GstXOverlay"><span class="type">GstXOverlay</span></a> interface, which most
302 video sinks implement. See the documentation there for more details.
303 </div>
304 <p>
305 </p>
306 <hr>
307 <div class="refsect2">
308 <a name="idp12554192"></a><h3>Specifying which CD/DVD device to use</h3>
309 The device to use for CDs/DVDs needs to be set on the source element
310 playbin creates before it is opened. The only way to do this at the moment
311 is to connect to playbin's "notify::source" signal, which will be emitted
312 by playbin when it has created the source element for a particular URI.
313 In the signal callback you can check if the source element has a "device"
314 property and set it appropriately. In future ways might be added to specify
315 the device as part of the URI, but at the time of writing this is not
316 possible yet.
317 </div>
318 <p>
319 </p>
320 <hr>
321 <div class="refsect2">
322 <a name="idp12555616"></a><h3>Examples</h3>
323 <div class="informalexample">
324   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
325     <tbody>
326       <tr>
327         <td class="listing_lines" align="right"><pre>1</pre></td>
328         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch <span class="gtkdoc opt">-</span>v playbin uri<span class="gtkdoc opt">=</span>file<span class="gtkdoc opt">:</span><span class="gtkdoc slc">///path/to/somefile.avi</span></pre></td>
329       </tr>
330     </tbody>
331   </table>
332 </div>
333  This will play back the given AVI video file, given that the video and
334 audio decoders required to decode the content are installed. Since no
335 special audio sink or video sink is supplied (not possible via gst-launch),
336 playbin will try to find a suitable audio and video sink automatically
337 using the autoaudiosink and autovideosink elements.
338 <div class="informalexample">
339   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
340     <tbody>
341       <tr>
342         <td class="listing_lines" align="right"><pre>1</pre></td>
343         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch <span class="gtkdoc opt">-</span>v playbin uri<span class="gtkdoc opt">=</span>cdda<span class="gtkdoc opt">:</span><span class="gtkdoc slc">//4</span></pre></td>
344       </tr>
345     </tbody>
346   </table>
347 </div>
348  This will play back track 4 on an audio CD in your disc drive (assuming
349 the drive is detected automatically by the plugin).
350 <div class="informalexample">
351   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
352     <tbody>
353       <tr>
354         <td class="listing_lines" align="right"><pre>1</pre></td>
355         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch <span class="gtkdoc opt">-</span>v playbin uri<span class="gtkdoc opt">=</span>dvd<span class="gtkdoc opt">:</span><span class="gtkdoc slc">//1</span></pre></td>
356       </tr>
357     </tbody>
358   </table>
359 </div>
360  This will play back title 1 of a DVD in your disc drive (assuming
361 the drive is detected automatically by the plugin).
362 </div>
363 <p>
364 </p>
365 <div class="refsynopsisdiv">
366 <h2>Synopsis</h2>
367 <div class="refsect2">
368 <a name="idp12560512"></a><h3>Element Information</h3>
369 <div class="variablelist"><table border="0">
370 <col align="left" valign="top">
371 <tbody>
372 <tr>
373 <td><p><span class="term">plugin</span></p></td>
374 <td>
375             <a class="link" href="gst-plugins-base-plugins-plugin-playback.html#plugin-playback">playback</a>
376           </td>
377 </tr>
378 <tr>
379 <td><p><span class="term">author</span></p></td>
380 <td>Wim Taymans &lt;wim.taymans@gmail.com&gt;</td>
381 </tr>
382 <tr>
383 <td><p><span class="term">class</span></p></td>
384 <td>Generic/Bin/Player</td>
385 </tr>
386 </tbody>
387 </table></div>
388 </div>
389 <hr>
390 <div class="refsect2">
391 <a name="idp12567968"></a><h3>Element Pads</h3>
392 </div>
393 </div>
394 <p>
395 </p>
396 </div>
397 <div class="refsect1">
398 <a name="gst-plugins-base-plugins-playbin.details"></a><h2>Details</h2>
399 <div class="refsect2">
400 <a name="GstPlayBin-struct"></a><h3>struct GstPlayBin</h3>
401 <pre class="programlisting">struct GstPlayBin;</pre>
402 <p>
403 High-level player element
404 </p>
405 </div>
406 </div>
407 <div class="refsect1">
408 <a name="gst-plugins-base-plugins-playbin.property-details"></a><h2>Property Details</h2>
409 <div class="refsect2">
410 <a name="GstPlayBin--audio-sink"></a><h3>The <code class="literal">"audio-sink"</code> property</h3>
411 <pre class="programlisting">  "audio-sink"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write</pre>
412 <p>the audio output element to use (NULL = default sink).</p>
413 </div>
414 <hr>
415 <div class="refsect2">
416 <a name="GstPlayBin--frame"></a><h3>The <code class="literal">"frame"</code> property</h3>
417 <pre class="programlisting">  "frame"                    <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>*            : Read</pre>
418 <p>The last frame (NULL = no video available).</p>
419 </div>
420 <hr>
421 <div class="refsect2">
422 <a name="GstPlayBin--subtitle-font-desc"></a><h3>The <code class="literal">"subtitle-font-desc"</code> property</h3>
423 <pre class="programlisting">  "subtitle-font-desc"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Write</pre>
424 <p>Pango font description of font to be used for subtitle rendering.</p>
425 <p>Default value: NULL</p>
426 </div>
427 <hr>
428 <div class="refsect2">
429 <a name="GstPlayBin--video-sink"></a><h3>The <code class="literal">"video-sink"</code> property</h3>
430 <pre class="programlisting">  "video-sink"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write</pre>
431 <p>the video output element to use (NULL = default sink).</p>
432 </div>
433 <hr>
434 <div class="refsect2">
435 <a name="GstPlayBin--vis-plugin"></a><h3>The <code class="literal">"vis-plugin"</code> property</h3>
436 <pre class="programlisting">  "vis-plugin"               <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write</pre>
437 <p>the visualization element to use (NULL = none).</p>
438 </div>
439 <hr>
440 <div class="refsect2">
441 <a name="GstPlayBin--volume"></a><h3>The <code class="literal">"volume"</code> property</h3>
442 <pre class="programlisting">  "volume"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>               : Read / Write</pre>
443 <p>
444 Get or set the current audio stream volume. 1.0 means 100%,
445 0.0 means mute. This uses a linear volume scale.
446 </p>
447 <p>Allowed values: [0,10]</p>
448 <p>Default value: 1</p>
449 </div>
450 <hr>
451 <div class="refsect2">
452 <a name="GstPlayBin--connection-speed"></a><h3>The <code class="literal">"connection-speed"</code> property</h3>
453 <pre class="programlisting">  "connection-speed"         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write</pre>
454 <p>Network connection speed in kbps (0 = unknown).</p>
455 <p>Default value: 0</p>
456 </div>
457 </div>
458 </div>
459 <div class="footer">
460 <hr>
461           Generated by GTK-Doc V1.18</div>
462 </body>
463 </html>