<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MixAudioConfigParams</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="index.html" title="MixAudio Reference Manual">
<link rel="up" href="ch01.html" title="Mix Audio API">
<link rel="prev" href="MixAudio-MixAudioConfigParamsWMA.html" title="MixAudioConfigParamsWMA">
<link rel="next" href="MixAudio-MixAudioInitParams.html" title="MixAudioInitParams">
<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="Mix Audio API">
<link rel="chapter" href="tree-hierarchy.html" title="Object Hierarchy">
<link rel="index" href="api-index-full.html" title="API Index">
</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="MixAudio-MixAudioConfigParamsWMA.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">MixAudio Reference Manual</th>
<td><a accesskey="n" href="MixAudio-MixAudioInitParams.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#MixAudio-MixAudioConfigParams.synopsis" class="shortcut">Top</a>
                 | 
                <a href="#MixAudio-MixAudioConfigParams.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" lang="en">
<a name="MixAudio-MixAudioConfigParams"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="MixAudio-MixAudioConfigParams.top_of_page"></a>MixAudioConfigParams</span></h2>
<p>MixAudioConfigParams — MixAudio configuration parameters object.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="MixAudio-MixAudioConfigParams.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">

#include &lt;mixacp.h&gt;

enum                <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPOpAlign" title="enum MixACPOpAlign">MixACPOpAlign</a>;
enum                <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPBPSType" title="enum MixACPBPSType">MixACPBPSType</a>;
enum                <a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode">MixDecodeMode</a>;
                    <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a>;
<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> * <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-new" title="mix_acp_new ()">mix_acp_new</a>                      (void);
<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> * <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-ref" title="mix_acp_ref ()">mix_acp_ref</a>                      (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *mix);
#define             <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-unref" title="mix_acp_unref()">mix_acp_unref</a>                       (obj)
#define             <a class="link" href="MixAudio-MixAudioConfigParams.html#MIX-ACP-DECODEMODE--CAPS" title="MIX_ACP_DECODEMODE()">MIX_ACP_DECODEMODE</a>                  (obj)
#define             <a class="link" href="MixAudio-MixAudioConfigParams.html#MIX-ACP-NUM-CHANNELS--CAPS" title="MIX_ACP_NUM_CHANNELS()">MIX_ACP_NUM_CHANNELS</a>                (obj)
#define             <a class="link" href="MixAudio-MixAudioConfigParams.html#MIX-ACP-BITRATE--CAPS" title="MIX_ACP_BITRATE()">MIX_ACP_BITRATE</a>                     (obj)
#define             <a class="link" href="MixAudio-MixAudioConfigParams.html#MIX-ACP-SAMPLE-FREQ--CAPS" title="MIX_ACP_SAMPLE_FREQ()">MIX_ACP_SAMPLE_FREQ</a>                 (obj)
<a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode">MixDecodeMode</a>       <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-get-decodemode" title="mix_acp_get_decodemode ()">mix_acp_get_decodemode</a>              (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);
MIX_RESULT          <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-decodemode" title="mix_acp_set_decodemode ()">mix_acp_set_decodemode</a>              (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         <a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode">MixDecodeMode</a> mode);
gchar *             <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-get-streamname" title="mix_acp_get_streamname ()">mix_acp_get_streamname</a>              (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);
MIX_RESULT          <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-streamname" title="mix_acp_set_streamname ()">mix_acp_set_streamname</a>              (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         const gchar *streamname);
MIX_RESULT          <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-audio-manager" title="mix_acp_set_audio_manager ()">mix_acp_set_audio_manager</a>           (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         <a class="link" href="MixAudio-mixaudiotypes.html#MixAudioManager" title="enum MixAudioManager">MixAudioManager</a> am);
<a class="link" href="MixAudio-mixaudiotypes.html#MixAudioManager" title="enum MixAudioManager">MixAudioManager</a>     <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-get-audio-manager" title="mix_acp_get_audio_manager ()">mix_acp_get_audio_manager</a>           (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);
gboolean            <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-is-streamname-valid" title="mix_acp_is_streamname_valid ()">mix_acp_is_streamname_valid</a>         (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);
<a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPBPSType" title="enum MixACPBPSType">MixACPBPSType</a>       <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-get-bps" title="mix_acp_get_bps ()">mix_acp_get_bps</a>                     (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);
MIX_RESULT          <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-bps" title="mix_acp_set_bps ()">mix_acp_set_bps</a>                     (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPBPSType" title="enum MixACPBPSType">MixACPBPSType</a> type);
<a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPOpAlign" title="enum MixACPOpAlign">MixACPOpAlign</a>       <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-get-op-align" title="mix_acp_get_op_align ()">mix_acp_get_op_align</a>                (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);
MIX_RESULT          <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-op-align" title="mix_acp_set_op_align ()">mix_acp_set_op_align</a>                (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPOpAlign" title="enum MixACPOpAlign">MixACPOpAlign</a> op_align);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="MixAudio-MixAudioConfigParams.description"></a><h2>Description</h2>
<p>
<a class="link" href="MixAudio.html" title="MixAudio"><span class="type">MixAudio</span></a> configuration parameters object which is used to communicate audio specific parameters.
</p>
<p>
This object is should not be instantiated as codec specific parameters are definied in individual derive classes.</p>
</div>
<div class="refsect1" lang="en">
<a name="MixAudio-MixAudioConfigParams.details"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="MixACPOpAlign"></a><h3>enum MixACPOpAlign</h3>
<pre class="programlisting">typedef enum {
  MIX_ACP_OUTPUT_ALIGN_UNKNOWN=-1,
  MIX_ACP_OUTPUT_ALIGN_16=0,
  MIX_ACP_OUTPUT_ALIGN_MSB,
  MIX_ACP_OUTPUT_ALIGN_LSB,
  MIX_ACP_OUTPUT_ALIGN_LAST
} MixACPOpAlign;
</pre>
<p>
Audio Output alignment.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="MIX-ACP-OUTPUT-ALIGN-UNKNOWN--CAPS"></a><span class="term"><code class="literal">MIX_ACP_OUTPUT_ALIGN_UNKNOWN</code></span></p></td>
<td> Output alignment undefined.
</td>
</tr>
<tr>
<td><p><a name="MIX-ACP-OUTPUT-ALIGN-16--CAPS"></a><span class="term"><code class="literal">MIX_ACP_OUTPUT_ALIGN_16</code></span></p></td>
<td></td>
</tr>
<tr>
<td><p><a name="MIX-ACP-OUTPUT-ALIGN-MSB--CAPS"></a><span class="term"><code class="literal">MIX_ACP_OUTPUT_ALIGN_MSB</code></span></p></td>
<td> Output word is MSB aligned
</td>
</tr>
<tr>
<td><p><a name="MIX-ACP-OUTPUT-ALIGN-LSB--CAPS"></a><span class="term"><code class="literal">MIX_ACP_OUTPUT_ALIGN_LSB</code></span></p></td>
<td> Output word is LSB aligned
</td>
</tr>
<tr>
<td><p><a name="MIX-ACP-OUTPUT-ALIGN-LAST--CAPS"></a><span class="term"><code class="literal">MIX_ACP_OUTPUT_ALIGN_LAST</code></span></p></td>
<td> Last entry in list.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="MixACPBPSType"></a><h3>enum MixACPBPSType</h3>
<pre class="programlisting">typedef enum {
  MIX_ACP_BPS_UNKNOWN=0,
  MIX_ACP_BPS_16=16,
  MIX_ACP_BPS_24=24,
} MixACPBPSType;
</pre>
<p>
Audio Output Size in bits per sample.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="MIX-ACP-BPS-UNKNOWN--CAPS"></a><span class="term"><code class="literal">MIX_ACP_BPS_UNKNOWN</code></span></p></td>
<td> Bit Per Sample undefined.
</td>
</tr>
<tr>
<td><p><a name="MIX-ACP-BPS-16--CAPS"></a><span class="term"><code class="literal">MIX_ACP_BPS_16</code></span></p></td>
<td> Output bits per sample is 16 bits 
</td>
</tr>
<tr>
<td><p><a name="MIX-ACP-BPS-24--CAPS"></a><span class="term"><code class="literal">MIX_ACP_BPS_24</code></span></p></td>
<td> Output bits per sample is 24 bits 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="MixDecodeMode"></a><h3>enum MixDecodeMode</h3>
<pre class="programlisting">typedef enum {
  MIX_DECODE_NULL=0,
  MIX_DECODE_DIRECTRENDER,
  MIX_DECODE_DECODERETURN,
  MIX_DECODE_LAST
} MixDecodeMode;
</pre>
<p>
Operation Mode for a MI-X session. See <a class="link" href="MixAudio.html#mix-audio-configure" title="mix_audio_configure ()"><code class="function">mix_audio_configure()</code></a>.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="MIX-DECODE-NULL--CAPS"></a><span class="term"><code class="literal">MIX_DECODE_NULL</code></span></p></td>
<td> Undefined decode mode.
</td>
</tr>
<tr>
<td><p><a name="MIX-DECODE-DIRECTRENDER--CAPS"></a><span class="term"><code class="literal">MIX_DECODE_DIRECTRENDER</code></span></p></td>
<td> Stream is configured in Direct Render mode
</td>
</tr>
<tr>
<td><p><a name="MIX-DECODE-DECODERETURN--CAPS"></a><span class="term"><code class="literal">MIX_DECODE_DECODERETURN</code></span></p></td>
<td> Stream is configured in Decode Return mode
</td>
</tr>
<tr>
<td><p><a name="MIX-DECODE-LAST--CAPS"></a><span class="term"><code class="literal">MIX_DECODE_LAST</code></span></p></td>
<td> Last index in the enumeration.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="MixAudioConfigParams"></a><h3>MixAudioConfigParams</h3>
<pre class="programlisting">typedef struct {
  MixParams parent;

  /* Audio Session Parameters */
  MixDecodeMode decode_mode;
  gchar *stream_name;
  MixAudioManager audio_manager;

  /* Audio Format Parameters */
  gint num_channels;
  gint bit_rate;
  gint sample_freq;
  MixACPBPSType bits_per_sample;
  MixACPOpAlign op_align;
} MixAudioConfigParams;
</pre>
<p>
<em class="parameter"><code>MixAudio</code></em> configuration parameters object.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">MixParams <em class="structfield"><code>parent</code></em>;</span></p></td>
<td> parent.
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode">MixDecodeMode</a> <em class="structfield"><code>decode_mode</code></em>;</span></p></td>
<td> Decode Mode to use for current session. See <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-decodemode" title="mix_acp_set_decodemode ()"><span class="type">mix_acp_set_decodemode</span></a>
</td>
</tr>
<tr>
<td><p><span class="term">gchar *<em class="structfield"><code>stream_name</code></em>;</span></p></td>
<td> Stream name. See <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-streamname" title="mix_acp_set_streamname ()"><span class="type">mix_acp_set_streamname</span></a>. This object will release the string upon destruction.
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="MixAudio-mixaudiotypes.html#MixAudioManager" title="enum MixAudioManager">MixAudioManager</a> <em class="structfield"><code>audio_manager</code></em>;</span></p></td>
<td> Type of Audio Manager. See <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-audio-manager" title="mix_acp_set_audio_manager ()"><span class="type">mix_acp_set_audio_manager</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term">gint <em class="structfield"><code>num_channels</code></em>;</span></p></td>
<td> Number of output channels. See <a class="link" href="MixAudio-MixAudioConfigParams.html#MIX-ACP-NUM-CHANNELS--CAPS" title="MIX_ACP_NUM_CHANNELS()"><span class="type">MIX_ACP_NUM_CHANNELS</span></a>
</td>
</tr>
<tr>
<td><p><span class="term">gint <em class="structfield"><code>bit_rate</code></em>;</span></p></td>
<td> <span class="emphasis"><em>Optional.</em></span> See <a class="link" href="MixAudio-MixAudioConfigParams.html#MIX-ACP-BITRATE--CAPS" title="MIX_ACP_BITRATE()"><span class="type">MIX_ACP_BITRATE</span></a>
</td>
</tr>
<tr>
<td><p><span class="term">gint <em class="structfield"><code>sample_freq</code></em>;</span></p></td>
<td> Output frequency. See <a class="link" href="MixAudio-MixAudioConfigParams.html#MIX-ACP-SAMPLE-FREQ--CAPS" title="MIX_ACP_SAMPLE_FREQ()"><span class="type">MIX_ACP_SAMPLE_FREQ</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPBPSType" title="enum MixACPBPSType">MixACPBPSType</a> <em class="structfield"><code>bits_per_sample</code></em>;</span></p></td>
<td> Number of output bit per sample. See <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-bps" title="mix_acp_set_bps ()"><span class="type">mix_acp_set_bps</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPOpAlign" title="enum MixACPOpAlign">MixACPOpAlign</a> <em class="structfield"><code>op_align</code></em>;</span></p></td>
<td> Output Byte Alignment. See <a class="link" href="MixAudio-MixAudioConfigParams.html#mix-acp-set-op-align" title="mix_acp_set_op_align ()"><span class="type">mix_acp_set_op_align</span></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-new"></a><h3>mix_acp_new ()</h3>
<pre class="programlisting"><a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> * mix_acp_new                      (void);</pre>
<p>
Use this method to create new instance of <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a></p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> A newly allocated instance of <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-ref"></a><h3>mix_acp_ref ()</h3>
<pre class="programlisting"><a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> * mix_acp_ref                      (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *mix);</pre>
<p>
Add reference count.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>mix</code></em> :</span></p></td>
<td> object to add reference
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> the MixAudioConfigParams instance where reference count has been increased.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-unref"></a><h3>mix_acp_unref()</h3>
<pre class="programlisting">#define mix_acp_unref(obj) mix_params_unref(MIX_PARAMS(obj))
</pre>
<p>
Decrement reference count of the object.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> object to unref.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="MIX-ACP-DECODEMODE--CAPS"></a><h3>MIX_ACP_DECODEMODE()</h3>
<pre class="programlisting">#define MIX_ACP_DECODEMODE(obj) (MIX_AUDIOCONFIGPARAMS(obj)-&gt;decode_mode)
</pre>
<p>
MixAudioConfigParam.decode_mode accessor.
</p>
<p>
Configure the decode mode to one of <a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode"><span class="type">MixDecodeMode</span></a> value.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a> object
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="MIX-ACP-NUM-CHANNELS--CAPS"></a><h3>MIX_ACP_NUM_CHANNELS()</h3>
<pre class="programlisting">#define MIX_ACP_NUM_CHANNELS(obj) (MIX_AUDIOCONFIGPARAMS(obj)-&gt;num_channels)
</pre>
<p>
MixAudioConfigParam.num_channels accessor.
</p>
<p>
Configure the number of output channels. This value need to be exact the same as the supported output channel in the audio since down-mixing is not supported.
</p>
<p>
This value can be used during <a class="link" href="MixAudio-MixAudioConfigParams.html#MIX-DECODE-DECODERETURN--CAPS"><span class="type">MIX_DECODE_DECODERETURN</span></a> mode for buffer size/duration calculation.
</p>
<p>
In Moorestown, number of channel must be 1 or 2.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a> object
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="MIX-ACP-BITRATE--CAPS"></a><h3>MIX_ACP_BITRATE()</h3>
<pre class="programlisting">#define MIX_ACP_BITRATE(obj) (MIX_AUDIOCONFIGPARAMS(obj)-&gt;bit_rate)
</pre>
<p>
MixAudioConfigParam.bit_rate accessor.
</p>
<p>
Bit rate of the current audio.
</p>
<p>
<em><span class="remark">Optional</span></em></p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a> object
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="MIX-ACP-SAMPLE-FREQ--CAPS"></a><h3>MIX_ACP_SAMPLE_FREQ()</h3>
<pre class="programlisting">#define MIX_ACP_SAMPLE_FREQ(obj) (MIX_AUDIOCONFIGPARAMS(obj)-&gt;sample_freq)
</pre>
<p>
MixAudioConfigParam.sample_freq accessor.
</p>
<p>
Output sampling frequency.
</p>
<p>
This value can be used during <a class="link" href="MixAudio-MixAudioConfigParams.html#MIX-DECODE-DECODERETURN--CAPS"><span class="type">MIX_DECODE_DECODERETURN</span></a> mode for buffer size/duration calculation.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a> object
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-get-decodemode"></a><h3>mix_acp_get_decodemode ()</h3>
<pre class="programlisting"><a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode">MixDecodeMode</a>       mix_acp_get_decodemode              (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);</pre>
<p>
Retrieve currently configured <a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode"><span class="type">MixDecodeMode</span></a>.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode"><span class="type">MixDecodeMode</span></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-set-decodemode"></a><h3>mix_acp_set_decodemode ()</h3>
<pre class="programlisting">MIX_RESULT          mix_acp_set_decodemode              (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         <a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode">MixDecodeMode</a> mode);</pre>
<p>
Configure session for one of the <a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode"><span class="type">MixDecodeMode</span></a>.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixDecodeMode" title="enum MixDecodeMode"><span class="type">MixDecodeMode</span></a> to set
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> <span class="type">MIX_RESULT</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-get-streamname"></a><h3>mix_acp_get_streamname ()</h3>
<pre class="programlisting">gchar *             mix_acp_get_streamname              (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);</pre>
<p>
Return copy of streamname. caller must free with <code class="function">g_free()</code></p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> pointer to a copy of the stream name. NULL if name is not available.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-set-streamname"></a><h3>mix_acp_set_streamname ()</h3>
<pre class="programlisting">MIX_RESULT          mix_acp_set_streamname              (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         const gchar *streamname);</pre>
<p>
Set the stream name. The object will make a copy of the input stream name string.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>streamname</code></em> :</span></p></td>
<td> Stream name to set
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> <span class="type">MIX_RESULT</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-set-audio-manager"></a><h3>mix_acp_set_audio_manager ()</h3>
<pre class="programlisting">MIX_RESULT          mix_acp_set_audio_manager           (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         <a class="link" href="MixAudio-mixaudiotypes.html#MixAudioManager" title="enum MixAudioManager">MixAudioManager</a> am);</pre>
<p>
Set the Audio Manager to one of the <a class="link" href="MixAudio-mixaudiotypes.html#MixAudioManager" title="enum MixAudioManager"><span class="type">MixAudioManager</span></a>.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>am</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-mixaudiotypes.html#MixAudioManager" title="enum MixAudioManager"><span class="type">MixAudioManager</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> <span class="type">MIX_RESULT</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-get-audio-manager"></a><h3>mix_acp_get_audio_manager ()</h3>
<pre class="programlisting"><a class="link" href="MixAudio-mixaudiotypes.html#MixAudioManager" title="enum MixAudioManager">MixAudioManager</a>     mix_acp_get_audio_manager           (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);</pre>
<p>
Retrieve name of currently configured audio manager.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-mixaudiotypes.html#MixAudioManager" title="enum MixAudioManager"><span class="type">MixAudioManager</span></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-is-streamname-valid"></a><h3>mix_acp_is_streamname_valid ()</h3>
<pre class="programlisting">gboolean            mix_acp_is_streamname_valid         (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);</pre>
<p>
Check if stream name is valid considering the current Decode Mode.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> boolean indicates if stream name is valid.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-get-bps"></a><h3>mix_acp_get_bps ()</h3>
<pre class="programlisting"><a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPBPSType" title="enum MixACPBPSType">MixACPBPSType</a>       mix_acp_get_bps                     (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);</pre>
<p>
Retrive currently configured bit-per-stream value.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPBPSType" title="enum MixACPBPSType"><span class="type">MixACPBPSType</span></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-set-bps"></a><h3>mix_acp_set_bps ()</h3>
<pre class="programlisting">MIX_RESULT          mix_acp_set_bps                     (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPBPSType" title="enum MixACPBPSType">MixACPBPSType</a> type);</pre>
<p>
Configure bit-per-stream of one of the supported <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPBPSType" title="enum MixACPBPSType"><span class="type">MixACPBPSType</span></a>.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPBPSType" title="enum MixACPBPSType"><span class="type">MixACPBPSType</span></a> to set
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> <span class="type">MIX_RESULT</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-get-op-align"></a><h3>mix_acp_get_op_align ()</h3>
<pre class="programlisting"><a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPOpAlign" title="enum MixACPOpAlign">MixACPOpAlign</a>       mix_acp_get_op_align                (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj);</pre>
<p>
Get Output Alignment.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a> object
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPOpAlign" title="enum MixACPOpAlign"><span class="type">MixACPOpAlign</span></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-acp-set-op-align"></a><h3>mix_acp_set_op_align ()</h3>
<pre class="programlisting">MIX_RESULT          mix_acp_set_op_align                (<a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams">MixAudioConfigParams</a> *obj,
                                                         <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPOpAlign" title="enum MixACPOpAlign">MixACPOpAlign</a> op_align);</pre>
<p>
Set Output Alignment to one of the <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPOpAlign" title="enum MixACPOpAlign"><span class="type">MixACPOpAlign</span></a> value.</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
<td> <a class="link" href="MixAudio-MixAudioConfigParams.html#MixAudioConfigParams" title="MixAudioConfigParams"><span class="type">MixAudioConfigParams</span></a> object
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>op_align</code></em> :</span></p></td>
<td> One of the supported <a class="link" href="MixAudio-MixAudioConfigParams.html#MixACPOpAlign" title="enum MixACPOpAlign"><span class="type">MixACPOpAlign</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>returns</code></em> :</span></p></td>
<td> MIX_RESULT
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.11</div>
</body>
</html>
