| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>playbin</title> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> |
| <link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual"> |
| <link rel="up" href="ch01.html" title="gst-plugins-base Elements"> |
| <link rel="prev" href="gst-plugins-base-plugins-oggmux.html" title="oggmux"> |
| <link rel="next" href="gst-plugins-base-plugins-subtitleoverlay.html" title="subtitleoverlay"> |
| <meta name="generator" content="GTK-Doc V1.18 (XML mode)"> |
| <link rel="stylesheet" href="style.css" type="text/css"> |
| </head> |
| <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> |
| <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> |
| <tr valign="middle"> |
| <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> |
| <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> |
| <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> |
| <th width="100%" align="center">GStreamer Base Plugins 1.0 Plugins Reference Manual</th> |
| <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> |
| </tr> |
| <tr><td colspan="5" class="shortcuts"> |
| <a href="#gst-plugins-base-plugins-playbin.synopsis" class="shortcut">Top</a> |
| | |
| <a href="#gst-plugins-base-plugins-playbin.description" class="shortcut">Description</a> |
| | |
| <a href="#gst-plugins-base-plugins-playbin.object-hierarchy" class="shortcut">Object Hierarchy</a> |
| | |
| <a href="#gst-plugins-base-plugins-playbin.implemented-interfaces" class="shortcut">Implemented Interfaces</a> |
| | |
| <a href="#gst-plugins-base-plugins-playbin.properties" class="shortcut">Properties</a> |
| | |
| <a href="#gst-plugins-base-plugins-playbin.signals" class="shortcut">Signals</a> |
| </td></tr> |
| </table> |
| <div class="refentry"> |
| <a name="gst-plugins-base-plugins-playbin"></a><div class="titlepage"></div> |
| <div class="refnamediv"><table width="100%"><tr> |
| <td valign="top"> |
| <h2><span class="refentrytitle"><a name="gst-plugins-base-plugins-playbin.top_of_page"></a>playbin</span></h2> |
| <p>playbin — Autoplug and play media from an uri</p> |
| </td> |
| <td valign="top" align="right"></td> |
| </tr></table></div> |
| <div class="refsynopsisdiv"> |
| <a name="gst-plugins-base-plugins-playbin.synopsis"></a><h2>Synopsis</h2> |
| <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>; |
| enum <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayFlags" title="enum GstPlayFlags">GstPlayFlags</a>; |
| </pre> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-base-plugins-playbin.object-hierarchy"></a><h2>Object Hierarchy</h2> |
| <pre class="synopsis"> |
| <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a> |
| +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> |
| +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a> |
| +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a> |
| +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a> |
| +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPipeline.html">GstPipeline</a> |
| +----GstPlayBin |
| </pre> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-base-plugins-playbin.implemented-interfaces"></a><h2>Implemented Interfaces</h2> |
| <p> |
| GstPlayBin implements |
| <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gststreamvolume.html#GstStreamVolume">GstStreamVolume</a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay">GstVideoOverlay</a>, GstNavigation and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance">GstColorBalance</a>.</p> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-base-plugins-playbin.properties"></a><h2>Properties</h2> |
| <pre class="synopsis"> |
| "<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 |
| "<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 |
| "<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 |
| "<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 |
| "<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 |
| "<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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--connection-speed" title='The "connection-speed" property'>connection-speed</a>" <span class="type">guint64</span> : Read / Write |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--av-offset" title='The "av-offset" property'>av-offset</a>" <span class="type">gint64</span> : Read / Write |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--buffer-duration" title='The "buffer-duration" property'>buffer-duration</a>" <span class="type">gint64</span> : Read / Write |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--flags" title='The "flags" property'>flags</a>" <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayFlags" title="enum GstPlayFlags"><span class="type">GstPlayFlags</span></a> : Read / Write |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--ring-buffer-max-size" title='The "ring-buffer-max-size" property'>ring-buffer-max-size</a>" <span class="type">guint64</span> : Read / Write |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--sample" title='The "sample" property'>sample</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>* : Read |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--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 |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--current-suburi" title='The "current-suburi" property'>current-suburi</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--current-uri" title='The "current-uri" property'>current-uri</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--force-aspect-ratio" title='The "force-aspect-ratio" property'>force-aspect-ratio</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write |
| </pre> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-base-plugins-playbin.signals"></a><h2>Signals</h2> |
| <pre class="synopsis"> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-convert-sample" title='The "convert-sample" signal'>convert-sample</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| "<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin-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> |
| </pre> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-base-plugins-playbin.description"></a><h2>Description</h2> |
| <p> |
| Playbin provides a stand-alone everything-in-one abstraction for an |
| audio and/or video player. |
| </p> |
| <p> |
| Playbin can handle both audio and video files and features |
| </p> |
| <div class="itemizedlist"><ul class="itemizedlist" type="disc"> |
| <li class="listitem"> |
| automatic file type recognition and based on that automatic |
| selection and usage of the right audio/video/subtitle demuxers/decoders |
| </li> |
| <li class="listitem"> |
| visualisations for audio files |
| </li> |
| <li class="listitem"> |
| subtitle support for video files. Subtitles can be store in external |
| files. |
| </li> |
| <li class="listitem"> |
| stream selection between different video/audio/subtitles streams |
| </li> |
| <li class="listitem"> |
| meta info (tag) extraction |
| </li> |
| <li class="listitem"> |
| easy access to the last video sample |
| </li> |
| <li class="listitem"> |
| buffering when playing streams over a network |
| </li> |
| <li class="listitem"> |
| volume control with mute option |
| </li> |
| </ul></div> |
| <p> |
| </p> |
| <p> |
| </p> |
| <div class="refsect2"> |
| <a name="idp13399776"></a><h3>Usage</h3> |
| <p> |
| A playbin element can be created just like any other element 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>. The file/URI to play should be set via the <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--uri" title='The "uri" property'><span class="type">"uri"</span></a> |
| property. This must be an absolute URI, relative file paths are not allowed. |
| Example URIs are file:///home/joe/movie.avi or http://www.joedoe.com/foo.ogg |
| </p> |
| <p> |
| 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 |
| that's happening (errors, end of stream, tags found, state changes, etc.) |
| 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 |
| bus. |
| </p> |
| <p> |
| Playback can be initiated by setting the element to PLAYING state using |
| <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 |
| the background in a separate thread, when the function returns playback |
| is probably not happening yet and any errors might not have occured yet. |
| Applications using playbin should ideally be written to deal with things |
| completely asynchroneous. |
| </p> |
| <p> |
| When playback has finished (an EOS message has been received on the bus) |
| or an error has occured (an ERROR message has been received on the bus) or |
| the user wants to play a different track, playbin should be set back to |
| READY or NULL state, then the <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin--uri" title='The "uri" property'><span class="type">"uri"</span></a> property should be set to the |
| new location and then playbin be set to PLAYING state again. |
| </p> |
| <p> |
| 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> |
| on the playbin element. Again, the seek will not be executed |
| instantaneously, but will be done in a background thread. When the seek |
| call returns the seek will most likely still be in process. An application |
| 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 |
| -1 as the timeout, but this will block the user interface and is not |
| recommended at all. |
| </p> |
| <p> |
| Applications may query the current position and duration of the stream |
| 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 |
| setting the format passed to GST_FORMAT_TIME. If the query was successful, |
| the duration or position will have been returned in units of nanoseconds. |
| </p> |
| </div> |
| <p> |
| </p> |
| <hr> |
| <div class="refsect2"> |
| <a name="idp13415888"></a><h3>Advanced Usage: specifying the audio and video sink</h3> |
| <p> |
| By default, if no audio sink or video sink has been specified via the |
| <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 the autoaudiosink |
| and autovideosink elements to find the first-best available output method. |
| This should work in most cases, but is not always desirable. Often either |
| the user or application might want to specify more explicitly what to use |
| for audio and video output. |
| </p> |
| <p> |
| If the application wants more control over how audio or video should be |
| output, it may create the audio/video sink elements itself (for example |
| 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 |
| <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. |
| </p> |
| <p> |
| GNOME-based applications, for example, will usually want to create |
| gconfaudiosink and gconfvideosink elements and make playbin use those, |
| so that output happens to whatever the user has configured in the GNOME |
| Multimedia System Selector configuration dialog. |
| </p> |
| <p> |
| The sink elements do not necessarily need to be ready-made sinks. It is |
| possible to create container elements that look like a sink to playbin, |
| but in reality contain a number of custom elements linked together. This |
| 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 |
| 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 |
| it to the sink pad of the first element within the bin. This can be used |
| for a number of purposes, for example to force output to a particular |
| format or to modify or observe the data before it is output. |
| </p> |
| <p> |
| It is also possible to 'suppress' audio and/or video output by using |
| 'fakesink' elements (or capture it from there using the fakesink element's |
| "handoff" signal, which, nota bene, is fired from the streaming thread!). |
| </p> |
| </div> |
| <p> |
| </p> |
| <hr> |
| <div class="refsect2"> |
| <a name="idp13426528"></a><h3>Retrieving Tags and Other Meta Data</h3> |
| <p> |
| Most of the common meta data (artist, title, etc.) can be retrieved by |
| watching for TAG messages on the pipeline's bus (see above). |
| </p> |
| <p> |
| Other more specific meta information like width/height/framerate of video |
| streams or samplerate/number of channels of audio streams can be obtained |
| from the negotiated caps on the sink pads of the sinks. |
| </p> |
| </div> |
| <p> |
| </p> |
| <hr> |
| <div class="refsect2"> |
| <a name="idp13428640"></a><h3>Buffering</h3> |
| Playbin handles buffering automatically for the most part, but applications |
| need to handle parts of the buffering process as well. Whenever playbin is |
| buffering, it will post BUFFERING messages on the bus with a percentage |
| value that shows the progress of the buffering process. Applications need |
| to set playbin to PLAYING or PAUSED state in response to these messages. |
| They may also want to convey the buffering progress to the user in some |
| way. Here is how to extract the percentage information from the message |
| (requires GStreamer >= 0.10.11): |
| <div class="informalexample"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9</pre></td> |
| <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> |
| <span class="keyword">case</span> GST_MESSAGE_BUFFERING<span class="gtkdoc opt">: {</span> |
| gint percent <span class="gtkdoc opt">=</span> <span class="number">0</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-parse-buffering">gst_message_parse_buffering</a></span> <span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">, &</span>percent<span class="gtkdoc opt">);</span> |
| <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">"Buffering (%%u percent done)"</span><span class="gtkdoc opt">,</span> percent<span class="gtkdoc opt">);</span> |
| <span class="keyword">break</span><span class="gtkdoc opt">;</span> |
| <span class="gtkdoc opt">}</span> |
| <span class="gtkdoc opt">...</span> |
| <span class="gtkdoc opt">}</span></pre></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| |
| Note that applications should keep/set the pipeline in the PAUSED state when |
| a BUFFERING message is received with a buffer percent value < 100 and set |
| the pipeline back to PLAYING state when a BUFFERING message with a value |
| of 100 percent is received (if PLAYING is the desired state, that is). |
| </div> |
| <p> |
| </p> |
| <hr> |
| <div class="refsect2"> |
| <a name="idp13431408"></a><h3>Embedding the video window in your application</h3> |
| By default, playbin (or rather the video sinks used) will create their own |
| window. Applications will usually want to force output to a window of their |
| 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-gstvideooverlay.html#GstVideoOverlay"><span class="type">GstVideoOverlay</span></a> interface, which most |
| video sinks implement. See the documentation there for more details. |
| </div> |
| <p> |
| </p> |
| <hr> |
| <div class="refsect2"> |
| <a name="idp13433376"></a><h3>Specifying which CD/DVD device to use</h3> |
| The device to use for CDs/DVDs needs to be set on the source element |
| playbin creates before it is opened. The most generic way of doing this |
| is to connect to playbin's "source-setup" (or "notify::source") signal, |
| which will be emitted by playbin when it has created the source element |
| for a particular URI. In the signal callback you can check if the source |
| element has a "device" property and set it appropriately. In some cases |
| the device can also be set as part of the URI, but it depends on the |
| elements involved if this will work or not. For example, for DVD menu |
| playback, the following syntax might work (if the resindvd plugin is used): |
| dvd://[/path/to/device] |
| </div> |
| <p> |
| </p> |
| <hr> |
| <div class="refsect2"> |
| <a name="idp13434944"></a><h3>Handling redirects</h3> |
| <p> |
| Some elements may post 'redirect' messages on the bus to tell the |
| application to open another location. These are element messages containing |
| a structure named 'redirect' along with a 'new-location' field of string |
| type. The new location may be a relative or an absolute URI. Examples |
| for such redirects can be found in many quicktime movie trailers. |
| </p> |
| </div> |
| <p> |
| </p> |
| <hr> |
| <div class="refsect2"> |
| <a name="idp13436624"></a><h3>Examples</h3> |
| <div class="informalexample"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1</pre></td> |
| <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> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| This will play back the given AVI video file, given that the video and |
| audio decoders required to decode the content are installed. Since no |
| special audio sink or video sink is supplied (not possible via gst-launch), |
| playbin will try to find a suitable audio and video sink automatically |
| using the autoaudiosink and autovideosink elements. |
| <div class="informalexample"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1</pre></td> |
| <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> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| This will play back track 4 on an audio CD in your disc drive (assuming |
| the drive is detected automatically by the plugin). |
| <div class="informalexample"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1</pre></td> |
| <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">//</span></pre></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| This will play back the DVD in your disc drive (assuming |
| the drive is detected automatically by the plugin). |
| </div> |
| <p> |
| </p> |
| <div class="refsynopsisdiv"> |
| <h2>Synopsis</h2> |
| <div class="refsect2"> |
| <a name="idp13441600"></a><h3>Element Information</h3> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term">plugin</span></p></td> |
| <td> |
| <a class="link" href="gst-plugins-base-plugins-plugin-playback.html#plugin-playback">playback</a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term">author</span></p></td> |
| <td>Wim Taymans <wim.taymans@gmail.com></td> |
| </tr> |
| <tr> |
| <td><p><span class="term">class</span></p></td> |
| <td>Generic/Bin/Player</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="idp13449056"></a><h3>Element Pads</h3> |
| </div> |
| </div> |
| <p> |
| </p> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-base-plugins-playbin.details"></a><h2>Details</h2> |
| <div class="refsect2"> |
| <a name="GstPlayBin-struct"></a><h3>struct GstPlayBin</h3> |
| <pre class="programlisting">struct GstPlayBin;</pre> |
| <p> |
| playbin element structure |
| </p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayFlags"></a><h3>enum GstPlayFlags</h3> |
| <pre class="programlisting">typedef enum { |
| GST_PLAY_FLAG_VIDEO = (1 << 0), |
| GST_PLAY_FLAG_AUDIO = (1 << 1), |
| GST_PLAY_FLAG_TEXT = (1 << 2), |
| GST_PLAY_FLAG_VIS = (1 << 3), |
| GST_PLAY_FLAG_SOFT_VOLUME = (1 << 4), |
| GST_PLAY_FLAG_NATIVE_AUDIO = (1 << 5), |
| GST_PLAY_FLAG_NATIVE_VIDEO = (1 << 6), |
| GST_PLAY_FLAG_DOWNLOAD = (1 << 7), |
| GST_PLAY_FLAG_BUFFERING = (1 << 8), |
| GST_PLAY_FLAG_DEINTERLACE = (1 << 9), |
| GST_PLAY_FLAG_SOFT_COLORBALANCE = (1 << 10) |
| } GstPlayFlags; |
| </pre> |
| <p> |
| Extra flags to configure the behaviour of the sinks. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><a name="GST-PLAY-FLAG-VIDEO:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_VIDEO</code></span></p></td> |
| <td>Enable rendering of the video stream |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-PLAY-FLAG-AUDIO:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_AUDIO</code></span></p></td> |
| <td>Enable rendering of the audio stream |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-PLAY-FLAG-TEXT:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_TEXT</code></span></p></td> |
| <td>Enable rendering of subtitles |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-PLAY-FLAG-VIS:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_VIS</code></span></p></td> |
| <td>Enable rendering of visualisations when there is |
| no video stream. |
| </td> |
| </tr> |
| <tr> |
| <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> |
| <td>Use software volume |
| </td> |
| </tr> |
| <tr> |
| <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> |
| <td>only allow native audio formats, this omits |
| configuration of audioconvert and audioresample. |
| </td> |
| </tr> |
| <tr> |
| <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> |
| <td>only allow native video formats, this omits |
| configuration of videoconvert and videoscale. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-PLAY-FLAG-DOWNLOAD:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_DOWNLOAD</code></span></p></td> |
| <td>enable progressice download buffering for selected |
| formats. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-PLAY-FLAG-BUFFERING:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_BUFFERING</code></span></p></td> |
| <td>enable buffering of the demuxed or parsed data. |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-PLAY-FLAG-DEINTERLACE:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_DEINTERLACE</code></span></p></td> |
| <td>deinterlace raw video (if native not forced). |
| </td> |
| </tr> |
| <tr> |
| <td><p><a name="GST-PLAY-FLAG-SOFT-COLORBALANCE:CAPS"></a><span class="term"><code class="literal">GST_PLAY_FLAG_SOFT_COLORBALANCE</code></span></p></td> |
| <td> |
| </td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-base-plugins-playbin.property-details"></a><h2>Property Details</h2> |
| <div class="refsect2"> |
| <a name="GstPlayBin--audio-sink"></a><h3>The <code class="literal">"audio-sink"</code> property</h3> |
| <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> |
| <p>the audio output element to use (NULL = default sink).</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--frame"></a><h3>The <code class="literal">"frame"</code> property</h3> |
| <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> |
| <p>The last frame (NULL = no video available).</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--subtitle-font-desc"></a><h3>The <code class="literal">"subtitle-font-desc"</code> property</h3> |
| <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> |
| <p>Pango font description of font to be used for subtitle rendering.</p> |
| <p>Default value: NULL</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--video-sink"></a><h3>The <code class="literal">"video-sink"</code> property</h3> |
| <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> |
| <p>the video output element to use (NULL = default sink).</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--vis-plugin"></a><h3>The <code class="literal">"vis-plugin"</code> property</h3> |
| <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> |
| <p>the visualization element to use (NULL = default).</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--volume"></a><h3>The <code class="literal">"volume"</code> property</h3> |
| <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> |
| <p> |
| Get or set the current audio stream volume. 1.0 means 100%, |
| 0.0 means mute. This uses a linear volume scale. |
| </p> |
| <p>Allowed values: [0,10]</p> |
| <p>Default value: 1</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--connection-speed"></a><h3>The <code class="literal">"connection-speed"</code> property</h3> |
| <pre class="programlisting"> "connection-speed" <span class="type">guint64</span> : Read / Write</pre> |
| <p>Network connection speed in kbps (0 = unknown).</p> |
| <p>Allowed values: <= 18446744073709551</p> |
| <p>Default value: 0</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--av-offset"></a><h3>The <code class="literal">"av-offset"</code> property</h3> |
| <pre class="programlisting"> "av-offset" <span class="type">gint64</span> : Read / Write</pre> |
| <p> |
| Control the synchronisation offset between the audio and video streams. |
| Positive values make the audio ahead of the video and negative values make |
| the audio go behind the video. |
| </p> |
| <p>Default value: 0</p> |
| <p class="since">Since 0.10.30</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--buffer-duration"></a><h3>The <code class="literal">"buffer-duration"</code> property</h3> |
| <pre class="programlisting"> "buffer-duration" <span class="type">gint64</span> : Read / Write</pre> |
| <p>Buffer duration when buffering network streams.</p> |
| <p>Allowed values: >= G_MAXULONG</p> |
| <p>Default value: -1</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--buffer-size"></a><h3>The <code class="literal">"buffer-size"</code> property</h3> |
| <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> |
| <p>Buffer size when buffering network streams.</p> |
| <p>Allowed values: >= G_MAXULONG</p> |
| <p>Default value: -1</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--current-audio"></a><h3>The <code class="literal">"current-audio"</code> property</h3> |
| <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> |
| <p> |
| Get or set the currently playing audio stream. By default the first audio |
| stream with data is played. |
| </p> |
| <p>Allowed values: >= G_MAXULONG</p> |
| <p>Default value: -1</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--current-text"></a><h3>The <code class="literal">"current-text"</code> property</h3> |
| <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> |
| <p> |
| Get or set the currently playing subtitle stream. By default the first |
| subtitle stream with data is played. |
| </p> |
| <p>Allowed values: >= G_MAXULONG</p> |
| <p>Default value: -1</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--current-video"></a><h3>The <code class="literal">"current-video"</code> property</h3> |
| <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> |
| <p> |
| Get or set the currently playing video stream. By default the first video |
| stream with data is played. |
| </p> |
| <p>Allowed values: >= G_MAXULONG</p> |
| <p>Default value: -1</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--flags"></a><h3>The <code class="literal">"flags"</code> property</h3> |
| <pre class="programlisting"> "flags" <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayFlags" title="enum GstPlayFlags"><span class="type">GstPlayFlags</span></a> : Read / Write</pre> |
| <p> |
| Control the behaviour of playbin. |
| </p> |
| <p>Default value: Render the video stream|Render the audio stream|Render subtitles|Use software volume|Deinterlace video if necessary|Use software color balance</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--mute"></a><h3>The <code class="literal">"mute"</code> property</h3> |
| <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> |
| <p>Mute the audio channel without changing the volume.</p> |
| <p>Default value: FALSE</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--n-audio"></a><h3>The <code class="literal">"n-audio"</code> property</h3> |
| <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> |
| <p> |
| Get the total number of available audio streams. |
| </p> |
| <p>Allowed values: >= 0</p> |
| <p>Default value: 0</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--n-text"></a><h3>The <code class="literal">"n-text"</code> property</h3> |
| <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> |
| <p> |
| Get the total number of available subtitle streams. |
| </p> |
| <p>Allowed values: >= 0</p> |
| <p>Default value: 0</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--n-video"></a><h3>The <code class="literal">"n-video"</code> property</h3> |
| <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> |
| <p> |
| Get the total number of available video streams. |
| </p> |
| <p>Allowed values: >= 0</p> |
| <p>Default value: 0</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--ring-buffer-max-size"></a><h3>The <code class="literal">"ring-buffer-max-size"</code> property</h3> |
| <pre class="programlisting"> "ring-buffer-max-size" <span class="type">guint64</span> : Read / Write</pre> |
| <p> |
| The maximum size of the ring buffer in bytes. If set to 0, the ring |
| buffer is disabled. Default 0. |
| </p> |
| <p>Allowed values: <= G_MAXUINT</p> |
| <p>Default value: 0</p> |
| <p class="since">Since 0.10.31</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--sample"></a><h3>The <code class="literal">"sample"</code> property</h3> |
| <pre class="programlisting"> "sample" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>* : Read</pre> |
| <p> |
| Get the currently rendered or prerolled sample in the video sink. |
| The <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> in the sample will describe the format of the buffer. |
| </p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--source"></a><h3>The <code class="literal">"source"</code> property</h3> |
| <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> |
| <p>Source element.</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--subtitle-encoding"></a><h3>The <code class="literal">"subtitle-encoding"</code> property</h3> |
| <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> |
| <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> |
| <p>Default value: NULL</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--suburi"></a><h3>The <code class="literal">"suburi"</code> property</h3> |
| <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> |
| <p> |
| Set the next subtitle URI that playbin will play. This property can be |
| set from the about-to-finish signal to queue the next subtitle media file. |
| </p> |
| <p>Default value: NULL</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--text-sink"></a><h3>The <code class="literal">"text-sink"</code> property</h3> |
| <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> |
| <p>the text output element to use (NULL = default subtitleoverlay).</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--uri"></a><h3>The <code class="literal">"uri"</code> property</h3> |
| <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> |
| <p> |
| Set the next URI that playbin will play. This property can be set from the |
| about-to-finish signal to queue the next media file. |
| </p> |
| <p>Default value: NULL</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--current-suburi"></a><h3>The <code class="literal">"current-suburi"</code> property</h3> |
| <pre class="programlisting"> "current-suburi" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre> |
| <p> |
| The currently playing subtitle uri. |
| </p> |
| <p>Default value: NULL</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--current-uri"></a><h3>The <code class="literal">"current-uri"</code> property</h3> |
| <pre class="programlisting"> "current-uri" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read</pre> |
| <p> |
| The currently playing uri. |
| </p> |
| <p>Default value: NULL</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin--force-aspect-ratio"></a><h3>The <code class="literal">"force-aspect-ratio"</code> property</h3> |
| <pre class="programlisting"> "force-aspect-ratio" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre> |
| <p>When enabled, scaling will respect original aspect ratio.</p> |
| <p>Default value: TRUE</p> |
| </div> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-base-plugins-playbin.signal-details"></a><h2>Signal Details</h2> |
| <div class="refsect2"> |
| <a name="GstPlayBin-about-to-finish"></a><h3>The <code class="literal">"about-to-finish"</code> signal</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <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> |
| <p> |
| This signal is emitted when the current uri is about to finish. You can |
| set the uri and suburi to make sure that playback continues. |
| </p> |
| <p> |
| This signal is emitted from the context of a GStreamer streaming thread. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-audio-changed"></a><h3>The <code class="literal">"audio-changed"</code> signal</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <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> |
| <p> |
| This signal is emitted whenever the number or order of the audio |
| streams has changed. The application will most likely want to select |
| a new audio stream. |
| </p> |
| <p> |
| This signal may be emitted from the context of a GStreamer streaming thread. |
| You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a> |
| to notify your application's main thread. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-audio-tags-changed"></a><h3>The <code class="literal">"audio-tags-changed"</code> signal</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream, |
| <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> |
| <p> |
| This signal is emitted whenever the tags of an audio stream have changed. |
| The application will most likely want to get the new tags. |
| </p> |
| <p> |
| This signal may be emitted from the context of a GStreamer streaming thread. |
| You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a> |
| to notify your application's main thread. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> |
| <td>stream index with changed tags</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| <p class="since">Since 0.10.24</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-convert-sample"></a><h3>The <code class="literal">"convert-sample"</code> signal</h3> |
| <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a>* user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps, |
| <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> |
| <p> |
| Action signal to retrieve the currently playing video frame in the format |
| specified by <em class="parameter"><code>caps</code></em>. |
| 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 |
| equivalent to the <span class="type">"frame"</span> property. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td> |
| <td>the target format of the frame</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <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>. |
| The caps on the buffer will describe the final layout of the buffer data. |
| <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 |
| conversion failed.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-get-audio-pad"></a><h3>The <code class="literal">"get-audio-pad"</code> signal</h3> |
| <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-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream, |
| <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> |
| <p> |
| Action signal to retrieve the stream-selector sinkpad for a specific |
| audio stream. |
| This pad can be used for notifications of caps changes, stream-specific |
| queries, etc. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> |
| <td>an audio stream number</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <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> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-get-audio-tags"></a><h3>The <code class="literal">"get-audio-tags"</code> signal</h3> |
| <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-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream, |
| <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> |
| <p> |
| Action signal to retrieve the tags of a specific audio stream number. |
| This information can be used to select a stream. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> |
| <td>an audio stream number</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a GstTagList with tags or NULL when the stream number does not |
| exist.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-get-text-pad"></a><h3>The <code class="literal">"get-text-pad"</code> signal</h3> |
| <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-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream, |
| <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> |
| <p> |
| Action signal to retrieve the stream-selector sinkpad for a specific |
| text stream. |
| This pad can be used for notifications of caps changes, stream-specific |
| queries, etc. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> |
| <td>a text stream number</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <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> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-get-text-tags"></a><h3>The <code class="literal">"get-text-tags"</code> signal</h3> |
| <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-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream, |
| <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> |
| <p> |
| Action signal to retrieve the tags of a specific text stream number. |
| This information can be used to select a stream. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> |
| <td>a text stream number</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a GstTagList with tags or NULL when the stream number does not |
| exist.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-get-video-pad"></a><h3>The <code class="literal">"get-video-pad"</code> signal</h3> |
| <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-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream, |
| <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> |
| <p> |
| Action signal to retrieve the stream-selector sinkpad for a specific |
| video stream. |
| This pad can be used for notifications of caps changes, stream-specific |
| queries, etc. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> |
| <td>a video stream number</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <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> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-get-video-tags"></a><h3>The <code class="literal">"get-video-tags"</code> signal</h3> |
| <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-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream, |
| <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> |
| <p> |
| Action signal to retrieve the tags of a specific video stream number. |
| This information can be used to select a stream. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> |
| <td>a video stream number</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> |
| <td>a GstTagList with tags or NULL when the stream number does not |
| exist.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-source-setup"></a><h3>The <code class="literal">"source-setup"</code> signal</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *source, |
| <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> |
| <p> |
| This signal is emitted after the source element has been created, so |
| it can be configured by setting additional properties (e.g. set a |
| proxy server for an http source, or set the device and read speed for |
| an audio cd source). This is functionally equivalent to connecting to |
| the notify::source signal, but more convenient. |
| </p> |
| <p> |
| This signal is usually emitted from the context of a GStreamer streaming |
| thread. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>source</code></em> :</span></p></td> |
| <td>source element</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| <p class="since">Since 0.10.33</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-text-changed"></a><h3>The <code class="literal">"text-changed"</code> signal</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <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> |
| <p> |
| This signal is emitted whenever the number or order of the text |
| streams has changed. The application will most likely want to select |
| a new text stream. |
| </p> |
| <p> |
| This signal may be emitted from the context of a GStreamer streaming thread. |
| You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a> |
| to notify your application's main thread. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-text-tags-changed"></a><h3>The <code class="literal">"text-tags-changed"</code> signal</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream, |
| <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> |
| <p> |
| This signal is emitted whenever the tags of a text stream have changed. |
| The application will most likely want to get the new tags. |
| </p> |
| <p> |
| This signal may be emitted from the context of a GStreamer streaming thread. |
| You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a> |
| to notify your application's main thread. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> |
| <td>stream index with changed tags</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| <p class="since">Since 0.10.24</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-video-changed"></a><h3>The <code class="literal">"video-changed"</code> signal</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <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> |
| <p> |
| This signal is emitted whenever the number or order of the video |
| streams has changed. The application will most likely want to select |
| a new video stream. |
| </p> |
| <p> |
| This signal is usually emitted from the context of a GStreamer streaming |
| thread. You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and |
| <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a> to notify your application's main thread. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstPlayBin-video-tags-changed"></a><h3>The <code class="literal">"video-tags-changed"</code> signal</h3> |
| <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> *playbin, |
| <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream, |
| <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> |
| <p> |
| This signal is emitted whenever the tags of a video stream have changed. |
| The application will most likely want to get the new tags. |
| </p> |
| <p> |
| This signal may be emitted from the context of a GStreamer streaming thread. |
| You can use <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#gst-message-new-application"><code class="function">gst_message_new_application()</code></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-post-message"><code class="function">gst_element_post_message()</code></a> |
| to notify your application's main thread. |
| </p> |
| <div class="variablelist"><table border="0"> |
| <col align="left" valign="top"> |
| <tbody> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>playbin</code></em> :</span></p></td> |
| <td>a <a class="link" href="gst-plugins-base-plugins-playbin.html#GstPlayBin"><span class="type">GstPlayBin</span></a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> |
| <td>stream index with changed tags</td> |
| </tr> |
| <tr> |
| <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> |
| <td>user data set when the signal handler was connected.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| <p class="since">Since 0.10.24</p> |
| </div> |
| </div> |
| </div> |
| <div class="footer"> |
| <hr> |
| Generated by GTK-Doc V1.18</div> |
| </body> |
| </html> |