Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > c918544921e88c4bd8b7047de18a345b > files > 28

gstreamer0.10-plugins-bad-doc-0.10.14-5mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>input-selector</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 0.10 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-fpsdisplaysink.html" title="fpsdisplaysink">
<link rel="next" href="gst-plugins-bad-plugins-ivorbisdec.html" title="ivorbisdec">
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="chapter" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="chapter" href="ch03.html" title="gst-plugins-bad Classes">
</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-bad-plugins-fpsdisplaysink.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 Bad Plugins 0.10 Plugins Reference Manual</th>
<td><a accesskey="n" href="gst-plugins-bad-plugins-ivorbisdec.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-bad-plugins-input-selector.synopsis" class="shortcut">Top</a>
                 | 
                <a href="#gst-plugins-bad-plugins-input-selector.description" class="shortcut">Description</a>
                 | 
                <a href="#gst-plugins-bad-plugins-input-selector.object-hierarchy" class="shortcut">Object Hierarchy</a>
                 | 
                <a href="#gst-plugins-bad-plugins-input-selector.properties" class="shortcut">Properties</a>
                 | 
                <a href="#gst-plugins-bad-plugins-input-selector.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry" title="input-selector">
<a name="gst-plugins-bad-plugins-input-selector"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-input-selector.top_of_page"></a>input-selector</span></h2>
<p>input-selector — N-to-1 input stream selectoring</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="gst-plugins-bad-plugins-input-selector.synopsis"></a><h2>Synopsis</h2>
<a name="GstInputSelector"></a><pre class="synopsis">
                    <a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector-struct" title="GstInputSelector">GstInputSelector</a>;
</pre>
</div>
<div class="refsect1" title="Object Hierarchy">
<a name="gst-plugins-bad-plugins-input-selector.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a
href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"
>GObject</a>
   +----<a
href="/usr/share/gtk-doc/html/gstreamer-0.10/GstObject.html"
>GstObject</a>
         +----<a
href="/usr/share/gtk-doc/html/gstreamer-0.10/GstElement.html"
>GstElement</a>
               +----GstInputSelector
</pre>
</div>
<div class="refsect1" title="Properties">
<a name="gst-plugins-bad-plugins-input-selector.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector--active-pad" title='The "active-pad" property'>active-pad</a>"               <a
href="/usr/share/gtk-doc/html/gstreamer-0.10/GstPad.html"
>GstPad</a>*               : Read / Write
  "<a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector--n-pads" title='The "n-pads" property'>n-pads</a>"                   <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
>guint</a>                 : Read
  "<a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector--select-all" title='The "select-all" property'>select-all</a>"               <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
</pre>
</div>
<div class="refsect1" title="Signals">
<a name="gst-plugins-bad-plugins-input-selector.signals"></a><h2>Signals</h2>
<pre class="synopsis">
  "<a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector-block" title='The "block" signal'>block</a>"                                          : Run Last / Action
  "<a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector-switch" title='The "switch" signal'>switch</a>"                                         : Run Last
</pre>
</div>
<div class="refsect1" title="Description">
<a name="gst-plugins-bad-plugins-input-selector.description"></a><h2>Description</h2>
<p>
Direct one out of N input streams to the output pad.</p>
<div class="refsynopsisdiv" title="Synopsis">
<h2>Synopsis</h2>
<div class="refsect2" title="Element Information">
<a name="id478374"></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-bad-plugins-plugin-selector.html#plugin-selector">selector</a>
          </td>
</tr>
<tr>
<td><p><span class="term">author</span></p></td>
<td>Julien Moutte &lt;julien@moutte.net&gt;
    Ronald S. Bultje &lt;rbultje@ronald.bitfreak.net&gt;
    Jan Schmidt &lt;thaytan@mad.scientist.com&gt;
    Wim Taymans &lt;wim.taymans@gmail.com&gt;</td>
</tr>
<tr>
<td><p><span class="term">class</span></p></td>
<td>Generic</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="Element Pads">
<a name="id478438"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>src</td>
</tr>
<tr>
<td><p><span class="term">direction</span></p></td>
<td>source</td>
</tr>
<tr>
<td><p><span class="term">presence</span></p></td>
<td>always</td>
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
<td>ANY</td>
</tr>
</tbody>
</table></div>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>sink%d</td>
</tr>
<tr>
<td><p><span class="term">direction</span></p></td>
<td>sink</td>
</tr>
<tr>
<td><p><span class="term">presence</span></p></td>
<td>request</td>
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
<td>ANY</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<p>
</p>
</div>
<div class="refsect1" title="Details">
<a name="gst-plugins-bad-plugins-input-selector.details"></a><h2>Details</h2>
<div class="refsect2" title="GstInputSelector">
<a name="GstInputSelector-struct"></a><h3>GstInputSelector</h3>
<pre class="programlisting">typedef struct _GstInputSelector GstInputSelector;</pre>
<p>
</p>
</div>
</div>
<div class="refsect1" title="Property Details">
<a name="gst-plugins-bad-plugins-input-selector.property-details"></a><h2>Property Details</h2>
<div class="refsect2" title='The "active-pad" property'>
<a name="GstInputSelector--active-pad"></a><h3>The <code class="literal">"active-pad"</code> property</h3>
<pre class="programlisting">  "active-pad"               <a
href="/usr/share/gtk-doc/html/gstreamer-0.10/GstPad.html"
>GstPad</a>*               : Read / Write</pre>
<p>The currently active sink pad.</p>
</div>
<hr>
<div class="refsect2" title='The "n-pads" property'>
<a name="GstInputSelector--n-pads"></a><h3>The <code class="literal">"n-pads"</code> property</h3>
<pre class="programlisting">  "n-pads"                   <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
>guint</a>                 : Read</pre>
<p>The number of sink pads.</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2" title='The "select-all" property'>
<a name="GstInputSelector--select-all"></a><h3>The <code class="literal">"select-all"</code> property</h3>
<pre class="programlisting">  "select-all"               <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Forwards data from all input pads.</p>
<p>Default value: FALSE</p>
</div>
</div>
<div class="refsect1" title="Signal Details">
<a name="gst-plugins-bad-plugins-input-selector.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2" title='The "block" signal'>
<a name="GstInputSelector-block"></a><h3>The <code class="literal">"block"</code> signal</h3>
<pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"
>gint64</a>              user_function                      (<a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector">GstInputSelector</a> *inputselector,
                                                        <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
>gpointer</a>          user_data)          : Run Last / Action</pre>
<p>
Block all sink pads in preparation for a switch. Returns the stop time of
the current switch segment, as a running time, or 0 if there is no current
active pad or the current active pad never received data.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>inputselector</code></em> :</span></p></td>
<td> the <a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector"><span class="type">GstInputSelector</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" title='The "switch" signal'>
<a name="GstInputSelector-switch"></a><h3>The <code class="literal">"switch"</code> signal</h3>
<pre class="programlisting">void                user_function                      (<a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector">GstInputSelector</a> *inputselector,
                                                        <a
href="/usr/share/gtk-doc/html/gstreamer-0.10/GstPad.html"
>GstPad</a>           *pad,
                                                        <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"
>gint64</a>            stop_time,
                                                        <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint64"
>gint64</a>            start_time,
                                                        <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
>gpointer</a>          user_data)          : Run Last</pre>
<p>
Switch to a new feed. The segment opened by the previously active pad, if
any, will be closed, and a new segment opened before data flows again.
</p>
<p>
This signal must be emitted when the element has been blocked via the <a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector-block" title='The "block" signal'>block</a> signal.
</p>
<p>
If you have a stream with only one switch element, such as an audio-only
stream, a stream switch should be performed by first emitting the block
signal, and then emitting the switch signal with -1 for the stop and start
time values.
</p>
<p>
The intention of the <em class="parameter"><code>stop_time</code></em> and <em class="parameter"><code>start_time</code></em> arguments is to allow
multiple switch elements to switch and maintain stream synchronization.
When switching a stream with multiple feeds, you will need as many switch
elements as you have feeds. For example, a feed with audio and video will
have one switch element between the audio feeds and one for video.
</p>
<p>
A switch over multiple switch elements should be performed as follows:
First, emit the <a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector-block" title='The "block" signal'>block</a>
signal, collecting the returned values. The maximum running time returned
by block should then be used as the time at which to close the previous
segment.
</p>
<p>
Then, query the running times of the new audio and video pads that you will
switch to. Naturally, these pads are on separate switch elements. Take the
minimum running time for those streams and use it for the time at which to
open the new segment.
</p>
<p>
If <em class="parameter"><code>pad</code></em> is the same as the current active pad, the element will cancel any
previous block without adjusting segments.
</p>
<p>
</p>
<div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
the signal changed from accepting the pad name to the pad object.
</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>inputselector</code></em> :</span></p></td>
<td> the <a class="link" href="gst-plugins-bad-plugins-input-selector.html#GstInputSelector"><span class="type">GstInputSelector</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pad</code></em> :</span></p></td>
<td>            the pad to switch to
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>stop_time</code></em> :</span></p></td>
<td>      running time at which to close the previous segment, or -1
                 to use the running time of the previously active sink pad
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start_time</code></em> :</span></p></td>
<td>     running time at which to start the new segment, or -1 to
                 use the running time of the newly active sink pad
</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>Since 0.10.7</p>
</div>
</div>
<div class="refsect1" title="See Also">
<a name="gst-plugins-bad-plugins-input-selector.see-also"></a><h2>See Also</h2>
#GstOutputSelector
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.11</div>
</body>
</html>