Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 727fa15453fcace956b835e2377d4269 > files > 79

player-doc-3.0.2-5.fc14.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html>
<!-- $Id: header.html 8799 2010-06-28 04:12:42Z jpgr87 $ -->

<HEAD>


<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=utf-8">
<meta name="keywords" content="stage, robot, simulation, player, player/stage">
<link href="doxygen.css" rel="stylesheet" type="text/css">

<style type="text/css">

.floatright { float: right; margin: 0 0 1em 1em; }

body {
  font-family: sans-serif;
  #font-family: Geneva, Verdana, Helvetica, Arial, sans-serif;
  background-color: #FFF;
  color:#000;
}


a:link { 
	color: #A00;
}

a:visited { 
	color: #800;
}

a { text-decoration: none; }
a:hover { text-decoration: underline; }


.timestamp { text-align:right; background-color: #DDD; font-size:75%;}

h1 { 
  font-size:160%; 
}

h2 {
  font-size:110%;
  #color: #FFF;
  #background-color: #666;
  #padding:3px;
}

h3 { text-align:left; }

img {
  border: 0;
}

ul.menu { 
    position:relative;
    left:-2.5em;
    margin-bottom:0px;
    margin-top:0px;
}

ul.menu1 { 
    position:relative;
    left:-2.1em;
    margin-bottom:0px;
    margin-top:0px;
}

li.menu { 
    list-style-type: none;
    position:relative;
    #left:-0.5em;
}


#sidebar { position: absolute; left:0px; padding:2em; top:0em; width:12em;}

#content { position: absolute; left:12em; top:0em; padding-left:3em; padding-right:3em; padding-bottom:2em; margin-top:1em; margin-right:2em; }

div.box { background-color:#EEE; border: 1px solid #000; padding: 0.5ex 0.4em 0.5ex 0.6em; margin:1em;  }
div.title { font-weight:bold; background-color:#eee; margin-bottom:2px;}

div.topbar { position: absolute; top:0px; left:9em; margin:1em; }

</style>

<TITLE>Player Manual</TITLE>

</HEAD>

<body>

<div id="sidebar"> 

<h2 style="text-align:center;">
<a href="index.html">
<img width=140 src="http://playerstage.sourceforge.net/images/player_button_v3.png" alt="Player logo"><br></a>
</h2>



<div class="box">
<div class=title>Player</div>

<ul class=menu>
<li class=menu><a href="index.html">Frontpage</a>
<li class=menu><a href="modules.html">Contents</a>
</ul>
</div>

<div class="box">
<div class=title>User</div>

<ul class=menu>
<li class=menu><a href="install.html">Installation</a>
<li class=menu><a href="start.html">Quick start</a>
<li class=menu><a href="supported_hardware.html">Supported&nbsp;devices</a>
<li class=menu><a href="group__tutorials.html">Tutorials</a>
<li class=menu><a href="group__utils.html">Utilities</a>
<li class=menu><a href="group__clientlibs.html">Client&nbsp;libraries</a>
<li class=menu><a href="http://playerstage.sourceforge.net/wiki/Basic_FAQ">FAQ</a>
<li class=menu><a href="help.html">Help</a>

</ul>
</div>

<div class=box>
<div class="title">Developer</div>
<ul class=menu>
<li class=menu><a href="architecture.html">Architecture</a>
<li class=menu><a href="group__libplayercore.html">libplayercore</a>
<ul class=menu1>
<li class=menu><a href="group__interfaces.html">interfaces</a></li>
</ul>
<li class=menu><a href="group__libplayerdrivers.html">libplayerdrivers</a>
<ul class=menu1>
<li class=menu><a href="group__drivers.html">drivers</a></li>
</ul>
<li class=menu><a href="group__libplayercommon.html">libplayercommon</a>
<li class=menu><a href="group__libplayerutils.html">libplayerutils</a>
<li class=menu><a href="group__libplayersd.html">libplayersd</a>
<li class=menu><a href="group__libplayertcp.html">libplayertcp</a>
<li class=menu><a href="group__libplayerxdr.html">libplayerxdr</a>
<li class=menu><a href="todo.html">TODO</a>
</ul>
</div>

<div class=box>
<!-- <a href="http://sourceforge.net"><img border=0 src="http://sourceforge.net/sflogo.php?group_id=42445&type=1"></a> -->
<div class="title">Online</div>
<a href="http://playerstage.sourceforge.net">Homepage</a><br>
<a href="http://sourceforge.net/project/showfiles.php?group_id=42445">Download</a><br>
<a href="http://sourceforge.net/projects/playerstage">Project</a><br>
<a href="http://sourceforge.net/tracker/?group_id=42445">Bugs</a><br>
<a href="http://sourceforge.net/mail/?group_id=42445">Help</a>
</div>


</div>

<div id="content" >
<!-- Generated by Doxygen 1.7.1 -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<h1>Alsa Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Alsa" --><!-- doxytag: inherits="ThreadedDriver" --><div class="dynheader">
Inheritance diagram for Alsa:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classAlsa.png" usemap="#Alsa_map" alt=""/>
  <map id="Alsa_map" name="Alsa_map">
<area href="classThreadedDriver.html" alt="ThreadedDriver" shape="rect" coords="0,56,102,80"/>
<area href="classDriver.html" alt="Driver" shape="rect" coords="0,0,102,24"/>
</map>
</div>

<p><a href="classAlsa-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63af6bead20a56b093d8e44ccad9d4dd"></a><!-- doxytag: member="Alsa::Alsa" ref="a63af6bead20a56b093d8e44ccad9d4dd" args="(ConfigFile *cf, int section)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>Alsa</b> (<a class="el" href="classConfigFile.html">ConfigFile</a> *cf, int section)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAlsa.html#a7ed88e541c2471cc7bb1cebda8025e41">ProcessMessage</a> (<a class="el" href="classQueuePointer.html">QueuePointer</a> &amp;resp_queue, <a class="el" href="structplayer__msghdr.html">player_msghdr</a> *hdr, void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classMessage.html" title="Reference-counted message objects.">Message</a> handler.  <a href="#a7ed88e541c2471cc7bb1cebda8025e41"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAlsa.html#a46a695a8a788d0039c1465389a54d855">Main</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main method for driver thread.  <a href="#a46a695a8a788d0039c1465389a54d855"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a624c62d5369313834f0a1aaf0c20f9f1"></a><!-- doxytag: member="Alsa::MainSetup" ref="a624c62d5369313834f0a1aaf0c20f9f1" args="(void)" -->
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAlsa.html#a624c62d5369313834f0a1aaf0c20f9f1">MainSetup</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets up the resources needed by the driver thread. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAlsa.html#a7b553f911e3a72797a493eac04ed6201">MainQuit</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cleanup method for driver thread (called when main exits).  <a href="#a7b553f911e3a72797a493eac04ed6201"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59e5b4132dfead9f2e41384ccfd61e60"></a><!-- doxytag: member="Alsa::SendStateMessage" ref="a59e5b4132dfead9f2e41384ccfd61e60" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SendStateMessage</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f71c00855c430f28fb8f00d4dff4929"></a><!-- doxytag: member="Alsa::AddStoredSample" ref="a3f71c00855c430f28fb8f00d4dff4929" args="(StoredSample *newSample)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>AddStoredSample</b> (<a class="el" href="structStoredSample.html">StoredSample</a> *newSample)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a831f8f0099060ea37a79880cf974f730"></a><!-- doxytag: member="Alsa::AddStoredSample" ref="a831f8f0099060ea37a79880cf974f730" args="(player_audio_wav_t *waveData)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>AddStoredSample</b> (<a class="el" href="structplayer__audio__wav.html">player_audio_wav_t</a> *waveData)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a3b4290c213913f3d9f27aef1887bb8"></a><!-- doxytag: member="Alsa::AddStoredSample" ref="a6a3b4290c213913f3d9f27aef1887bb8" args="(const char *filePath)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>AddStoredSample</b> (const char *filePath)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7972137e406d9df8f0a767075a162c2"></a><!-- doxytag: member="Alsa::GetSampleAtIndex" ref="aa7972137e406d9df8f0a767075a162c2" args="(int index)" -->
<a class="el" href="structStoredSample.html">StoredSample</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetSampleAtIndex</b> (int index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58648f7a7d832f07289c9965bdba5cff"></a><!-- doxytag: member="Alsa::ClearQueue" ref="a58648f7a7d832f07289c9965bdba5cff" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>ClearQueue</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ce0723002721d1e73c669e72b399c95"></a><!-- doxytag: member="Alsa::AddToQueue" ref="a7ce0723002721d1e73c669e72b399c95" args="(QueueItem *newItem)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>AddToQueue</b> (<a class="el" href="structQueueItem.html">QueueItem</a> *newItem)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a401fedbede937de02ed7739284a6e61b"></a><!-- doxytag: member="Alsa::AddToQueue" ref="a401fedbede937de02ed7739284a6e61b" args="(player_audio_wav_t *waveData)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>AddToQueue</b> (<a class="el" href="structplayer__audio__wav.html">player_audio_wav_t</a> *waveData)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06069d35bd63ecd800efe1f129d3e592"></a><!-- doxytag: member="Alsa::AddToQueue" ref="a06069d35bd63ecd800efe1f129d3e592" args="(AudioSample *sample)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>AddToQueue</b> (<a class="el" href="classAudioSample.html">AudioSample</a> *sample)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4724542b66e48db9911f5d31fd6a169c"></a><!-- doxytag: member="Alsa::AddSilence" ref="a4724542b66e48db9911f5d31fd6a169c" args="(uint32_t time, AudioSample *format)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>AddSilence</b> (uint32_t time, <a class="el" href="classAudioSample.html">AudioSample</a> *format)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35a209bf1c692768ca4ad09c8196457b"></a><!-- doxytag: member="Alsa::AdvanceQueue" ref="a35a209bf1c692768ca4ad09c8196457b" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>AdvanceQueue</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a470ab3e16bb9ca5ca599aaeb8e614198"></a><!-- doxytag: member="Alsa::SetupPlayBack" ref="a470ab3e16bb9ca5ca599aaeb8e614198" args="(void)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetupPlayBack</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2eb2df14dd3819086684dbf9460f7e89"></a><!-- doxytag: member="Alsa::SetPBParams" ref="a2eb2df14dd3819086684dbf9460f7e89" args="(AudioSample *sample)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetPBParams</b> (<a class="el" href="classAudioSample.html">AudioSample</a> *sample)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01c239c2175d3d531493e41d30cab9d5"></a><!-- doxytag: member="Alsa::PlaybackCallback" ref="a01c239c2175d3d531493e41d30cab9d5" args="(int numFrames)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>PlaybackCallback</b> (int numFrames)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9eb07dcdee1c05cf1c35ef808a3ffb9"></a><!-- doxytag: member="Alsa::SetupRecord" ref="af9eb07dcdee1c05cf1c35ef808a3ffb9" args="(void)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetupRecord</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4de00d4eb89239ddf15f37c69120886c"></a><!-- doxytag: member="Alsa::SetRecParams" ref="a4de00d4eb89239ddf15f37c69120886c" args="(void)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetRecParams</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a7c049e1591d05c4ef503c051c62897"></a><!-- doxytag: member="Alsa::SetupRecordBuffer" ref="a4a7c049e1591d05c4ef503c051c62897" args="(uint32_t length)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetupRecordBuffer</b> (uint32_t length)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93986acaa8eac1626ffd7eabd0866ead"></a><!-- doxytag: member="Alsa::RecordCallback" ref="a93986acaa8eac1626ffd7eabd0866ead" args="(int numFrames)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>RecordCallback</b> (int numFrames)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fb6782fd0510f0049f07bcafc618d58"></a><!-- doxytag: member="Alsa::HandleRecordedData" ref="a5fb6782fd0510f0049f07bcafc618d58" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleRecordedData</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a892d2bb9940c2722494ceb4b0cb9f2bc"></a><!-- doxytag: member="Alsa::PublishRecordedData" ref="a892d2bb9940c2722494ceb4b0cb9f2bc" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>PublishRecordedData</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53613bba295dacd94b6a488c44fa06c1"></a><!-- doxytag: member="Alsa::StartPlayback" ref="a53613bba295dacd94b6a488c44fa06c1" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>StartPlayback</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7e9c2c774ef0727efc101c57864ea55"></a><!-- doxytag: member="Alsa::StopPlayback" ref="aa7e9c2c774ef0727efc101c57864ea55" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>StopPlayback</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f52941a706bd012489de350aa311dae"></a><!-- doxytag: member="Alsa::StartRecording" ref="a7f52941a706bd012489de350aa311dae" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>StartRecording</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45e70e9d57daa0fe887d49669772d8df"></a><!-- doxytag: member="Alsa::StopRecording" ref="a45e70e9d57daa0fe887d49669772d8df" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>StopRecording</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace990a73171538472a3ba36f59b543a8"></a><!-- doxytag: member="Alsa::SetupMixer" ref="ace990a73171538472a3ba36f59b543a8" args="(void)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetupMixer</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc42d3eb1622467ef1bf99d94a909a94"></a><!-- doxytag: member="Alsa::EnumMixerElements" ref="adc42d3eb1622467ef1bf99d94a909a94" args="(void)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>EnumMixerElements</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06a73d8e3e243e4741539df7c2fe77a3"></a><!-- doxytag: member="Alsa::EnumElementCaps" ref="a06a73d8e3e243e4741539df7c2fe77a3" args="(MixerElement *element)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>EnumElementCaps</b> (<a class="el" href="structMixerElement.html">MixerElement</a> *element)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae40db16105f6a1eedabed27deedea46"></a><!-- doxytag: member="Alsa::SplitElements" ref="aae40db16105f6a1eedabed27deedea46" args="(MixerElement *elements, uint32_t &amp;count)" -->
<a class="el" href="structMixerElement.html">MixerElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SplitElements</b> (<a class="el" href="structMixerElement.html">MixerElement</a> *elements, uint32_t &amp;count)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6412e3906906f7ea24aa28b8e9bb5b6a"></a><!-- doxytag: member="Alsa::FilterElements" ref="a6412e3906906f7ea24aa28b8e9bb5b6a" args="(MixerElement *elements, uint32_t &amp;count)" -->
<a class="el" href="structMixerElement.html">MixerElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>FilterElements</b> (<a class="el" href="structMixerElement.html">MixerElement</a> *elements, uint32_t &amp;count)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a360914add6d783d2b898e78c66d67199"></a><!-- doxytag: member="Alsa::CleanUpMixerElements" ref="a360914add6d783d2b898e78c66d67199" args="(MixerElement *elements, uint32_t count)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>CleanUpMixerElements</b> (<a class="el" href="structMixerElement.html">MixerElement</a> *elements, uint32_t count)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f84d293d505a8cb85d5d5e1e21b67d1"></a><!-- doxytag: member="Alsa::MixerDetailsToPlayer" ref="a8f84d293d505a8cb85d5d5e1e21b67d1" args="(player_audio_mixer_channel_list_detail_t *dest)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>MixerDetailsToPlayer</b> (<a class="el" href="structplayer__audio__mixer__channel__list__detail.html">player_audio_mixer_channel_list_detail_t</a> *dest)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e7dabce93f8e20a0c8f0bab08eb36bd"></a><!-- doxytag: member="Alsa::MixerLevelsToPlayer" ref="a5e7dabce93f8e20a0c8f0bab08eb36bd" args="(player_audio_mixer_channel_list_t *dest)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>MixerLevelsToPlayer</b> (<a class="el" href="structplayer__audio__mixer__channel__list.html">player_audio_mixer_channel_list_t</a> *dest)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78b312e82a89a0caf42adfab1ac90783"></a><!-- doxytag: member="Alsa::SetElementLevel" ref="a78b312e82a89a0caf42adfab1ac90783" args="(uint32_t index, float level)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetElementLevel</b> (uint32_t index, float level)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42e25c41cb7fff378e0c231b87356bc0"></a><!-- doxytag: member="Alsa::SetElementSwitch" ref="a42e25c41cb7fff378e0c231b87356bc0" args="(uint32_t index, player_bool_t active)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetElementSwitch</b> (uint32_t index, <a class="el" href="structplayer__bool.html">player_bool_t</a> active)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1636814bba70837ce61776e9b97574d"></a><!-- doxytag: member="Alsa::PublishMixerData" ref="af1636814bba70837ce61776e9b97574d" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>PublishMixerData</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab871aee5263e60a1d2086ae3c66f292b"></a><!-- doxytag: member="Alsa::LevelToPlayer" ref="ab871aee5263e60a1d2086ae3c66f292b" args="(long min, long max, long level)" -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><b>LevelToPlayer</b> (long min, long max, long level)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02627938917d0c3190659550983daec7"></a><!-- doxytag: member="Alsa::LevelFromPlayer" ref="a02627938917d0c3190659550983daec7" args="(long min, long max, float level)" -->
long&nbsp;</td><td class="memItemRight" valign="bottom"><b>LevelFromPlayer</b> (long min, long max, float level)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e645115ac41c03d92576fdb21ee26bc"></a><!-- doxytag: member="Alsa::PrintMixerElements" ref="a1e645115ac41c03d92576fdb21ee26bc" args="(MixerElement *elements, uint32_t count)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>PrintMixerElements</b> (<a class="el" href="structMixerElement.html">MixerElement</a> *elements, uint32_t count)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbbce73eaea34223e2cba50fe44ef8c5"></a><!-- doxytag: member="Alsa::HandleWavePlayCmd" ref="acbbce73eaea34223e2cba50fe44ef8c5" args="(player_audio_wav_t *waveData)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleWavePlayCmd</b> (<a class="el" href="structplayer__audio__wav.html">player_audio_wav_t</a> *waveData)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76ef164def09a98c75502fedf036f52b"></a><!-- doxytag: member="Alsa::HandleSamplePlayCmd" ref="a76ef164def09a98c75502fedf036f52b" args="(player_audio_sample_item_t *data)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleSamplePlayCmd</b> (<a class="el" href="structplayer__audio__sample__item.html">player_audio_sample_item_t</a> *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69803385503d84b52832a86b972a48b8"></a><!-- doxytag: member="Alsa::HandleRecordCmd" ref="a69803385503d84b52832a86b972a48b8" args="(player_bool_t *data)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleRecordCmd</b> (<a class="el" href="structplayer__bool.html">player_bool_t</a> *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5500f282ce74cadea29a5480254ce489"></a><!-- doxytag: member="Alsa::HandleMixerChannelCmd" ref="a5500f282ce74cadea29a5480254ce489" args="(player_audio_mixer_channel_list_t *data)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleMixerChannelCmd</b> (<a class="el" href="structplayer__audio__mixer__channel__list.html">player_audio_mixer_channel_list_t</a> *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a184eea3a171759e6206524ee598e0193"></a><!-- doxytag: member="Alsa::HandleSampleLoadReq" ref="a184eea3a171759e6206524ee598e0193" args="(player_audio_sample_t *data, QueuePointer &amp;resp_queue)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleSampleLoadReq</b> (<a class="el" href="structplayer__audio__sample.html">player_audio_sample_t</a> *data, <a class="el" href="classQueuePointer.html">QueuePointer</a> &amp;resp_queue)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae21184fd76c2df2d75da0f710352bb7b"></a><!-- doxytag: member="Alsa::HandleSampleRetrieveReq" ref="ae21184fd76c2df2d75da0f710352bb7b" args="(player_audio_sample_t *data, QueuePointer &amp;resp_queue)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleSampleRetrieveReq</b> (<a class="el" href="structplayer__audio__sample.html">player_audio_sample_t</a> *data, <a class="el" href="classQueuePointer.html">QueuePointer</a> &amp;resp_queue)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abccd1f9f7265b1c988520e8938828fb1"></a><!-- doxytag: member="Alsa::HandleSampleRecordReq" ref="abccd1f9f7265b1c988520e8938828fb1" args="(player_audio_sample_rec_req_t *data, QueuePointer &amp;resp_queue)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleSampleRecordReq</b> (<a class="el" href="structplayer__audio__sample__rec__req.html">player_audio_sample_rec_req_t</a> *data, <a class="el" href="classQueuePointer.html">QueuePointer</a> &amp;resp_queue)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1b683b45f11b007a8bbc87a369df4c0"></a><!-- doxytag: member="Alsa::HandleMixerChannelListReq" ref="ae1b683b45f11b007a8bbc87a369df4c0" args="(player_audio_mixer_channel_list_detail_t *data, QueuePointer &amp;resp_queue)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleMixerChannelListReq</b> (<a class="el" href="structplayer__audio__mixer__channel__list__detail.html">player_audio_mixer_channel_list_detail_t</a> *data, <a class="el" href="classQueuePointer.html">QueuePointer</a> &amp;resp_queue)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b767870e977367109d8039bbca1173f"></a><!-- doxytag: member="Alsa::HandleMixerChannelLevelReq" ref="a1b767870e977367109d8039bbca1173f" args="(player_audio_mixer_channel_list_t *data, QueuePointer &amp;resp_queue)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>HandleMixerChannelLevelReq</b> (<a class="el" href="structplayer__audio__mixer__channel__list.html">player_audio_mixer_channel_list_t</a> *data, <a class="el" href="classQueuePointer.html">QueuePointer</a> &amp;resp_queue)</td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a022ebbe8c2e629d0e85ba1267c751366"></a><!-- doxytag: member="Alsa::useQueue" ref="a022ebbe8c2e629d0e85ba1267c751366" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>useQueue</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64643301c238d8a750bef9505fb51807"></a><!-- doxytag: member="Alsa::debugLevel" ref="a64643301c238d8a750bef9505fb51807" args="" -->
uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>debugLevel</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9b652a684d46dc3ef6b1197f7fd67ea"></a><!-- doxytag: member="Alsa::mixerFilters" ref="ad9b652a684d46dc3ef6b1197f7fd67ea" args="" -->
char **&nbsp;</td><td class="memItemRight" valign="bottom"><b>mixerFilters</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f344f787e989f207d36b5f203a396c5"></a><!-- doxytag: member="Alsa::mixerFilterExact" ref="a4f344f787e989f207d36b5f203a396c5" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>mixerFilterExact</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00daf892a32c883d8a7e81e0512a11eb"></a><!-- doxytag: member="Alsa::pbDevice" ref="a00daf892a32c883d8a7e81e0512a11eb" args="" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pbDevice</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50d57864747b930a6bdc4fb5c1e29234"></a><!-- doxytag: member="Alsa::mixerDevice" ref="a50d57864747b930a6bdc4fb5c1e29234" args="" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>mixerDevice</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91fc87eb964efee4030bd4254b96f612"></a><!-- doxytag: member="Alsa::recDevice" ref="a91fc87eb964efee4030bd4254b96f612" args="" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>recDevice</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a027700652aba60fe7ad01448175375"></a><!-- doxytag: member="Alsa::cfgPBPeriodTime" ref="a3a027700652aba60fe7ad01448175375" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>cfgPBPeriodTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1f26c18e6e18026d365583457512b76"></a><!-- doxytag: member="Alsa::cfgPBBufferTime" ref="ac1f26c18e6e18026d365583457512b76" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>cfgPBBufferTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd7ae60c5eb3a896f15c79914988de2d"></a><!-- doxytag: member="Alsa::silenceTime" ref="acd7ae60c5eb3a896f15c79914988de2d" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>silenceTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61e03066113a9e0befb99fcbdb1619cc"></a><!-- doxytag: member="Alsa::cfgRecBufferTime" ref="a61e03066113a9e0befb99fcbdb1619cc" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>cfgRecBufferTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62ed359433558c98c651eda2697efe45"></a><!-- doxytag: member="Alsa::cfgRecStoreTime" ref="a62ed359433558c98c651eda2697efe45" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>cfgRecStoreTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66f04a7a377a6b2f0b63b674c501e714"></a><!-- doxytag: member="Alsa::cfgRecPeriodTime" ref="a66f04a7a377a6b2f0b63b674c501e714" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>cfgRecPeriodTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad76e50b687aebb7312caeb0c539e86cb"></a><!-- doxytag: member="Alsa::recNumChannels" ref="ad76e50b687aebb7312caeb0c539e86cb" args="" -->
uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>recNumChannels</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54c6d23c61da9f0fc798adc0280d6134"></a><!-- doxytag: member="Alsa::recSampleRate" ref="a54c6d23c61da9f0fc798adc0280d6134" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>recSampleRate</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65a0b4a225a72d88f90578fb028c933c"></a><!-- doxytag: member="Alsa::recBits" ref="a65a0b4a225a72d88f90578fb028c933c" args="" -->
uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>recBits</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd03e940846518cab1012b018c6436ba"></a><!-- doxytag: member="Alsa::pbHandle" ref="afd03e940846518cab1012b018c6436ba" args="" -->
snd_pcm_t *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pbHandle</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c7ed62ae54194d11a9d7376d8d3ff1f"></a><!-- doxytag: member="Alsa::numPBFDs" ref="a5c7ed62ae54194d11a9d7376d8d3ff1f" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>numPBFDs</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88319e1739c52b503c4d3b691c230aca"></a><!-- doxytag: member="Alsa::pbFDs" ref="a88319e1739c52b503c4d3b691c230aca" args="" -->
struct pollfd *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pbFDs</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2319c4849481c867ef14c7b949653de7"></a><!-- doxytag: member="Alsa::actPBBufferTime" ref="a2319c4849481c867ef14c7b949653de7" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>actPBBufferTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a420227cab9667b4f1907d863896a2fca"></a><!-- doxytag: member="Alsa::actPBPeriodTime" ref="a420227cab9667b4f1907d863896a2fca" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>actPBPeriodTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a546ce4d00aa8b167306104ca8af42a81"></a><!-- doxytag: member="Alsa::pbPeriodSize" ref="a546ce4d00aa8b167306104ca8af42a81" args="" -->
snd_pcm_uframes_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>pbPeriodSize</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7886554f87a883698160e2e4bae2efa1"></a><!-- doxytag: member="Alsa::periodBuffer" ref="a7886554f87a883698160e2e4bae2efa1" args="" -->
uint8_t *&nbsp;</td><td class="memItemRight" valign="bottom"><b>periodBuffer</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5f85a58e74ef814e9c8e4cabb81150f"></a><!-- doxytag: member="Alsa::recHandle" ref="ae5f85a58e74ef814e9c8e4cabb81150f" args="" -->
snd_pcm_t *&nbsp;</td><td class="memItemRight" valign="bottom"><b>recHandle</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adbb923202d262a420fed1761a652356b"></a><!-- doxytag: member="Alsa::numRecFDs" ref="adbb923202d262a420fed1761a652356b" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>numRecFDs</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79bb4b80474ad96104b52af3ee77e81b"></a><!-- doxytag: member="Alsa::recFDs" ref="a79bb4b80474ad96104b52af3ee77e81b" args="" -->
struct pollfd *&nbsp;</td><td class="memItemRight" valign="bottom"><b>recFDs</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae017ba1dce644e72efe3b6b634b3d1bf"></a><!-- doxytag: member="Alsa::actRecBufferTime" ref="ae017ba1dce644e72efe3b6b634b3d1bf" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>actRecBufferTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bbd64d84c8021b8568772399cb997d9"></a><!-- doxytag: member="Alsa::actRecPeriodTime" ref="a3bbd64d84c8021b8568772399cb997d9" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>actRecPeriodTime</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa04b160a65a8b2e0dfcf01f7a54bbb1e"></a><!-- doxytag: member="Alsa::recPeriodSize" ref="aa04b160a65a8b2e0dfcf01f7a54bbb1e" args="" -->
snd_pcm_uframes_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>recPeriodSize</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f14eaf6d616882cc4c7cbb6a4421453"></a><!-- doxytag: member="Alsa::mixerHandle" ref="a4f14eaf6d616882cc4c7cbb6a4421453" args="" -->
snd_mixer_t *&nbsp;</td><td class="memItemRight" valign="bottom"><b>mixerHandle</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc3d4f374d583f8358d92fe7853a0c42"></a><!-- doxytag: member="Alsa::mixerElements" ref="adc3d4f374d583f8358d92fe7853a0c42" args="" -->
<a class="el" href="structMixerElement.html">MixerElement</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>mixerElements</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b03f69dd0363c06e391d94d6d12c12d"></a><!-- doxytag: member="Alsa::numElements" ref="a0b03f69dd0363c06e391d94d6d12c12d" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>numElements</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d0ed91584b267c5236a3b0246e86de4"></a><!-- doxytag: member="Alsa::nextSampleIdx" ref="a3d0ed91584b267c5236a3b0246e86de4" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>nextSampleIdx</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a735d53a72dbc4b2c82d10eaf606296c7"></a><!-- doxytag: member="Alsa::samplesHead" ref="a735d53a72dbc4b2c82d10eaf606296c7" args="" -->
<a class="el" href="structStoredSample.html">StoredSample</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>samplesHead</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75d67e2203b12b168bba3a61dbea76fe"></a><!-- doxytag: member="Alsa::samplesTail" ref="a75d67e2203b12b168bba3a61dbea76fe" args="" -->
<a class="el" href="structStoredSample.html">StoredSample</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>samplesTail</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa74f6d208eb54f323c4730367fff5a7e"></a><!-- doxytag: member="Alsa::queueHead" ref="aa74f6d208eb54f323c4730367fff5a7e" args="" -->
<a class="el" href="structQueueItem.html">QueueItem</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>queueHead</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae08bbdf7d45dfb9e425069e7893e240"></a><!-- doxytag: member="Alsa::queueTail" ref="aae08bbdf7d45dfb9e425069e7893e240" args="" -->
<a class="el" href="structQueueItem.html">QueueItem</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>queueTail</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36e83a9f2749461cdf9d90c027d82d2e"></a><!-- doxytag: member="Alsa::playState" ref="a36e83a9f2749461cdf9d90c027d82d2e" args="" -->
PBState&nbsp;</td><td class="memItemRight" valign="bottom"><b>playState</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa664cafaf6309a4a82c1da78aab370b9"></a><!-- doxytag: member="Alsa::recState" ref="aa664cafaf6309a4a82c1da78aab370b9" args="" -->
PBState&nbsp;</td><td class="memItemRight" valign="bottom"><b>recState</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a6fc10fdae9bc0b47d2ab1cc28c1d06"></a><!-- doxytag: member="Alsa::recDataLength" ref="a7a6fc10fdae9bc0b47d2ab1cc28c1d06" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>recDataLength</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae82ea8f8aab18ab737c7bcd30a56c6f8"></a><!-- doxytag: member="Alsa::recDataOffset" ref="ae82ea8f8aab18ab737c7bcd30a56c6f8" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>recDataOffset</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a53c1235ba89a2899540da6c73165e9"></a><!-- doxytag: member="Alsa::recData" ref="a5a53c1235ba89a2899540da6c73165e9" args="" -->
uint8_t *&nbsp;</td><td class="memItemRight" valign="bottom"><b>recData</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01856b279ef4530fe4479ecec1683c1c"></a><!-- doxytag: member="Alsa::recDest" ref="a01856b279ef4530fe4479ecec1683c1c" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>recDest</b></td></tr>
</table>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a46a695a8a788d0039c1465389a54d855"></a><!-- doxytag: member="Alsa::Main" ref="a46a695a8a788d0039c1465389a54d855" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Alsa::Main </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Main method for driver thread. </p>
<p>drivers have their own thread of execution, created using StartThread(); this is the entry point for the driver thread, and must be overloaded by all threaded drivers. </p>

<p>Implements <a class="el" href="classThreadedDriver.html#a962ea9c4e4e36570dd33604552726ae9">ThreadedDriver</a>.</p>

<p>References <a class="el" href="classDriver.html#a125eab00b72ad55885162aef7024e09b">Driver::InQueue</a>, <a class="el" href="group__libplayercommon.html#ga65a614d6a5e549ca15019bcc8aa7f931">PLAYER_WARN1</a>, and <a class="el" href="classDriver.html#a91c6a959c611b5ff76623e82de665f68">Driver::ProcessMessages()</a>.</p>

</div>
</div>
<a class="anchor" id="a7b553f911e3a72797a493eac04ed6201"></a><!-- doxytag: member="Alsa::MainQuit" ref="a7b553f911e3a72797a493eac04ed6201" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Alsa::MainQuit </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cleanup method for driver thread (called when main exits). </p>
<p>Overload this method and to do additional cleanup when the driver thread exits. </p>

<p>Reimplemented from <a class="el" href="classThreadedDriver.html#ae35d4f9522aace06af1ca7056af9a2ae">ThreadedDriver</a>.</p>

<p>References <a class="el" href="group__libplayercommon.html#ga107ea47b28d5a6293b328ece093a91db">PLAYER_WARN</a>.</p>

</div>
</div>
<a class="anchor" id="a7ed88e541c2471cc7bb1cebda8025e41"></a><!-- doxytag: member="Alsa::ProcessMessage" ref="a7ed88e541c2471cc7bb1cebda8025e41" args="(QueuePointer &amp;resp_queue, player_msghdr *hdr, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Alsa::ProcessMessage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classQueuePointer.html">QueuePointer</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>resp_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structplayer__msghdr.html">player_msghdr</a> *&nbsp;</td>
          <td class="paramname"> <em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="classMessage.html" title="Reference-counted message objects.">Message</a> handler. </p>
<p>This function is called once for each message in the incoming queue. Reimplement it to provide message handling. Return 0 if you handled the message and -1 otherwise</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>resp_queue</em>&nbsp;</td><td>The queue to which any response should go. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>hdr</em>&nbsp;</td><td>The message header </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The message body </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classDriver.html#ab05d0e8502a494a83d0442a48095a35c">Driver</a>.</p>

<p>References <a class="el" href="classDriver.html#a98fc106a6ad39263aa769b37bd58905c">Driver::device_addr</a>, <a class="el" href="classMessage.html#a5fd1734509a7520a64186c2653207751">Message::MatchMessage()</a>, <a class="el" href="group__interface__audio.html#ga9363821c49c00f79cb5fdd7193d4fa97">PLAYER_AUDIO_CMD_MIXER_CHANNEL</a>, <a class="el" href="group__interface__audio.html#gae756641898babf9d2f51dd0e2c2385e7">PLAYER_AUDIO_CMD_SAMPLE_PLAY</a>, <a class="el" href="group__interface__audio.html#ga948ee3baf77ce31d0485b2b95678e1d9">PLAYER_AUDIO_CMD_WAV_PLAY</a>, <a class="el" href="group__interface__audio.html#gaacb5a88ca1add361786b79574bfd23ba">PLAYER_AUDIO_CMD_WAV_STREAM_REC</a>, <a class="el" href="group__interface__audio.html#gab7c4f3543fe2c58e0f082e1d359ce281">PLAYER_AUDIO_REQ_MIXER_CHANNEL_LEVEL</a>, <a class="el" href="group__interface__audio.html#gaaad4011851411a403087171c701e4658">PLAYER_AUDIO_REQ_MIXER_CHANNEL_LIST</a>, <a class="el" href="group__interface__audio.html#gaf612caf32ca4991d88801017cd3da345">PLAYER_AUDIO_REQ_SAMPLE_LOAD</a>, <a class="el" href="group__interface__audio.html#ga60edda4334dc61d9091d7bb421245154">PLAYER_AUDIO_REQ_SAMPLE_REC</a>, <a class="el" href="group__interface__audio.html#ga5fc1cd23e50cfe20995a1309d2c5b682">PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE</a>, <a class="el" href="group__message__types.html#gaf8fb5087b5a1f4ec631034e71dec0f3d">PLAYER_MSGTYPE_CMD</a>, and <a class="el" href="group__message__types.html#ga59ed953188471436df98bfc3adf0f457">PLAYER_MSGTYPE_REQ</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="alsa_8h_source.html">alsa.h</a></li>
<li>alsa.cc</li>
</ul>
</div>
<!-- render the modification time of the source file -->


<div class="timestamp">
<hr>

<table style="width:100%;">
<tr>
<td style="text-align:left;">
Last updated 12 September 2005 21:38:45
<!--
<td style="text-align:right;">
<a href="http://validator.w3.org/check/referer"><img style="vertical-align:middle;border:0;width:88px;height:31px"
          src="http://www.w3.org/Icons/valid-html401"
          alt="Valid HTML 4.01!"></a>

 <a href="http://jigsaw.w3.org/css-validator/">
  <img style="vertical-align:middle;border:0;width:88px;height:31px"
       src="http://jigsaw.w3.org/css-validator/images/vcss"
       alt="Valid CSS!">
 </a>
-->
</tr>
</table>
</div>


</tr>
</table>

</BODY>
</HTML>