blob: d2e9ac884f3a54f61f8bb3dd01330e37e5479879 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Doxygen-Generated Content</title>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.navigation {
display: none;
}
-->
</style>
</head>
<body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
<div class="navpath"><a class="el" href="namespaceandroid.html">android</a>::<a class="el" href="classandroid_1_1_audio_hardware_interface.html">AudioHardwareInterface</a>
</div>
</div>
<div class="contents">
<h1>android::AudioHardwareInterface Class Reference</h1><!-- doxytag: class="android::AudioHardwareInterface" --><a class="el" href="_audio_hardware_interface_8h.html">AudioHardwareInterface.h</a> defines the interface to the audio hardware abstraction layer.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="_audio_hardware_interface_8h-source.html">AudioHardwareInterface.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#b7e19e09fa6cbc07c127122fa9866c50">initCheck</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">check to see if the audio hardware interface has been initialized. <a href="#b7e19e09fa6cbc07c127122fa9866c50"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#61121d365bb4d182bdec2c1b12fb1178">standby</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">put the audio hardware into standby mode to conserve power. <a href="#61121d365bb4d182bdec2c1b12fb1178"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#7b7418072df1eeaacc89cd0c725755f6">setVoiceVolume</a> (float volume)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the audio volume of a voice call. <a href="#7b7418072df1eeaacc89cd0c725755f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#925092e556eb89f304bcebb09f90c9a3">setMasterVolume</a> (float volume)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set the audio volume for all audio activities other than voice call. <a href="#925092e556eb89f304bcebb09f90c9a3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#39b2690e19219425b8cff093ef83bfb1">setRouting</a> (int mode, uint32_t routes)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Audio routing methods. <a href="#39b2690e19219425b8cff093ef83bfb1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#1886de8fff2342ae628dbbbc0c45ba83">getRouting</a> (int mode, uint32_t *routes)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#aaf2a429c240f00b21836794849b430f">setMode</a> (int mode)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">setMode is called when the audio mode changes. <a href="#aaf2a429c240f00b21836794849b430f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#8466c76328a51b8a83da103032abba55">getMode</a> (int *mode)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#be35b7cb738531939a3ac9abc5514621">setMicMute</a> (bool state)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#15d3c33d7e3f965dc2588c537f05a133">getMicMute</a> (bool *state)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#a1b477901df48b3a27103a77e6bb39c8">setParameter</a> (const char *key, const char *value)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#19f68d873b2a6e4c00c017c580170395">getInputBufferSize</a> (uint32_t sampleRate, int format, int channelCount)=0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classandroid_1_1_audio_stream_out.html">AudioStreamOut</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#eda0986e145c8dd68d21cb79051f94f9">openOutputStream</a> (int format=0, int channelCount=0, uint32_t sampleRate=0, status_t *status=0)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method creates and opens the audio hardware output stream. <a href="#eda0986e145c8dd68d21cb79051f94f9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classandroid_1_1_audio_stream_in.html">AudioStreamIn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#efb777d192fcbcd65458fa4f2d976476">openInputStream</a> (int format, int channelCount, uint32_t sampleRate, status_t *status)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method creates and opens the audio hardware input stream. <a href="#efb777d192fcbcd65458fa4f2d976476"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#05f035af60e67a22251175b44a089f69">dumpState</a> (int fd, const Vector&lt; String16 &gt; &amp;args)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method dumps the state of the audio hardware. <a href="#05f035af60e67a22251175b44a089f69"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classandroid_1_1_audio_hardware_interface.html">AudioHardwareInterface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#aa5ae45e9ad969fefc494e103cf5068d">create</a> ()</td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#d82c3e4827f275abf28eb872e8751e1f">doRouting</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">doRouting actually initiates the routing. <a href="#d82c3e4827f275abf28eb872e8751e1f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classandroid_1_1_audio_hardware_interface.html#371f198a416cb726804e0f47e8763217">dump</a> (int fd, const Vector&lt; String16 &gt; &amp;args)=0</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="_audio_hardware_interface_8h.html">AudioHardwareInterface.h</a> defines the interface to the audio hardware abstraction layer.
<p>
The interface supports setting and getting parameters, selecting audio routing paths, and defining input and output streams.<p>
AudioFlinger initializes the audio hardware and immediately opens an output stream. You can set Audio routing to output to handset, speaker, Bluetooth, or a headset.<p>
The audio input stream is initialized when AudioFlinger is called to carry out a record operation.
<p>Definition at line <a class="el" href="_audio_hardware_interface_8h-source.html#l00144">144</a> of file <a class="el" href="_audio_hardware_interface_8h-source.html">AudioHardwareInterface.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="b7e19e09fa6cbc07c127122fa9866c50"></a><!-- doxytag: member="android::AudioHardwareInterface::initCheck" ref="b7e19e09fa6cbc07c127122fa9866c50" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::initCheck </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
check to see if the audio hardware interface has been initialized.
<p>
return status based on values defined in include/utils/Errors.h
</div>
</div><p>
<a class="anchor" name="61121d365bb4d182bdec2c1b12fb1178"></a><!-- doxytag: member="android::AudioHardwareInterface::standby" ref="61121d365bb4d182bdec2c1b12fb1178" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::standby </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
put the audio hardware into standby mode to conserve power.
<p>
Returns status based on include/utils/Errors.h
</div>
</div><p>
<a class="anchor" name="7b7418072df1eeaacc89cd0c725755f6"></a><!-- doxytag: member="android::AudioHardwareInterface::setVoiceVolume" ref="7b7418072df1eeaacc89cd0c725755f6" args="(float volume)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::setVoiceVolume </td>
<td>(</td>
<td class="paramtype">float&nbsp;</td>
<td class="paramname"> <em>volume</em> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set the audio volume of a voice call.
<p>
Range is between 0.0 and 1.0
</div>
</div><p>
<a class="anchor" name="925092e556eb89f304bcebb09f90c9a3"></a><!-- doxytag: member="android::AudioHardwareInterface::setMasterVolume" ref="925092e556eb89f304bcebb09f90c9a3" args="(float volume)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::setMasterVolume </td>
<td>(</td>
<td class="paramtype">float&nbsp;</td>
<td class="paramname"> <em>volume</em> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set the audio volume for all audio activities other than voice call.
<p>
Range between 0.0 and 1.0. If any value other than NO_ERROR is returned, the software mixer will emulate this capability.
</div>
</div><p>
<a class="anchor" name="39b2690e19219425b8cff093ef83bfb1"></a><!-- doxytag: member="android::AudioHardwareInterface::setRouting" ref="39b2690e19219425b8cff093ef83bfb1" args="(int mode, uint32_t routes)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::setRouting </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&nbsp;</td>
<td class="paramname"> <em>routes</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Audio routing methods.
<p>
Routes defined in include/hardware/AudioSystem.h. Audio routes can be (ROUTE_EARPIECE | ROUTE_SPEAKER | ROUTE_BLUETOOTH | ROUTE_HEADSET)<p>
setRouting sets the routes for a mode. This is called at startup. It is also called when a new device is connected, such as a wired headset is plugged in or a Bluetooth headset is paired.
</div>
</div><p>
<a class="anchor" name="1886de8fff2342ae628dbbbc0c45ba83"></a><!-- doxytag: member="android::AudioHardwareInterface::getRouting" ref="1886de8fff2342ae628dbbbc0c45ba83" args="(int mode, uint32_t *routes)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::getRouting </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&nbsp;</td>
<td class="paramname"> <em>routes</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="aaf2a429c240f00b21836794849b430f"></a><!-- doxytag: member="android::AudioHardwareInterface::setMode" ref="aaf2a429c240f00b21836794849b430f" args="(int mode)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::setMode </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>mode</em> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
setMode is called when the audio mode changes.
<p>
NORMAL mode is for standard audio playback, RINGTONE when a ringtone is playing, and IN_CALL when a call is in progress.
</div>
</div><p>
<a class="anchor" name="8466c76328a51b8a83da103032abba55"></a><!-- doxytag: member="android::AudioHardwareInterface::getMode" ref="8466c76328a51b8a83da103032abba55" args="(int *mode)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::getMode </td>
<td>(</td>
<td class="paramtype">int *&nbsp;</td>
<td class="paramname"> <em>mode</em> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="be35b7cb738531939a3ac9abc5514621"></a><!-- doxytag: member="android::AudioHardwareInterface::setMicMute" ref="be35b7cb738531939a3ac9abc5514621" args="(bool state)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::setMicMute </td>
<td>(</td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>state</em> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="15d3c33d7e3f965dc2588c537f05a133"></a><!-- doxytag: member="android::AudioHardwareInterface::getMicMute" ref="15d3c33d7e3f965dc2588c537f05a133" args="(bool *state)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::getMicMute </td>
<td>(</td>
<td class="paramtype">bool *&nbsp;</td>
<td class="paramname"> <em>state</em> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="a1b477901df48b3a27103a77e6bb39c8"></a><!-- doxytag: member="android::AudioHardwareInterface::setParameter" ref="a1b477901df48b3a27103a77e6bb39c8" args="(const char *key, const char *value)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::setParameter </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>value</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="19f68d873b2a6e4c00c017c580170395"></a><!-- doxytag: member="android::AudioHardwareInterface::getInputBufferSize" ref="19f68d873b2a6e4c00c017c580170395" args="(uint32_t sampleRate, int format, int channelCount)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual size_t android::AudioHardwareInterface::getInputBufferSize </td>
<td>(</td>
<td class="paramtype">uint32_t&nbsp;</td>
<td class="paramname"> <em>sampleRate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>channelCount</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="eda0986e145c8dd68d21cb79051f94f9"></a><!-- doxytag: member="android::AudioHardwareInterface::openOutputStream" ref="eda0986e145c8dd68d21cb79051f94f9" args="(int format=0, int channelCount=0, uint32_t sampleRate=0, status_t *status=0)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classandroid_1_1_audio_stream_out.html">AudioStreamOut</a>* android::AudioHardwareInterface::openOutputStream </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>format</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>channelCount</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&nbsp;</td>
<td class="paramname"> <em>sampleRate</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">status_t *&nbsp;</td>
<td class="paramname"> <em>status</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This method creates and opens the audio hardware output stream.
<p>
</div>
</div><p>
<a class="anchor" name="efb777d192fcbcd65458fa4f2d976476"></a><!-- doxytag: member="android::AudioHardwareInterface::openInputStream" ref="efb777d192fcbcd65458fa4f2d976476" args="(int format, int channelCount, uint32_t sampleRate, status_t *status)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classandroid_1_1_audio_stream_in.html">AudioStreamIn</a>* android::AudioHardwareInterface::openInputStream </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>channelCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&nbsp;</td>
<td class="paramname"> <em>sampleRate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">status_t *&nbsp;</td>
<td class="paramname"> <em>status</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This method creates and opens the audio hardware input stream.
<p>
</div>
</div><p>
<a class="anchor" name="05f035af60e67a22251175b44a089f69"></a><!-- doxytag: member="android::AudioHardwareInterface::dumpState" ref="05f035af60e67a22251175b44a089f69" args="(int fd, const Vector&lt; String16 &gt; &amp;args)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::dumpState </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>fd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Vector&lt; String16 &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>args</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This method dumps the state of the audio hardware.
<p>
</div>
</div><p>
<a class="anchor" name="aa5ae45e9ad969fefc494e103cf5068d"></a><!-- doxytag: member="android::AudioHardwareInterface::create" ref="aa5ae45e9ad969fefc494e103cf5068d" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classandroid_1_1_audio_hardware_interface.html">AudioHardwareInterface</a>* android::AudioHardwareInterface::create </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="d82c3e4827f275abf28eb872e8751e1f"></a><!-- doxytag: member="android::AudioHardwareInterface::doRouting" ref="d82c3e4827f275abf28eb872e8751e1f" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::doRouting </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [protected, pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
doRouting actually initiates the routing.
<p>
A call to setRouting or setMode may result in a routing change. The generic logic calls doRouting when required. If the device has any special requirements these methods can be overriden.
</div>
</div><p>
<a class="anchor" name="371f198a416cb726804e0f47e8763217"></a><!-- doxytag: member="android::AudioHardwareInterface::dump" ref="371f198a416cb726804e0f47e8763217" args="(int fd, const Vector&lt; String16 &gt; &amp;args)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual status_t android::AudioHardwareInterface::dump </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>fd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Vector&lt; String16 &gt; &amp;&nbsp;</td>
<td class="paramname"> <em>args</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [protected, pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_audio_hardware_interface_8h-source.html">AudioHardwareInterface.h</a></ul>
</div>
</body>
</html>