<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MixAudioInitParams</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-MixAudioConfigParams.html" title="MixAudioConfigParams">
<link rel="next" href="MixAudio.html" title="MixAudio">
<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-MixAudioConfigParams.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.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-MixAudioInitParams.synopsis" class="shortcut">Top</a>
                 | 
                <a href="#MixAudio-MixAudioInitParams.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" lang="en">
<a name="MixAudio-MixAudioInitParams"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="MixAudio-MixAudioInitParams.top_of_page"></a>MixAudioInitParams</span></h2>
<p>MixAudioInitParams — Initialization parameters object.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="MixAudio-MixAudioInitParams.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">

#include &lt;mixacp.h&gt;

                    <a class="link" href="MixAudio-MixAudioInitParams.html#MixAudioInitParams" title="MixAudioInitParams">MixAudioInitParams</a>;
<a class="link" href="MixAudio-MixAudioInitParams.html#MixAudioInitParams" title="MixAudioInitParams">MixAudioInitParams</a> * <a class="link" href="MixAudio-MixAudioInitParams.html#mix-aip-new" title="mix_aip_new ()">mix_aip_new</a>                        (void);
<a class="link" href="MixAudio-MixAudioInitParams.html#MixAudioInitParams" title="MixAudioInitParams">MixAudioInitParams</a> * <a class="link" href="MixAudio-MixAudioInitParams.html#mix-aip-ref" title="mix_aip_ref ()">mix_aip_ref</a>                        (<a class="link" href="MixAudio-MixAudioInitParams.html#MixAudioInitParams" title="MixAudioInitParams">MixAudioInitParams</a> *mix);
#define             <a class="link" href="MixAudio-MixAudioInitParams.html#mix-aip-unref" title="mix_aip_unref()">mix_aip_unref</a>                       (obj)
</pre>
</div>
<div class="refsect1" lang="en">
<a name="MixAudio-MixAudioInitParams.description"></a><h2>Description</h2>
<p>
A data object which stores initialization specific parameters.
</p>
<p>
Not Implemented in Moorestown.</p>
</div>
<div class="refsect1" lang="en">
<a name="MixAudio-MixAudioInitParams.details"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="MixAudioInitParams"></a><h3>MixAudioInitParams</h3>
<pre class="programlisting">typedef struct {
  MixParams parent;
} MixAudioInitParams;
</pre>
<p>
<em class="parameter"><code>MixAudio</code></em> initialization parameter 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></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-aip-new"></a><h3>mix_aip_new ()</h3>
<pre class="programlisting"><a class="link" href="MixAudio-MixAudioInitParams.html#MixAudioInitParams" title="MixAudioInitParams">MixAudioInitParams</a> * mix_aip_new                        (void);</pre>
<p>
Use this method to create new instance of <a class="link" href="MixAudio-MixAudioInitParams.html#MixAudioInitParams" title="MixAudioInitParams"><span class="type">MixAudioInitParams</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-MixAudioInitParams.html#MixAudioInitParams" title="MixAudioInitParams"><span class="type">MixAudioInitParams</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-aip-ref"></a><h3>mix_aip_ref ()</h3>
<pre class="programlisting"><a class="link" href="MixAudio-MixAudioInitParams.html#MixAudioInitParams" title="MixAudioInitParams">MixAudioInitParams</a> * mix_aip_ref                        (<a class="link" href="MixAudio-MixAudioInitParams.html#MixAudioInitParams" title="MixAudioInitParams">MixAudioInitParams</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 MixAudioInitParams instance where reference count has been increased.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="mix-aip-unref"></a><h3>mix_aip_unref()</h3>
<pre class="programlisting">#define mix_aip_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>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.11</div>
</body>
</html>
