1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5<title>pulsesink: GStreamer Good Plugins 1.0 Plugins Reference Manual</title> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual"> 8<link rel="up" href="ch01.html" title="gst-plugins-good Elements"> 9<link rel="prev" href="gst-plugins-good-plugins-progressreport.html" title="progressreport"> 10<link rel="next" href="gst-plugins-good-plugins-pulsesrc.html" title="pulsesrc"> 11<meta name="generator" content="GTK-Doc V1.28 (XML mode)"> 12<link rel="stylesheet" href="style.css" type="text/css"> 13</head> 14<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 15<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> 16<td width="100%" align="left" class="shortcuts"> 17<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> 18 <a href="#gst-plugins-good-plugins-pulsesink.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 19 <a href="#gst-plugins-good-plugins-pulsesink.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span> 20 <a href="#gst-plugins-good-plugins-pulsesink.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties"> <span class="dim">|</span> 21 <a href="#gst-plugins-good-plugins-pulsesink.properties" class="shortcut">Properties</a></span> 22</td> 23<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> 24<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> 25<td><a accesskey="p" href="gst-plugins-good-plugins-progressreport.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> 26<td><a accesskey="n" href="gst-plugins-good-plugins-pulsesrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> 27</tr></table> 28<div class="refentry"> 29<a name="gst-plugins-good-plugins-pulsesink"></a><div class="titlepage"></div> 30<div class="refnamediv"><table width="100%"><tr> 31<td valign="top"> 32<h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-pulsesink.top_of_page"></a>pulsesink</span></h2> 33<p>pulsesink</p> 34</td> 35<td class="gallery_image" valign="top" align="right"></td> 36</tr></table></div> 37<div class="refsect1"> 38<a name="gst-plugins-good-plugins-pulsesink.properties"></a><h2>Properties</h2> 39<div class="informaltable"><table class="informaltable" border="0"> 40<colgroup> 41<col width="150px" class="properties_type"> 42<col width="300px" class="properties_name"> 43<col width="200px" class="properties_flags"> 44</colgroup> 45<tbody> 46<tr> 47<td class="property_type"> 48<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td> 49<td class="property_name"><a class="link" href="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--device" title="The “device” property">device</a></td> 50<td class="property_flags">Read / Write</td> 51</tr> 52<tr> 53<td class="property_type"> 54<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td> 55<td class="property_name"><a class="link" href="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--server" title="The “server” property">server</a></td> 56<td class="property_flags">Read / Write</td> 57</tr> 58<tr> 59<td class="property_type"> 60<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td> 61<td class="property_name"><a class="link" href="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--device-name" title="The “device-name” property">device-name</a></td> 62<td class="property_flags">Read</td> 63</tr> 64<tr> 65<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></td> 66<td class="property_name"><a class="link" href="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--volume" title="The “volume” property">volume</a></td> 67<td class="property_flags">Read / Write</td> 68</tr> 69<tr> 70<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> 71<td class="property_name"><a class="link" href="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--mute" title="The “mute” property">mute</a></td> 72<td class="property_flags">Read / Write</td> 73</tr> 74<tr> 75<td class="property_type"> 76<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *</td> 77<td class="property_name"><a class="link" href="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--stream-properties" title="The “stream-properties” property">stream-properties</a></td> 78<td class="property_flags">Read / Write</td> 79</tr> 80<tr> 81<td class="property_type"> 82<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td> 83<td class="property_name"><a class="link" href="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--client-name" title="The “client-name” property">client-name</a></td> 84<td class="property_flags">Read / Write</td> 85</tr> 86<tr> 87<td class="property_type"> 88<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td> 89<td class="property_name"><a class="link" href="gst-plugins-good-plugins-pulsesink.html#GstPulseSink--current-device" title="The “current-device” property">current-device</a></td> 90<td class="property_flags">Read</td> 91</tr> 92</tbody> 93</table></div> 94</div> 95<a name="GstPulseSink"></a><div class="refsect1"> 96<a name="gst-plugins-good-plugins-pulsesink.other"></a><h2>Types and Values</h2> 97<div class="informaltable"><table class="informaltable" width="100%" border="0"> 98<colgroup> 99<col width="150px" class="name"> 100<col class="description"> 101</colgroup> 102<tbody><tr> 103<td class="datatype_keyword">struct</td> 104<td class="function_name"><a class="link" href="gst-plugins-good-plugins-pulsesink.html#GstPulseSink-struct" title="struct GstPulseSink">GstPulseSink</a></td> 105</tr></tbody> 106</table></div> 107</div> 108<div class="refsect1"> 109<a name="gst-plugins-good-plugins-pulsesink.object-hierarchy"></a><h2>Object Hierarchy</h2> 110<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a> 111 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> 112 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a> 113 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a> 114 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstBaseSink.html#GstBaseSink-struct">GstBaseSink</a> 115 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0/GstAudioBaseSink.html#GstAudioBaseSink-struct">GstAudioBaseSink</a> 116 <span class="lineart">╰──</span> GstPulseSink 117</pre> 118</div> 119<div class="refsect1"> 120<a name="gst-plugins-good-plugins-pulsesink.implemented-interfaces"></a><h2>Implemented Interfaces</h2> 121<p> 122GstPulseSink implements 123 <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0/GstStreamVolume.html#GstStreamVolume-struct">GstStreamVolume</a>, GstImplementsInterface and GstPropertyProbe.</p> 124</div> 125<div class="refsect1"> 126<a name="gst-plugins-good-plugins-pulsesink.description"></a><h2>Description</h2> 127<p>This element outputs audio to a</p> 128<a class="ulink" href="" target="_top">PulseAudio sound server</a>. 129<div class="refsect2"> 130<a name="id-1.2.116.8.4"></a><h3>Example pipelines</h3> 131<div class="informalexample"> 132 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> 133 <tbody> 134 <tr> 135 <td class="listing_lines" align="right"><pre>1</pre></td> 136 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v filesrc location<span class="gtkdoc opt">=</span>sine<span class="gtkdoc opt">.</span>ogg <span class="gtkdoc opt">!</span> oggdemux <span class="gtkdoc opt">!</span> vorbisdec <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> pulsesink</pre></td> 137 </tr> 138 </tbody> 139 </table> 140</div> 141 Play an Ogg/Vorbis file. 142<div class="informalexample"> 143 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> 144 <tbody> 145 <tr> 146 <td class="listing_lines" align="right"><pre>1</pre></td> 147 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v audiotestsrc <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> volume volume<span class="gtkdoc opt">=</span><span class="number">0.4</span> <span class="gtkdoc opt">!</span> pulsesink</pre></td> 148 </tr> 149 </tbody> 150 </table> 151</div> 152 Play a 440Hz sine wave. 153<div class="informalexample"> 154 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> 155 <tbody> 156 <tr> 157 <td class="listing_lines" align="right"><pre>1</pre></td> 158 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v audiotestsrc <span class="gtkdoc opt">!</span> pulsesink stream<span class="gtkdoc opt">-</span>properties<span class="gtkdoc opt">=</span><span class="string">"props,media.title=test"</span></pre></td> 159 </tr> 160 </tbody> 161 </table> 162</div> 163 Play a sine wave and set a stream property. The property can be checked 164with "pactl list". 165</div> 166<div class="refsynopsisdiv"> 167<h2>Synopsis</h2> 168<div class="refsect2"> 169<a name="id-1.2.116.8.5.1"></a><h3>Element Information</h3> 170<div class="variablelist"><table border="0" class="variablelist"> 171<colgroup> 172<col align="left" valign="top"> 173<col> 174</colgroup> 175<tbody> 176<tr> 177<td><p><span class="term">plugin</span></p></td> 178<td> 179 <a class="link" href="gst-plugins-good-plugins-plugin-pulseaudio.html#plugin-pulseaudio">pulseaudio</a> 180 </td> 181</tr> 182<tr> 183<td><p><span class="term">author</span></p></td> 184<td>Lennart Poettering</td> 185</tr> 186<tr> 187<td><p><span class="term">class</span></p></td> 188<td>Sink/Audio</td> 189</tr> 190</tbody> 191</table></div> 192</div> 193<hr> 194<div class="refsect2"> 195<a name="id-1.2.116.8.5.2"></a><h3>Element Pads</h3> 196<div class="variablelist"><table border="0" class="variablelist"> 197<colgroup> 198<col align="left" valign="top"> 199<col> 200</colgroup> 201<tbody> 202<tr> 203<td><p><span class="term">name</span></p></td> 204<td>sink</td> 205</tr> 206<tr> 207<td><p><span class="term">direction</span></p></td> 208<td>sink</td> 209</tr> 210<tr> 211<td><p><span class="term">presence</span></p></td> 212<td>always</td> 213</tr> 214<tr> 215<td><p><span class="term">details</span></p></td> 216<td>audio/x-raw, format=(string){ S16LE, S16BE, F32LE, F32BE, S32LE, S32BE, S24LE, S24BE, S24_32LE, S24_32BE, U8 }, layout=(string)interleaved, rate=(int)[ 1, 384000 ], channels=(int)[ 1, 32 ]</td> 217</tr> 218<tr> 219<td><p><span class="term"></span></p></td> 220<td> audio/x-alaw, rate=(int)[ 1, 384000 ], channels=(int)[ 1, 32 ]</td> 221</tr> 222<tr> 223<td><p><span class="term"></span></p></td> 224<td> audio/x-mulaw, rate=(int)[ 1, 384000 ], channels=(int)[ 1, 32 ]</td> 225</tr> 226<tr> 227<td><p><span class="term"></span></p></td> 228<td> audio/x-ac3, framed=(boolean)true</td> 229</tr> 230<tr> 231<td><p><span class="term"></span></p></td> 232<td> audio/x-eac3, framed=(boolean)true</td> 233</tr> 234<tr> 235<td><p><span class="term"></span></p></td> 236<td> audio/x-dts, framed=(boolean)true, block-size=(int){ 512, 1024, 2048 }</td> 237</tr> 238<tr> 239<td><p><span class="term"></span></p></td> 240<td> audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)[ 1, 3 ], parsed=(boolean)true</td> 241</tr> 242<tr> 243<td><p><span class="term"></span></p></td> 244<td> audio/mpeg, mpegversion=(int){ 2, 4 }, framed=(boolean)true, stream-format=(string)adts</td> 245</tr> 246</tbody> 247</table></div> 248</div> 249</div> 250</div> 251<div class="refsect1"> 252<a name="gst-plugins-good-plugins-pulsesink.functions_details"></a><h2>Functions</h2> 253<p></p> 254</div> 255<div class="refsect1"> 256<a name="gst-plugins-good-plugins-pulsesink.other_details"></a><h2>Types and Values</h2> 257<div class="refsect2"> 258<a name="GstPulseSink-struct"></a><h3>struct GstPulseSink</h3> 259<pre class="programlisting">struct GstPulseSink;</pre> 260</div> 261</div> 262<div class="refsect1"> 263<a name="gst-plugins-good-plugins-pulsesink.property-details"></a><h2>Property Details</h2> 264<div class="refsect2"> 265<a name="GstPulseSink--device"></a><h3>The <code class="literal">“device”</code> property</h3> 266<pre class="programlisting"> “device” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> 267<p>The PulseAudio sink device to connect to.</p> 268<p>Flags: Read / Write</p> 269<p>Default value: NULL</p> 270</div> 271<hr> 272<div class="refsect2"> 273<a name="GstPulseSink--server"></a><h3>The <code class="literal">“server”</code> property</h3> 274<pre class="programlisting"> “server” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> 275<p>The PulseAudio server to connect to.</p> 276<p>Flags: Read / Write</p> 277<p>Default value: NULL</p> 278</div> 279<hr> 280<div class="refsect2"> 281<a name="GstPulseSink--device-name"></a><h3>The <code class="literal">“device-name”</code> property</h3> 282<pre class="programlisting"> “device-name” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> 283<p>Human-readable name of the sound device.</p> 284<p>Flags: Read</p> 285<p>Default value: NULL</p> 286</div> 287<hr> 288<div class="refsect2"> 289<a name="GstPulseSink--volume"></a><h3>The <code class="literal">“volume”</code> property</h3> 290<pre class="programlisting"> “volume” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre> 291<p>Linear volume of this stream, 1.0=100%.</p> 292<p>Flags: Read / Write</p> 293<p>Allowed values: [0,10]</p> 294<p>Default value: 1</p> 295</div> 296<hr> 297<div class="refsect2"> 298<a name="GstPulseSink--mute"></a><h3>The <code class="literal">“mute”</code> property</h3> 299<pre class="programlisting"> “mute” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> 300<p>Mute state of this stream.</p> 301<p>Flags: Read / Write</p> 302<p>Default value: FALSE</p> 303</div> 304<hr> 305<div class="refsect2"> 306<a name="GstPulseSink--stream-properties"></a><h3>The <code class="literal">“stream-properties”</code> property</h3> 307<pre class="programlisting"> “stream-properties” <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *</pre> 308<p>List of pulseaudio stream properties. A list of defined properties can be 309found in the <a class="ulink" href="http://0pointer.de/lennart/projects/pulseaudio/doxygen/proplist_8h.html" target="_top">pulseaudio api docs</a>.</p> 310<p>Below is an example for registering as a music application to pulseaudio.</p> 311<div class="informalexample"> 312 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> 313 <tbody> 314 <tr> 315 <td class="listing_lines" align="right"><pre>1 3162 3173 3184 3195</pre></td> 320 <td class="listing_code"><pre class="programlisting">GstStructure <span class="gtkdoc opt">*</span>props<span class="gtkdoc opt">;</span> 321 322props <span class="gtkdoc opt">=</span> <span class="function"><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstStructure.html#gst-structure-from-string">gst_structure_from_string</a></span> <span class="gtkdoc opt">(</span><span class="string">"props,media.role=music"</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> 323<span class="function"><a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-set">g_object_set</a></span> <span class="gtkdoc opt">(</span>pulse<span class="gtkdoc opt">,</span> <span class="string">"stream-properties"</span><span class="gtkdoc opt">,</span> props<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span> 324gst_structure_free</pre></td> 325 </tr> 326 </tbody> 327 </table> 328</div> 329 330<p></p> 331<p>Flags: Read / Write</p> 332</div> 333<hr> 334<div class="refsect2"> 335<a name="GstPulseSink--client-name"></a><h3>The <code class="literal">“client-name”</code> property</h3> 336<pre class="programlisting"> “client-name” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> 337<p>The PulseAudio client name to use.</p> 338<p>Flags: Read / Write</p> 339<p>Default value: "gst-plugins-good-plugins-scan"</p> 340</div> 341<hr> 342<div class="refsect2"> 343<a name="GstPulseSink--current-device"></a><h3>The <code class="literal">“current-device”</code> property</h3> 344<pre class="programlisting"> “current-device” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> 345<p>The current PulseAudio sink device.</p> 346<p>Flags: Read</p> 347<p>Default value: NULL</p> 348</div> 349</div> 350<div class="refsect1"> 351<a name="gst-plugins-good-plugins-pulsesink.see-also"></a><h2>See Also</h2> 352<p>pulsesrc</p> 353</div> 354</div> 355<div class="footer"> 356<hr>Generated by GTK-Doc V1.28</div> 357</body> 358</html>