a24f95501fb01b3aa9a54528f268bd8443206cbb
[framework/multimedia/gst-plugins-base0.10.git] / docs / plugins / html / gst-plugins-base-plugins-playbin2.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>playbin2</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-playbin.html" title="playbin">
10 <link rel="next" href="gst-plugins-base-plugins-subtitleoverlay.html" title="subtitleoverlay">
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-playbin.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-subtitleoverlay.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-playbin2.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gst-plugins-base-plugins-playbin2.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#gst-plugins-base-plugins-playbin2.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#gst-plugins-base-plugins-playbin2.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#gst-plugins-base-plugins-playbin2.properties" class="shortcut">Properties</a>
33                    | 
34                   <a href="#gst-plugins-base-plugins-playbin2.signals" class="shortcut">Signals</a>
35 </td></tr>
36 </table>
37 <div class="refentry">
38 <a name="gst-plugins-base-plugins-playbin2"></a><div class="titlepage"></div>
39 <div class="refnamediv"><table width="100%"><tr>
40 <td valign="top">
41 <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-playbin2.top_of_page"></a>playbin2</span></h2>
42 <p>playbin2 — Autoplug and play media from an uri</p>
43 </td>
44 <td valign="top" align="right"></td>
45 </tr></table></div>
46 <div class="refsynopsisdiv">
47 <a name="gst-plugins-base-plugins-playbin2.synopsis"></a><h2>Synopsis</h2>
48 <a name="GstPlayBin2"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-struct" title="struct GstPlayBin2">GstPlayBin2</a>;
49 enum                <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayFlags" title="enum GstPlayFlags">GstPlayFlags</a>;
50 </pre>
51 </div>
52 <div class="refsect1">
53 <a name="gst-plugins-base-plugins-playbin2.object-hierarchy"></a><h2>Object Hierarchy</h2>
54 <pre class="synopsis">
55   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
56    +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
57          +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
58                +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
59                      +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html">GstPipeline</a>
60                            +----GstPlayBin2
61 </pre>
62 </div>
63 <div class="refsect1">
64 <a name="gst-plugins-base-plugins-playbin2.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
65 <p>
66 GstPlayBin2 implements
67  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a> and  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume">GstStreamVolume</a>.</p>
68 </div>
69 <div class="refsect1">
70 <a name="gst-plugins-base-plugins-playbin2.properties"></a><h2>Properties</h2>
71 <pre class="synopsis">
72   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--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
73   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--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
74   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--current-audio" title='The "current-audio" property'>current-audio</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
75   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--current-text" title='The "current-text" property'>current-text</a>"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
76   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--current-video" title='The "current-video" property'>current-video</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
77   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--flags" title='The "flags" property'>flags</a>"                    <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayFlags" title="enum GstPlayFlags"><span class="type">GstPlayFlags</span></a>          : Read / Write
78   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--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
79   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--n-audio" title='The "n-audio" property'>n-audio</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read
80   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--n-text" title='The "n-text" property'>n-text</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read
81   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--n-video" title='The "n-video" property'>n-video</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read
82   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--source" title='The "source" property'>source</a>"                   <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read
83   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--subtitle-encoding" title='The "subtitle-encoding" property'>subtitle-encoding</a>"        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
84   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--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
85   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--suburi" title='The "suburi" property'>suburi</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
86   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--uri" title='The "uri" property'>uri</a>"                      <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
87   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--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
88   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--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
89   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--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
90   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--mute" title='The "mute" property'>mute</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
91   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--buffer-duration" title='The "buffer-duration" property'>buffer-duration</a>"          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a>                : Read / Write
92   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--buffer-size" title='The "buffer-size" property'>buffer-size</a>"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
93   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--text-sink" title='The "text-sink" property'>text-sink</a>"                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write
94   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--subpic-sink" title='The "subpic-sink" property'>subpic-sink</a>"              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write
95   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--av-offset" title='The "av-offset" property'>av-offset</a>"                <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a>                : Read / Write
96   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--ring-buffer-max-size" title='The "ring-buffer-max-size" property'>ring-buffer-max-size</a>"     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a>               : Read / Write
97 </pre>
98 </div>
99 <div class="refsect1">
100 <a name="gst-plugins-base-plugins-playbin2.signals"></a><h2>Signals</h2>
101 <pre class="synopsis">
102   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-about-to-finish" title='The "about-to-finish" signal'>about-to-finish</a>"                                : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
103   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-audio-changed" title='The "audio-changed" signal'>audio-changed</a>"                                  : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
104   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-get-audio-tags" title='The "get-audio-tags" signal'>get-audio-tags</a>"                                 : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
105   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-get-text-tags" title='The "get-text-tags" signal'>get-text-tags</a>"                                  : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
106   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-get-video-tags" title='The "get-video-tags" signal'>get-video-tags</a>"                                 : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
107   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-text-changed" title='The "text-changed" signal'>text-changed</a>"                                   : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
108   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-video-changed" title='The "video-changed" signal'>video-changed</a>"                                  : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
109   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-convert-frame" title='The "convert-frame" signal'>convert-frame</a>"                                  : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
110   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-get-audio-pad" title='The "get-audio-pad" signal'>get-audio-pad</a>"                                  : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
111   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-get-text-pad" title='The "get-text-pad" signal'>get-text-pad</a>"                                   : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
112   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-get-video-pad" title='The "get-video-pad" signal'>get-video-pad</a>"                                  : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
113   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-audio-tags-changed" title='The "audio-tags-changed" signal'>audio-tags-changed</a>"                             : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
114   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-text-tags-changed" title='The "text-tags-changed" signal'>text-tags-changed</a>"                              : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
115   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-video-tags-changed" title='The "video-tags-changed" signal'>video-tags-changed</a>"                             : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
116   "<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2-source-setup" title='The "source-setup" signal'>source-setup</a>"                                   : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
117 </pre>
118 </div>
119 <div class="refsect1">
120 <a name="gst-plugins-base-plugins-playbin2.description"></a><h2>Description</h2>
121 <p>
122 Playbin2 provides a stand-alone everything-in-one abstraction for an
123 audio and/or video player.
124 </p>
125 <p>
126 playbin2 is considered stable now. It is the prefered playback API now,
127 and replaces the old <span class="type">playbin</span> element, which is no longer supported.
128 </p>
129 <p>
130 It can handle both audio and video files and features
131 </p>
132 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
133 <li class="listitem">
134 automatic file type recognition and based on that automatic
135 selection and usage of the right audio/video/subtitle demuxers/decoders
136 </li>
137 <li class="listitem">
138 visualisations for audio files
139 </li>
140 <li class="listitem">
141 subtitle support for video files. Subtitles can be store in external
142 files.
143 </li>
144 <li class="listitem">
145 stream selection between different video/audio/subtitles streams
146 </li>
147 <li class="listitem">
148 meta info (tag) extraction
149 </li>
150 <li class="listitem">
151 easy access to the last video frame
152 </li>
153 <li class="listitem">
154 buffering when playing streams over a network
155 </li>
156 <li class="listitem">
157 volume control with mute option
158 </li>
159 </ul></div>
160 <p>
161 </p>
162 <p>
163 </p>
164 <div class="refsect2">
165 <a name="idp12984144"></a><h3>Usage</h3>
166 <p>
167 A playbin2 element can be created just like any other element using
168 <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 <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--uri" title='The "uri" property'><span class="type">"uri"</span></a>
169 property. This must be an absolute URI, relative file paths are not allowed.
170 Example URIs are file:///home/joe/movie.avi or http://www.joedoe.com/foo.ogg
171 </p>
172 <p>
173 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
174 that's happening (errors, end of stream, tags found, state changes, etc.)
175 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
176 bus.
177 </p>
178 <p>
179 Playback can be initiated by setting the element to PLAYING state using
180 <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
181 the background in a separate thread, when the function returns playback
182 is probably not happening yet and any errors might not have occured yet.
183 Applications using playbin should ideally be written to deal with things
184 completely asynchroneous.
185 </p>
186 <p>
187 When playback has finished (an EOS message has been received on the bus)
188 or an error has occured (an ERROR message has been received on the bus) or
189 the user wants to play a different track, playbin should be set back to
190 READY or NULL state, then the <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--uri" title='The "uri" property'><span class="type">"uri"</span></a> property should be set to the
191 new location and then playbin be set to PLAYING state again.
192 </p>
193 <p>
194 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>
195 on the playbin element. Again, the seek will not be executed
196 instantaneously, but will be done in a background thread. When the seek
197 call returns the seek will most likely still be in process. An application
198 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
199 -1 as the timeout, but this will block the user interface and is not
200 recommended at all.
201 </p>
202 <p>
203 Applications may query the current position and duration of the stream
204 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
205 setting the format passed to GST_FORMAT_TIME. If the query was successful,
206 the duration or position will have been returned in units of nanoseconds.
207 </p>
208 </div>
209 <p>
210 </p>
211 <hr>
212 <div class="refsect2">
213 <a name="idp13000256"></a><h3>Advanced Usage: specifying the audio and video sink</h3>
214 <p>
215 By default, if no audio sink or video sink has been specified via the
216 <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--audio-sink" title='The "audio-sink" property'><span class="type">"audio-sink"</span></a> or <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--video-sink" title='The "video-sink" property'><span class="type">"video-sink"</span></a> property, playbin will use the autoaudiosink
217 and autovideosink elements to find the first-best available output method.
218 This should work in most cases, but is not always desirable. Often either
219 the user or application might want to specify more explicitly what to use
220 for audio and video output.
221 </p>
222 <p>
223 If the application wants more control over how audio or video should be
224 output, it may create the audio/video sink elements itself (for example
225 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
226 <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--audio-sink" title='The "audio-sink" property'><span class="type">"audio-sink"</span></a> or <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2--video-sink" title='The "video-sink" property'><span class="type">"video-sink"</span></a> property.
227 </p>
228 <p>
229 GNOME-based applications, for example, will usually want to create
230 gconfaudiosink and gconfvideosink elements and make playbin use those,
231 so that output happens to whatever the user has configured in the GNOME
232 Multimedia System Selector configuration dialog.
233 </p>
234 <p>
235 The sink elements do not necessarily need to be ready-made sinks. It is
236 possible to create container elements that look like a sink to playbin,
237 but in reality contain a number of custom elements linked together. This
238 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
239 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
240 it to the sink pad of the first element within the bin. This can be used
241 for a number of purposes, for example to force output to a particular
242 format or to modify or observe the data before it is output.
243 </p>
244 <p>
245 It is also possible to 'suppress' audio and/or video output by using
246 'fakesink' elements (or capture it from there using the fakesink element's
247 "handoff" signal, which, nota bene, is fired from the streaming thread!).
248 </p>
249 </div>
250 <p>
251 </p>
252 <hr>
253 <div class="refsect2">
254 <a name="idp13010816"></a><h3>Retrieving Tags and Other Meta Data</h3>
255 <p>
256 Most of the common meta data (artist, title, etc.) can be retrieved by
257 watching for TAG messages on the pipeline's bus (see above).
258 </p>
259 <p>
260 Other more specific meta information like width/height/framerate of video
261 streams or samplerate/number of channels of audio streams can be obtained
262 from the negotiated caps on the sink pads of the sinks.
263 </p>
264 </div>
265 <p>
266 </p>
267 <hr>
268 <div class="refsect2">
269 <a name="idp13012928"></a><h3>Buffering</h3>
270 Playbin handles buffering automatically for the most part, but applications
271 need to handle parts of the buffering process as well. Whenever playbin is
272 buffering, it will post BUFFERING messages on the bus with a percentage
273 value that shows the progress of the buffering process. Applications need
274 to set playbin to PLAYING or PAUSED state in response to these messages.
275 They may also want to convey the buffering progress to the user in some
276 way. Here is how to extract the percentage information from the message
277 (requires GStreamer &gt;= 0.10.11):
278 <div class="informalexample">
279   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
280     <tbody>
281       <tr>
282         <td class="listing_lines" align="right"><pre>1
283 2
284 3
285 4
286 5
287 6
288 7
289 8
290 9</pre></td>
291         <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>
292   <span class="keyword">case</span> GST_MESSAGE_BUFFERING<span class="gtkdoc opt">: {</span>
293     gint percent <span class="gtkdoc opt">=</span> <span class="number">0</span><span class="gtkdoc opt">;</span>
294     <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>
295     <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>
296     <span class="keyword">break</span><span class="gtkdoc opt">;</span>
297   <span class="gtkdoc opt">}</span>
298   <span class="gtkdoc opt">...</span>
299 <span class="gtkdoc opt">}</span></pre></td>
300       </tr>
301     </tbody>
302   </table>
303 </div>
304
305 Note that applications should keep/set the pipeline in the PAUSED state when
306 a BUFFERING message is received with a buffer percent value &lt; 100 and set
307 the pipeline back to PLAYING state when a BUFFERING message with a value
308 of 100 percent is received (if PLAYING is the desired state, that is).
309 </div>
310 <p>
311 </p>
312 <hr>
313 <div class="refsect2">
314 <a name="idp13015696"></a><h3>Embedding the video window in your application</h3>
315 By default, playbin (or rather the video sinks used) will create their own
316 window. Applications will usually want to force output to a window of their
317 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
318 video sinks implement. See the documentation there for more details.
319 </div>
320 <p>
321 </p>
322 <hr>
323 <div class="refsect2">
324 <a name="idp13017664"></a><h3>Specifying which CD/DVD device to use</h3>
325 The device to use for CDs/DVDs needs to be set on the source element
326 playbin creates before it is opened. The only way to do this at the moment
327 is to connect to playbin's "notify::source" signal, which will be emitted
328 by playbin when it has created the source element for a particular URI.
329 In the signal callback you can check if the source element has a "device"
330 property and set it appropriately. In future ways might be added to specify
331 the device as part of the URI, but at the time of writing this is not
332 possible yet.
333 </div>
334 <p>
335 </p>
336 <hr>
337 <div class="refsect2">
338 <a name="idp13019088"></a><h3>Handling redirects</h3>
339 <p>
340 Some elements may post 'redirect' messages on the bus to tell the
341 application to open another location. These are element messages containing
342 a structure named 'redirect' along with a 'new-location' field of string
343 type. The new location may be a relative or an absolute URI. Examples
344 for such redirects can be found in many quicktime movie trailers.
345 </p>
346 </div>
347 <p>
348 </p>
349 <hr>
350 <div class="refsect2">
351 <a name="idp13020768"></a><h3>Examples</h3>
352 <div class="informalexample">
353   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
354     <tbody>
355       <tr>
356         <td class="listing_lines" align="right"><pre>1</pre></td>
357         <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>
358       </tr>
359     </tbody>
360   </table>
361 </div>
362  This will play back the given AVI video file, given that the video and
363 audio decoders required to decode the content are installed. Since no
364 special audio sink or video sink is supplied (not possible via gst-launch),
365 playbin will try to find a suitable audio and video sink automatically
366 using the autoaudiosink and autovideosink elements.
367 <div class="informalexample">
368   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
369     <tbody>
370       <tr>
371         <td class="listing_lines" align="right"><pre>1</pre></td>
372         <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>
373       </tr>
374     </tbody>
375   </table>
376 </div>
377  This will play back track 4 on an audio CD in your disc drive (assuming
378 the drive is detected automatically by the plugin).
379 <div class="informalexample">
380   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
381     <tbody>
382       <tr>
383         <td class="listing_lines" align="right"><pre>1</pre></td>
384         <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>
385       </tr>
386     </tbody>
387   </table>
388 </div>
389  This will play back title 1 of a DVD in your disc drive (assuming
390 the drive is detected automatically by the plugin).
391 </div>
392 <p>
393 </p>
394 <div class="refsynopsisdiv">
395 <h2>Synopsis</h2>
396 <div class="refsect2">
397 <a name="idp13025664"></a><h3>Element Information</h3>
398 <div class="variablelist"><table border="0">
399 <col align="left" valign="top">
400 <tbody>
401 <tr>
402 <td><p><span class="term">plugin</span></p></td>
403 <td>
404             <a class="link" href="gst-plugins-base-plugins-plugin-playback.html#plugin-playback">playback</a>
405           </td>
406 </tr>
407 <tr>
408 <td><p><span class="term">author</span></p></td>
409 <td>Wim Taymans &lt;wim.taymans@gmail.com&gt;</td>
410 </tr>
411 <tr>
412 <td><p><span class="term">class</span></p></td>
413 <td>Generic/Bin/Player</td>
414 </tr>
415 </tbody>
416 </table></div>
417 </div>
418 <hr>
419 <div class="refsect2">
420 <a name="idp13033120"></a><h3>Element Pads</h3>
421 </div>
422 </div>
423 <p>
424 </p>
425 </div>
426 <div class="refsect1">
427 <a name="gst-plugins-base-plugins-playbin2.details"></a><h2>Details</h2>
428 <div class="refsect2">
429 <a name="GstPlayBin2-struct"></a><h3>struct GstPlayBin2</h3>
430 <pre class="programlisting">struct GstPlayBin2;</pre>
431 <p>
432 playbin element structure
433 </p>
434 </div>
435 <hr>
436 <div class="refsect2">
437 <a name="GstPlayFlags"></a><h3>enum GstPlayFlags</h3>
438 <pre class="programlisting">typedef enum {
439   GST_PLAY_FLAG_VIDEO         = (1 &lt;&lt; 0),
440   GST_PLAY_FLAG_AUDIO         = (1 &lt;&lt; 1),
441   GST_PLAY_FLAG_TEXT          = (1 &lt;&lt; 2),
442   GST_PLAY_FLAG_VIS           = (1 &lt;&lt; 3),
443   GST_PLAY_FLAG_SOFT_VOLUME   = (1 &lt;&lt; 4),
444   GST_PLAY_FLAG_NATIVE_AUDIO  = (1 &lt;&lt; 5),
445   GST_PLAY_FLAG_NATIVE_VIDEO  = (1 &lt;&lt; 6),
446   GST_PLAY_FLAG_DOWNLOAD      = (1 &lt;&lt; 7),
447   GST_PLAY_FLAG_BUFFERING     = (1 &lt;&lt; 8),
448   GST_PLAY_FLAG_DEINTERLACE   = (1 &lt;&lt; 9)
449 } GstPlayFlags;
450 </pre>
451 <p>
452 Extra flags to configure the behaviour of the sinks.
453 </p>
454 <div class="variablelist"><table border="0">
455 <col align="left" valign="top">
456 <tbody>
457 <tr>
458 <td><p><a name="GST-PLAY-FLAG-VIDEO:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_VIDEO</code></span></p></td>
459 <td>Enable rendering of the video stream
460 </td>
461 </tr>
462 <tr>
463 <td><p><a name="GST-PLAY-FLAG-AUDIO:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_AUDIO</code></span></p></td>
464 <td>Enable rendering of the audio stream
465 </td>
466 </tr>
467 <tr>
468 <td><p><a name="GST-PLAY-FLAG-TEXT:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_TEXT</code></span></p></td>
469 <td>Enable rendering of subtitles
470 </td>
471 </tr>
472 <tr>
473 <td><p><a name="GST-PLAY-FLAG-VIS:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_VIS</code></span></p></td>
474 <td>Enable rendering of visualisations when there is
475       no video stream.
476 </td>
477 </tr>
478 <tr>
479 <td><p><a name="GST-PLAY-FLAG-SOFT-VOLUME:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_SOFT_VOLUME</code></span></p></td>
480 <td>Use software volume
481 </td>
482 </tr>
483 <tr>
484 <td><p><a name="GST-PLAY-FLAG-NATIVE-AUDIO:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_NATIVE_AUDIO</code></span></p></td>
485 <td>only allow native audio formats, this omits
486   configuration of audioconvert and audioresample.
487 </td>
488 </tr>
489 <tr>
490 <td><p><a name="GST-PLAY-FLAG-NATIVE-VIDEO:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_NATIVE_VIDEO</code></span></p></td>
491 <td>only allow native video formats, this omits
492   configuration of ffmpegcolorspace and videoscale.
493 </td>
494 </tr>
495 <tr>
496 <td><p><a name="GST-PLAY-FLAG-DOWNLOAD:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_DOWNLOAD</code></span></p></td>
497 <td>enable progressice download buffering for selected
498   formats.
499 </td>
500 </tr>
501 <tr>
502 <td><p><a name="GST-PLAY-FLAG-BUFFERING:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_BUFFERING</code></span></p></td>
503 <td>enable buffering of the demuxed or parsed data.
504 </td>
505 </tr>
506 <tr>
507 <td><p><a name="GST-PLAY-FLAG-DEINTERLACE:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_DEINTERLACE</code></span></p></td>
508 <td>
509 </td>
510 </tr>
511 </tbody>
512 </table></div>
513 </div>
514 </div>
515 <div class="refsect1">
516 <a name="gst-plugins-base-plugins-playbin2.property-details"></a><h2>Property Details</h2>
517 <div class="refsect2">
518 <a name="GstPlayBin2--audio-sink"></a><h3>The <code class="literal">"audio-sink"</code> property</h3>
519 <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>
520 <p>the audio output element to use (NULL = default sink).</p>
521 </div>
522 <hr>
523 <div class="refsect2">
524 <a name="GstPlayBin2--connection-speed"></a><h3>The <code class="literal">"connection-speed"</code> property</h3>
525 <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>
526 <p>Network connection speed in kbps (0 = unknown).</p>
527 <p>Allowed values: &lt;= 4294967</p>
528 <p>Default value: 0</p>
529 </div>
530 <hr>
531 <div class="refsect2">
532 <a name="GstPlayBin2--current-audio"></a><h3>The <code class="literal">"current-audio"</code> property</h3>
533 <pre class="programlisting">  "current-audio"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write</pre>
534 <p>
535 Get or set the currently playing audio stream. By default the first audio
536 stream with data is played.
537 </p>
538 <p>Allowed values: &gt;= G_MAXULONG</p>
539 <p>Default value: -1</p>
540 </div>
541 <hr>
542 <div class="refsect2">
543 <a name="GstPlayBin2--current-text"></a><h3>The <code class="literal">"current-text"</code> property</h3>
544 <pre class="programlisting">  "current-text"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write</pre>
545 <p>
546 Get or set the currently playing subtitle stream. By default the first
547 subtitle stream with data is played.
548 </p>
549 <p>Allowed values: &gt;= G_MAXULONG</p>
550 <p>Default value: -1</p>
551 </div>
552 <hr>
553 <div class="refsect2">
554 <a name="GstPlayBin2--current-video"></a><h3>The <code class="literal">"current-video"</code> property</h3>
555 <pre class="programlisting">  "current-video"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write</pre>
556 <p>
557 Get or set the currently playing video stream. By default the first video
558 stream with data is played.
559 </p>
560 <p>Allowed values: &gt;= G_MAXULONG</p>
561 <p>Default value: -1</p>
562 </div>
563 <hr>
564 <div class="refsect2">
565 <a name="GstPlayBin2--flags"></a><h3>The <code class="literal">"flags"</code> property</h3>
566 <pre class="programlisting">  "flags"                    <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayFlags" title="enum GstPlayFlags"><span class="type">GstPlayFlags</span></a>          : Read / Write</pre>
567 <p>
568 Control the behaviour of playbin.
569 </p>
570 <p>Default value: Render the video stream|Render the audio stream|Render subtitles|Use software volume</p>
571 </div>
572 <hr>
573 <div class="refsect2">
574 <a name="GstPlayBin2--frame"></a><h3>The <code class="literal">"frame"</code> property</h3>
575 <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>
576 <p>
577 Get the currently rendered or prerolled frame in the video sink.
578 The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> on the buffer will describe the format of the buffer.
579 </p>
580 </div>
581 <hr>
582 <div class="refsect2">
583 <a name="GstPlayBin2--n-audio"></a><h3>The <code class="literal">"n-audio"</code> property</h3>
584 <pre class="programlisting">  "n-audio"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read</pre>
585 <p>
586 Get the total number of available audio streams.
587 </p>
588 <p>Allowed values: &gt;= 0</p>
589 <p>Default value: 0</p>
590 </div>
591 <hr>
592 <div class="refsect2">
593 <a name="GstPlayBin2--n-text"></a><h3>The <code class="literal">"n-text"</code> property</h3>
594 <pre class="programlisting">  "n-text"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read</pre>
595 <p>
596 Get the total number of available subtitle streams.
597 </p>
598 <p>Allowed values: &gt;= 0</p>
599 <p>Default value: 0</p>
600 </div>
601 <hr>
602 <div class="refsect2">
603 <a name="GstPlayBin2--n-video"></a><h3>The <code class="literal">"n-video"</code> property</h3>
604 <pre class="programlisting">  "n-video"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read</pre>
605 <p>
606 Get the total number of available video streams.
607 </p>
608 <p>Allowed values: &gt;= 0</p>
609 <p>Default value: 0</p>
610 </div>
611 <hr>
612 <div class="refsect2">
613 <a name="GstPlayBin2--source"></a><h3>The <code class="literal">"source"</code> property</h3>
614 <pre class="programlisting">  "source"                   <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read</pre>
615 <p>Source element.</p>
616 </div>
617 <hr>
618 <div class="refsect2">
619 <a name="GstPlayBin2--subtitle-encoding"></a><h3>The <code class="literal">"subtitle-encoding"</code> property</h3>
620 <pre class="programlisting">  "subtitle-encoding"        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
621 <p>Encoding to assume if input subtitles are not in UTF-8 encoding. If not set, the GST_SUBTITLE_ENCODING environment variable will be checked for an encoding to use. If that is not set either, ISO-8859-15 will be assumed.</p>
622 <p>Default value: NULL</p>
623 </div>
624 <hr>
625 <div class="refsect2">
626 <a name="GstPlayBin2--subtitle-font-desc"></a><h3>The <code class="literal">"subtitle-font-desc"</code> property</h3>
627 <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>
628 <p>Pango font description of font to be used for subtitle rendering.</p>
629 <p>Default value: NULL</p>
630 </div>
631 <hr>
632 <div class="refsect2">
633 <a name="GstPlayBin2--suburi"></a><h3>The <code class="literal">"suburi"</code> property</h3>
634 <pre class="programlisting">  "suburi"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
635 <p>
636 Set the next subtitle URI that playbin will play. This property can be
637 set from the about-to-finish signal to queue the next subtitle media file.
638 </p>
639 <p>Default value: NULL</p>
640 </div>
641 <hr>
642 <div class="refsect2">
643 <a name="GstPlayBin2--uri"></a><h3>The <code class="literal">"uri"</code> property</h3>
644 <pre class="programlisting">  "uri"                      <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
645 <p>
646 Set the next URI that playbin will play. This property can be set from the
647 about-to-finish signal to queue the next media file.
648 </p>
649 <p>Default value: NULL</p>
650 </div>
651 <hr>
652 <div class="refsect2">
653 <a name="GstPlayBin2--video-sink"></a><h3>The <code class="literal">"video-sink"</code> property</h3>
654 <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>
655 <p>the video output element to use (NULL = default sink).</p>
656 </div>
657 <hr>
658 <div class="refsect2">
659 <a name="GstPlayBin2--vis-plugin"></a><h3>The <code class="literal">"vis-plugin"</code> property</h3>
660 <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>
661 <p>the visualization element to use (NULL = default).</p>
662 </div>
663 <hr>
664 <div class="refsect2">
665 <a name="GstPlayBin2--volume"></a><h3>The <code class="literal">"volume"</code> property</h3>
666 <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>
667 <p>
668 Get or set the current audio stream volume. 1.0 means 100%,
669 0.0 means mute. This uses a linear volume scale.
670 </p>
671 <p>Allowed values: [0,10]</p>
672 <p>Default value: 1</p>
673 </div>
674 <hr>
675 <div class="refsect2">
676 <a name="GstPlayBin2--mute"></a><h3>The <code class="literal">"mute"</code> property</h3>
677 <pre class="programlisting">  "mute"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
678 <p>Mute the audio channel without changing the volume.</p>
679 <p>Default value: FALSE</p>
680 </div>
681 <hr>
682 <div class="refsect2">
683 <a name="GstPlayBin2--buffer-duration"></a><h3>The <code class="literal">"buffer-duration"</code> property</h3>
684 <pre class="programlisting">  "buffer-duration"          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a>                : Read / Write</pre>
685 <p>Buffer duration when buffering network streams.</p>
686 <p>Allowed values: &gt;= G_MAXULONG</p>
687 <p>Default value: -1</p>
688 </div>
689 <hr>
690 <div class="refsect2">
691 <a name="GstPlayBin2--buffer-size"></a><h3>The <code class="literal">"buffer-size"</code> property</h3>
692 <pre class="programlisting">  "buffer-size"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write</pre>
693 <p>Buffer size when buffering network streams.</p>
694 <p>Allowed values: &gt;= G_MAXULONG</p>
695 <p>Default value: -1</p>
696 </div>
697 <hr>
698 <div class="refsect2">
699 <a name="GstPlayBin2--text-sink"></a><h3>The <code class="literal">"text-sink"</code> property</h3>
700 <pre class="programlisting">  "text-sink"                <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write</pre>
701 <p>the text output element to use (NULL = default textoverlay).</p>
702 </div>
703 <hr>
704 <div class="refsect2">
705 <a name="GstPlayBin2--subpic-sink"></a><h3>The <code class="literal">"subpic-sink"</code> property</h3>
706 <pre class="programlisting">  "subpic-sink"              <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>*           : Read / Write</pre>
707 <p>the subpicture output element to use (NULL = default dvdspu).</p>
708 </div>
709 <hr>
710 <div class="refsect2">
711 <a name="GstPlayBin2--av-offset"></a><h3>The <code class="literal">"av-offset"</code> property</h3>
712 <pre class="programlisting">  "av-offset"                <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint64"><span class="type">gint64</span></a>                : Read / Write</pre>
713 <p>
714 Control the synchronisation offset between the audio and video streams.
715 Positive values make the audio ahead of the video and negative values make
716 the audio go behind the video.
717 </p>
718 <p>Default value: 0</p>
719 <p class="since">Since 0.10.30</p>
720 </div>
721 <hr>
722 <div class="refsect2">
723 <a name="GstPlayBin2--ring-buffer-max-size"></a><h3>The <code class="literal">"ring-buffer-max-size"</code> property</h3>
724 <pre class="programlisting">  "ring-buffer-max-size"     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a>               : Read / Write</pre>
725 <p>Max. amount of data in the ring buffer (bytes, 0 = ring buffer disabled).</p>
726 <p>Allowed values: &lt;= G_MAXUINT</p>
727 <p>Default value: 0</p>
728 </div>
729 </div>
730 <div class="refsect1">
731 <a name="gst-plugins-base-plugins-playbin2.signal-details"></a><h2>Signal Details</h2>
732 <div class="refsect2">
733 <a name="GstPlayBin2-about-to-finish"></a><h3>The <code class="literal">"about-to-finish"</code> signal</h3>
734 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
735                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
736 <p>
737 This signal is emitted when the current uri is about to finish. You can
738 set the uri and suburi to make sure that playback continues.
739 </p>
740 <div class="variablelist"><table border="0">
741 <col align="left" valign="top">
742 <tbody>
743 <tr>
744 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
745 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
746 </td>
747 </tr>
748 <tr>
749 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
750 <td>user data set when the signal handler was connected.</td>
751 </tr>
752 </tbody>
753 </table></div>
754 </div>
755 <hr>
756 <div class="refsect2">
757 <a name="GstPlayBin2-audio-changed"></a><h3>The <code class="literal">"audio-changed"</code> signal</h3>
758 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
759                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
760 <p>
761 This signal is emitted whenever the number or order of the audio
762 streams has changed. The application will most likely want to select
763 a new audio stream.
764 </p>
765 <div class="variablelist"><table border="0">
766 <col align="left" valign="top">
767 <tbody>
768 <tr>
769 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
770 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
771 </td>
772 </tr>
773 <tr>
774 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
775 <td>user data set when the signal handler was connected.</td>
776 </tr>
777 </tbody>
778 </table></div>
779 </div>
780 <hr>
781 <div class="refsect2">
782 <a name="GstPlayBin2-get-audio-tags"></a><h3>The <code class="literal">"get-audio-tags"</code> signal</h3>
783 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="returnvalue">GstTagList</span></a>*         user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
784                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>         stream,
785                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
786 <p>
787 Action signal to retrieve the tags of a specific audio stream number.
788 This information can be used to select a stream.
789 </p>
790 <div class="variablelist"><table border="0">
791 <col align="left" valign="top">
792 <tbody>
793 <tr>
794 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
795 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
796 </td>
797 </tr>
798 <tr>
799 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
800 <td>an audio stream number</td>
801 </tr>
802 <tr>
803 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
804 <td>user data set when the signal handler was connected.</td>
805 </tr>
806 <tr>
807 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
808 <td>a GstTagList with tags or NULL when the stream number does not
809 exist.</td>
810 </tr>
811 </tbody>
812 </table></div>
813 </div>
814 <hr>
815 <div class="refsect2">
816 <a name="GstPlayBin2-get-text-tags"></a><h3>The <code class="literal">"get-text-tags"</code> signal</h3>
817 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="returnvalue">GstTagList</span></a>*         user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
818                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>         stream,
819                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
820 <p>
821 Action signal to retrieve the tags of a specific text stream number.
822 This information can be used to select a stream.
823 </p>
824 <div class="variablelist"><table border="0">
825 <col align="left" valign="top">
826 <tbody>
827 <tr>
828 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
829 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
830 </td>
831 </tr>
832 <tr>
833 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
834 <td>a text stream number</td>
835 </tr>
836 <tr>
837 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
838 <td>user data set when the signal handler was connected.</td>
839 </tr>
840 <tr>
841 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
842 <td>a GstTagList with tags or NULL when the stream number does not
843 exist.</td>
844 </tr>
845 </tbody>
846 </table></div>
847 </div>
848 <hr>
849 <div class="refsect2">
850 <a name="GstPlayBin2-get-video-tags"></a><h3>The <code class="literal">"get-video-tags"</code> signal</h3>
851 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GstTagList"><span class="returnvalue">GstTagList</span></a>*         user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
852                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>         stream,
853                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
854 <p>
855 Action signal to retrieve the tags of a specific video stream number.
856 This information can be used to select a stream.
857 </p>
858 <div class="variablelist"><table border="0">
859 <col align="left" valign="top">
860 <tbody>
861 <tr>
862 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
863 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
864 </td>
865 </tr>
866 <tr>
867 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
868 <td>a video stream number</td>
869 </tr>
870 <tr>
871 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
872 <td>user data set when the signal handler was connected.</td>
873 </tr>
874 <tr>
875 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
876 <td>a GstTagList with tags or NULL when the stream number does not
877 exist.</td>
878 </tr>
879 </tbody>
880 </table></div>
881 </div>
882 <hr>
883 <div class="refsect2">
884 <a name="GstPlayBin2-text-changed"></a><h3>The <code class="literal">"text-changed"</code> signal</h3>
885 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
886                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
887 <p>
888 This signal is emitted whenever the number or order of the text
889 streams has changed. The application will most likely want to select
890 a new text stream.
891 </p>
892 <div class="variablelist"><table border="0">
893 <col align="left" valign="top">
894 <tbody>
895 <tr>
896 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
897 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
898 </td>
899 </tr>
900 <tr>
901 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
902 <td>user data set when the signal handler was connected.</td>
903 </tr>
904 </tbody>
905 </table></div>
906 </div>
907 <hr>
908 <div class="refsect2">
909 <a name="GstPlayBin2-video-changed"></a><h3>The <code class="literal">"video-changed"</code> signal</h3>
910 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
911                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
912 <p>
913 This signal is emitted whenever the number or order of the video
914 streams has changed. The application will most likely want to select
915 a new video stream.
916 </p>
917 <div class="variablelist"><table border="0">
918 <col align="left" valign="top">
919 <tbody>
920 <tr>
921 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
922 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
923 </td>
924 </tr>
925 <tr>
926 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
927 <td>user data set when the signal handler was connected.</td>
928 </tr>
929 </tbody>
930 </table></div>
931 </div>
932 <hr>
933 <div class="refsect2">
934 <a name="GstPlayBin2-convert-frame"></a><h3>The <code class="literal">"convert-frame"</code> signal</h3>
935 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="returnvalue">GstBuffer</span></a>*          user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
936                                                         <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>     *caps,
937                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
938 <p>
939 Action signal to retrieve the currently playing video frame in the format
940 specified by <em class="parameter"><code>caps</code></em>.
941 If <em class="parameter"><code>caps</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, no conversion will be performed and this function is
942 equivalent to the <span class="type">"frame"</span> property.
943 </p>
944 <div class="variablelist"><table border="0">
945 <col align="left" valign="top">
946 <tbody>
947 <tr>
948 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
949 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
950 </td>
951 </tr>
952 <tr>
953 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
954 <td>the target format of the frame</td>
955 </tr>
956 <tr>
957 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
958 <td>user data set when the signal handler was connected.</td>
959 </tr>
960 <tr>
961 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
962 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> of the current video frame converted to <span class="type">caps</span>.
963 The caps on the buffer will describe the final layout of the buffer data.
964 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is returned when no current buffer can be retrieved or when the
965 conversion failed.</td>
966 </tr>
967 </tbody>
968 </table></div>
969 </div>
970 <hr>
971 <div class="refsect2">
972 <a name="GstPlayBin2-get-audio-pad"></a><h3>The <code class="literal">"get-audio-pad"</code> signal</h3>
973 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a>*             user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
974                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>         stream,
975                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
976 <p>
977 Action signal to retrieve the stream-selector sinkpad for a specific
978 audio stream.
979 This pad can be used for notifications of caps changes, stream-specific
980 queries, etc.
981 </p>
982 <div class="variablelist"><table border="0">
983 <col align="left" valign="top">
984 <tbody>
985 <tr>
986 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
987 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
988 </td>
989 </tr>
990 <tr>
991 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
992 <td>an audio stream number</td>
993 </tr>
994 <tr>
995 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
996 <td>user data set when the signal handler was connected.</td>
997 </tr>
998 <tr>
999 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1000 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or NULL when the stream number does not exist.</td>
1001 </tr>
1002 </tbody>
1003 </table></div>
1004 </div>
1005 <hr>
1006 <div class="refsect2">
1007 <a name="GstPlayBin2-get-text-pad"></a><h3>The <code class="literal">"get-text-pad"</code> signal</h3>
1008 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a>*             user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
1009                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>         stream,
1010                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
1011 <p>
1012 Action signal to retrieve the stream-selector sinkpad for a specific
1013 text stream.
1014 This pad can be used for notifications of caps changes, stream-specific
1015 queries, etc.
1016 </p>
1017 <div class="variablelist"><table border="0">
1018 <col align="left" valign="top">
1019 <tbody>
1020 <tr>
1021 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
1022 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
1023 </td>
1024 </tr>
1025 <tr>
1026 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1027 <td>a text stream number</td>
1028 </tr>
1029 <tr>
1030 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1031 <td>user data set when the signal handler was connected.</td>
1032 </tr>
1033 <tr>
1034 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1035 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or NULL when the stream number does not exist.</td>
1036 </tr>
1037 </tbody>
1038 </table></div>
1039 </div>
1040 <hr>
1041 <div class="refsect2">
1042 <a name="GstPlayBin2-get-video-pad"></a><h3>The <code class="literal">"get-video-pad"</code> signal</h3>
1043 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="returnvalue">GstPad</span></a>*             user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
1044                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>         stream,
1045                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
1046 <p>
1047 Action signal to retrieve the stream-selector sinkpad for a specific
1048 video stream.
1049 This pad can be used for notifications of caps changes, stream-specific
1050 queries, etc.
1051 </p>
1052 <div class="variablelist"><table border="0">
1053 <col align="left" valign="top">
1054 <tbody>
1055 <tr>
1056 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
1057 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
1058 </td>
1059 </tr>
1060 <tr>
1061 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1062 <td>a video stream number</td>
1063 </tr>
1064 <tr>
1065 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1066 <td>user data set when the signal handler was connected.</td>
1067 </tr>
1068 <tr>
1069 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1070 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>, or NULL when the stream number does not exist.</td>
1071 </tr>
1072 </tbody>
1073 </table></div>
1074 </div>
1075 <hr>
1076 <div class="refsect2">
1077 <a name="GstPlayBin2-audio-tags-changed"></a><h3>The <code class="literal">"audio-tags-changed"</code> signal</h3>
1078 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
1079                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>         stream,
1080                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
1081 <p>
1082 This signal is emitted whenever the tags of an audio stream have changed.
1083 The application will most likely want to get the new tags.
1084 </p>
1085 <div class="variablelist"><table border="0">
1086 <col align="left" valign="top">
1087 <tbody>
1088 <tr>
1089 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
1090 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
1091 </td>
1092 </tr>
1093 <tr>
1094 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1095 <td>stream index with changed tags</td>
1096 </tr>
1097 <tr>
1098 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1099 <td>user data set when the signal handler was connected.</td>
1100 </tr>
1101 </tbody>
1102 </table></div>
1103 <p class="since">Since 0.10.24</p>
1104 </div>
1105 <hr>
1106 <div class="refsect2">
1107 <a name="GstPlayBin2-text-tags-changed"></a><h3>The <code class="literal">"text-tags-changed"</code> signal</h3>
1108 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
1109                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>         stream,
1110                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
1111 <p>
1112 This signal is emitted whenever the tags of a text stream have changed.
1113 The application will most likely want to get the new tags.
1114 </p>
1115 <div class="variablelist"><table border="0">
1116 <col align="left" valign="top">
1117 <tbody>
1118 <tr>
1119 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
1120 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
1121 </td>
1122 </tr>
1123 <tr>
1124 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1125 <td>stream index with changed tags</td>
1126 </tr>
1127 <tr>
1128 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1129 <td>user data set when the signal handler was connected.</td>
1130 </tr>
1131 </tbody>
1132 </table></div>
1133 <p class="since">Since 0.10.24</p>
1134 </div>
1135 <hr>
1136 <div class="refsect2">
1137 <a name="GstPlayBin2-video-tags-changed"></a><h3>The <code class="literal">"video-tags-changed"</code> signal</h3>
1138 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
1139                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>         stream,
1140                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
1141 <p>
1142 This signal is emitted whenever the tags of a video stream have changed.
1143 The application will most likely want to get the new tags.
1144 </p>
1145 <div class="variablelist"><table border="0">
1146 <col align="left" valign="top">
1147 <tbody>
1148 <tr>
1149 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
1150 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
1151 </td>
1152 </tr>
1153 <tr>
1154 <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
1155 <td>stream index with changed tags</td>
1156 </tr>
1157 <tr>
1158 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1159 <td>user data set when the signal handler was connected.</td>
1160 </tr>
1161 </tbody>
1162 </table></div>
1163 <p class="since">Since 0.10.24</p>
1164 </div>
1165 <hr>
1166 <div class="refsect2">
1167 <a name="GstPlayBin2-source-setup"></a><h3>The <code class="literal">"source-setup"</code> signal</h3>
1168 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a> *playbin,
1169                                                         <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>  *source,
1170                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
1171 <p>
1172 This signal is emitted after the source element has been created, so
1173 it can be configured by setting additional properties (e.g. set a
1174 proxy server for an http source, or set the device and read speed for
1175 an audio cd source). This is functionally equivalent to connecting to
1176 the notify::source signal, but more convenient.
1177 </p>
1178 <div class="variablelist"><table border="0">
1179 <col align="left" valign="top">
1180 <tbody>
1181 <tr>
1182 <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td>
1183 <td>a <a class="link" href="gst-plugins-base-plugins-playbin2.html#GstPlayBin2"><span class="type">GstPlayBin2</span></a>
1184 </td>
1185 </tr>
1186 <tr>
1187 <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td>
1188 <td>source element</td>
1189 </tr>
1190 <tr>
1191 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1192 <td>user data set when the signal handler was connected.</td>
1193 </tr>
1194 </tbody>
1195 </table></div>
1196 <p class="since">Since 0.10.33</p>
1197 </div>
1198 </div>
1199 </div>
1200 <div class="footer">
1201 <hr>
1202           Generated by GTK-Doc V1.17</div>
1203 </body>
1204 </html>