• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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">|</span18                  <a href="#gst-plugins-good-plugins-pulsesink.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span19                  <a href="#gst-plugins-good-plugins-pulsesink.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span20                  <a href="#gst-plugins-good-plugins-pulsesink.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span21                  <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">&quot;props,media.title=test&quot;</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">&quot;props,media.role=music&quot;</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">&quot;stream-properties&quot;</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>