tizen 2.0 init
[framework/multimedia/gst-plugins-base0.10.git] / docs / libs / html / gst-plugins-base-libs-gstmultichannel.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>gstmultichannel</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GStreamer Base Plugins 0.10 Library Reference Manual">
8 <link rel="up" href="gstreamer-audio.html" title="Audio Library">
9 <link rel="prev" href="gst-plugins-base-libs-gstbaseaudiosrc.html" title="gstbaseaudiosrc">
10 <link rel="next" href="gst-plugins-base-libs-gstringbuffer.html" title="gstringbuffer">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gst-plugins-base-libs-gstbaseaudiosrc.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="gstreamer-audio.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GStreamer Base Plugins 0.10 Library Reference Manual</th>
21 <td><a accesskey="n" href="gst-plugins-base-libs-gstringbuffer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-base-libs-gstmultichannel.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gst-plugins-base-libs-gstmultichannel.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="gst-plugins-base-libs-gstmultichannel"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstmultichannel.top_of_page"></a>gstmultichannel</span></h2>
34 <p>gstmultichannel — Support for multichannel audio elements</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="gst-plugins-base-libs-gstmultichannel.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">
41 #include &lt;gst/audio/multichannel.h&gt;
42
43 enum                <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition">GstAudioChannelPosition</a>;
44 <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="returnvalue">GstAudioChannelPosition</span></a> * <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#gst-audio-fixate-channel-positions" title="gst_audio_fixate_channel_positions ()">gst_audio_fixate_channel_positions</a>
45                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> *str</code></em>);
46 <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="returnvalue">GstAudioChannelPosition</span></a> * <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#gst-audio-get-channel-positions" title="gst_audio_get_channel_positions ()">gst_audio_get_channel_positions</a>
47                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> *str</code></em>);
48 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#gst-audio-set-caps-channel-positions-list" title="gst_audio_set_caps_channel_positions_list ()">gst_audio_set_caps_channel_positions_list</a>
49                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
50                                                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *pos</code></em>,
51                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_positions</code></em>);
52 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#gst-audio-set-channel-positions" title="gst_audio_set_channel_positions ()">gst_audio_set_channel_positions</a>     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> *str</code></em>,
53                                                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *pos</code></em>);
54 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#gst-audio-set-structure-channel-positions-list" title="gst_audio_set_structure_channel_positions_list ()">gst_audio_set_structure_channel_positions_list</a>
55                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> *str</code></em>,
56                                                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *pos</code></em>,
57                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_positions</code></em>);
58 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#gst-audio-check-channel-positions" title="gst_audio_check_channel_positions ()">gst_audio_check_channel_positions</a>   (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *pos</code></em>,
59                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> channels</code></em>);
60 </pre>
61 </div>
62 <div class="refsect1">
63 <a name="gst-plugins-base-libs-gstmultichannel.description"></a><h2>Description</h2>
64 <p>
65 This module contains some helper functions and a enum to work with
66 multichannel audio.
67 </p>
68 </div>
69 <div class="refsect1">
70 <a name="gst-plugins-base-libs-gstmultichannel.details"></a><h2>Details</h2>
71 <div class="refsect2">
72 <a name="GstAudioChannelPosition"></a><h3>enum GstAudioChannelPosition</h3>
73 <pre class="programlisting">typedef enum {
74   GST_AUDIO_CHANNEL_POSITION_INVALID = -1,
75
76   /* Main front speakers. Mono and left/right are mututally exclusive! */
77   GST_AUDIO_CHANNEL_POSITION_FRONT_MONO,
78   GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
79   GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
80
81   /* rear. Left/right and center are mututally exclusive! */
82   GST_AUDIO_CHANNEL_POSITION_REAR_CENTER,
83   GST_AUDIO_CHANNEL_POSITION_REAR_LEFT,
84   GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
85
86   /* subwoofer/low-frequency */
87   GST_AUDIO_CHANNEL_POSITION_LFE,
88
89   /* Center front speakers. Center and left/right_of_center cannot be
90    * used together! */
91   GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
92   GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER,
93   GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER,
94
95   /* sides */
96   GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT,
97   GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT,
98
99   /* for multi-channel input and output with more than 8 channels,
100    * incompatible with all other positions, either all positions
101    * are defined or all positions are undefined, but can't mix'n'match  */
102   GST_AUDIO_CHANNEL_POSITION_NONE,
103 } GstAudioChannelPosition;
104 </pre>
105 <p>
106 Audio channel positions.
107 </p>
108 <div class="variablelist"><table border="0">
109 <col align="left" valign="top">
110 <tbody>
111 <tr>
112 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-INVALID:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_INVALID</code></span></p></td>
113 <td>invalid position
114 </td>
115 </tr>
116 <tr>
117 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-MONO:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_FRONT_MONO</code></span></p></td>
118 <td>front mono
119 </td>
120 </tr>
121 <tr>
122 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-LEFT:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT</code></span></p></td>
123 <td>front left
124 </td>
125 </tr>
126 <tr>
127 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-RIGHT:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT</code></span></p></td>
128 <td>front right
129 </td>
130 </tr>
131 <tr>
132 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-REAR-CENTER:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_REAR_CENTER</code></span></p></td>
133 <td>rear center
134 </td>
135 </tr>
136 <tr>
137 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-REAR-LEFT:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_REAR_LEFT</code></span></p></td>
138 <td>rear left
139 </td>
140 </tr>
141 <tr>
142 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-REAR-RIGHT:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT</code></span></p></td>
143 <td>rear right
144 </td>
145 </tr>
146 <tr>
147 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-LFE:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_LFE</code></span></p></td>
148 <td>subwoofer
149 </td>
150 </tr>
151 <tr>
152 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-CENTER:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER</code></span></p></td>
153 <td>front center
154 </td>
155 </tr>
156 <tr>
157 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-LEFT-OF-CENTER:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER</code></span></p></td>
158 <td>front left of center
159 </td>
160 </tr>
161 <tr>
162 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-FRONT-RIGHT-OF-CENTER:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER</code></span></p></td>
163 <td>front right of center
164 </td>
165 </tr>
166 <tr>
167 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-SIDE-LEFT:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT</code></span></p></td>
168 <td>side left
169 </td>
170 </tr>
171 <tr>
172 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-SIDE-RIGHT:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT</code></span></p></td>
173 <td>side right
174 </td>
175 </tr>
176 <tr>
177 <td><p><a name="GST-AUDIO-CHANNEL-POSITION-NONE:CAPS"></a><span class="term"><code class="literal">GST_AUDIO_CHANNEL_POSITION_NONE</code></span></p></td>
178 <td>used for position-less channels, e.g.
179     from a sound card that records 1024 channels; mutually exclusive with
180     any other channel position
181 </td>
182 </tr>
183 </tbody>
184 </table></div>
185 </div>
186 <hr>
187 <div class="refsect2">
188 <a name="gst-audio-fixate-channel-positions"></a><h3>gst_audio_fixate_channel_positions ()</h3>
189 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="returnvalue">GstAudioChannelPosition</span></a> * gst_audio_fixate_channel_positions
190                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> *str</code></em>);</pre>
191 <p>
192 Custom fixate function. Elements that implement some sort of
193 channel conversion algorithm should use this function for
194 fixating on GstAudioChannelPosition properties. It will take
195 care of equal channel positioning (left/right). Caller <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>s
196 the return value. The input properties may be (and are supposed
197 to be) unfixed.
198 Note that this function is mostly a hack because we currently
199 have no way to add default fixation functions for new GTypes.
200 </p>
201 <div class="variablelist"><table border="0">
202 <col align="left" valign="top">
203 <tbody>
204 <tr>
205 <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
206 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> containing a (possibly unfixed)
207 "channel-positions" field.</td>
208 </tr>
209 <tr>
210 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
211 <td>fixed values that the caller could use as a fixed
212 set of <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> values.</td>
213 </tr>
214 </tbody>
215 </table></div>
216 </div>
217 <hr>
218 <div class="refsect2">
219 <a name="gst-audio-get-channel-positions"></a><h3>gst_audio_get_channel_positions ()</h3>
220 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="returnvalue">GstAudioChannelPosition</span></a> * gst_audio_get_channel_positions
221                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> *str</code></em>);</pre>
222 <p>
223 Retrieves a number of (fixed!) audio channel positions from
224 the provided <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> and returns it as a newly allocated
225 array. The caller should <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> this array. The caller
226 should also check that the members in this <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> are
227 indeed "fixed" before calling this function.
228 </p>
229 <div class="variablelist"><table border="0">
230 <col align="left" valign="top">
231 <tbody>
232 <tr>
233 <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
234 <td>A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> to retrieve channel positions from.</td>
235 </tr>
236 <tr>
237 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
238 <td>a newly allocated array containing the channel
239 positions as provided in the given <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>. Returns
240 NULL on error.</td>
241 </tr>
242 </tbody>
243 </table></div>
244 </div>
245 <hr>
246 <div class="refsect2">
247 <a name="gst-audio-set-caps-channel-positions-list"></a><h3>gst_audio_set_caps_channel_positions_list ()</h3>
248 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_set_caps_channel_positions_list
249                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>,
250                                                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *pos</code></em>,
251                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_positions</code></em>);</pre>
252 <p>
253 Sets a (possibly non-fixed) list of possible audio channel
254 positions (given in pos) on the given caps. Each of the
255 structures of the caps, after this function has been called,
256 will contain a "channel-positions" field with an array.
257 Each value in the array will contain each of the values given
258 in the pos array. Note that the size of the caps might be
259 increased by this, since each structure with a "channel-
260 positions" field needs to have a fixed "channels" field.
261 The input caps is not required to have this.
262 </p>
263 <div class="variablelist"><table border="0">
264 <col align="left" valign="top">
265 <tbody>
266 <tr>
267 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
268 <td>
269 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> to set the list of channel positions on.</td>
270 </tr>
271 <tr>
272 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
273 <td>the array containing one or more possible audio
274 channel positions that we should add in each value
275 of the array in the given structure.</td>
276 </tr>
277 <tr>
278 <td><p><span class="term"><em class="parameter"><code>num_positions</code></em> :</span></p></td>
279 <td>the number of values in pos.</td>
280 </tr>
281 </tbody>
282 </table></div>
283 </div>
284 <hr>
285 <div class="refsect2">
286 <a name="gst-audio-set-channel-positions"></a><h3>gst_audio_set_channel_positions ()</h3>
287 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_set_channel_positions     (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> *str</code></em>,
288                                                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *pos</code></em>);</pre>
289 <p>
290 Adds a "channel-positions" field to the given <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>,
291 which will represent the channel positions as given in the
292 provided <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> array.
293 </p>
294 <div class="variablelist"><table border="0">
295 <col align="left" valign="top">
296 <tbody>
297 <tr>
298 <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
299 <td>A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> to set channel positions on.</td>
300 </tr>
301 <tr>
302 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
303 <td>an array of channel positions. The number of members
304 in this array should be equal to the (fixed!) number
305 of the "channels" field in the given <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>.</td>
306 </tr>
307 </tbody>
308 </table></div>
309 </div>
310 <hr>
311 <div class="refsect2">
312 <a name="gst-audio-set-structure-channel-positions-list"></a><h3>gst_audio_set_structure_channel_positions_list ()</h3>
313 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_set_structure_channel_positions_list
314                                                         (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> *str</code></em>,
315                                                          <em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *pos</code></em>,
316                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num_positions</code></em>);</pre>
317 <p>
318 Sets a (possibly non-fixed) list of possible audio channel
319 positions (given in pos) on the given structure. The
320 structure, after this function has been called, will contain
321 a "channel-positions" field with an array of the size of
322 the "channels" field value in the given structure (note
323 that this means that the channels field in the provided
324 structure should be fixed!). Each value in the array will
325 contain each of the values given in the pos array.
326 </p>
327 <div class="variablelist"><table border="0">
328 <col align="left" valign="top">
329 <tbody>
330 <tr>
331 <td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
332 <td>
333 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a> to set the list of channel positions
334 on.</td>
335 </tr>
336 <tr>
337 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
338 <td>the array containing one or more possible audio
339 channel positions that we should add in each value
340 of the array in the given structure.</td>
341 </tr>
342 <tr>
343 <td><p><span class="term"><em class="parameter"><code>num_positions</code></em> :</span></p></td>
344 <td>the number of values in pos.</td>
345 </tr>
346 </tbody>
347 </table></div>
348 </div>
349 <hr>
350 <div class="refsect2">
351 <a name="gst-audio-check-channel-positions"></a><h3>gst_audio_check_channel_positions ()</h3>
352 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_audio_check_channel_positions   (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *pos</code></em>,
353                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> channels</code></em>);</pre>
354 <p>
355 This functions checks if the given channel positions are valid. Channel
356 positions are valid if:
357 </p>
358 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
359 <li class="listitem"><p>No channel positions appears twice or all positions are <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GST-AUDIO-CHANNEL-POSITION-NONE:CAPS"><code class="literal">GST_AUDIO_CHANNEL_POSITION_NONE</code></a>.
360   </p></li>
361 <li class="listitem"><p>Either all or none of the channel positions are <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GST-AUDIO-CHANNEL-POSITION-NONE:CAPS"><code class="literal">GST_AUDIO_CHANNEL_POSITION_NONE</code></a>.
362   </p></li>
363 <li class="listitem"><p><a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GST-AUDIO-CHANNEL-POSITION-FRONT-MONO:CAPS"><code class="literal">GST_AUDIO_CHANNEL_POSITION_FRONT_MONO</code></a> and <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GST-AUDIO-CHANNEL-POSITION-FRONT-LEFT:CAPS"><code class="literal">GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT</code></a> or <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GST-AUDIO-CHANNEL-POSITION-FRONT-RIGHT:CAPS"><code class="literal">GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT</code></a> don't appear together in the given positions.
364   </p></li>
365 </ul></div>
366 <p>
367 </p>
368 <div class="variablelist"><table border="0">
369 <col align="left" valign="top">
370 <tbody>
371 <tr>
372 <td><p><span class="term"><em class="parameter"><code>pos</code></em> :</span></p></td>
373 <td>An array of <a class="link" href="gst-plugins-base-libs-gstmultichannel.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a>.</td>
374 </tr>
375 <tr>
376 <td><p><span class="term"><em class="parameter"><code>channels</code></em> :</span></p></td>
377 <td>The number of elements in <em class="parameter"><code>pos</code></em>.</td>
378 </tr>
379 <tr>
380 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
381 <td>
382 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the given channel positions are valid
383 and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
384 </tr>
385 </tbody>
386 </table></div>
387 <p class="since">Since 0.10.20</p>
388 </div>
389 </div>
390 </div>
391 <div class="footer">
392 <hr>
393           Generated by GTK-Doc V1.18</div>
394 </body>
395 </html>