blob: 093eb46f9bb6bee8ef64af70a4aca9aa1b659887 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Oboe: oboe::AudioStreamBase Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Oboe
&#160;<span id="projectnumber">1.5</span>
</div>
<div id="projectbrief">A library for creating real-time audio apps on Android</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceoboe.html">oboe</a></li><li class="navelem"><a class="el" href="classoboe_1_1_audio_stream_base.html">AudioStreamBase</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classoboe_1_1_audio_stream_base-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">oboe::AudioStreamBase Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="_audio_stream_base_8h_source.html">AudioStreamBase.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for oboe::AudioStreamBase:</div>
<div class="dyncontent">
<div class="center">
<img src="classoboe_1_1_audio_stream_base.png" usemap="#oboe::AudioStreamBase_map" alt=""/>
<map id="oboe::AudioStreamBase_map" name="oboe::AudioStreamBase_map">
<area href="classoboe_1_1_audio_stream.html" alt="oboe::AudioStream" shape="rect" coords="0,56,158,80"/>
<area href="classoboe_1_1_audio_stream_builder.html" alt="oboe::AudioStreamBuilder" shape="rect" coords="168,56,326,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa6b103e1b0f808bbc4949d56f0829f98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#aa6b103e1b0f808bbc4949d56f0829f98">AudioStreamBase</a> (const <a class="el" href="classoboe_1_1_audio_stream_base.html">AudioStreamBase</a> &amp;)=default</td></tr>
<tr class="separator:aa6b103e1b0f808bbc4949d56f0829f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9c987a59555d7a60b9f7a63f4afc7fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoboe_1_1_audio_stream_base.html">AudioStreamBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#aa9c987a59555d7a60b9f7a63f4afc7fc">operator=</a> (const <a class="el" href="classoboe_1_1_audio_stream_base.html">AudioStreamBase</a> &amp;)=default</td></tr>
<tr class="separator:aa9c987a59555d7a60b9f7a63f4afc7fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87e6bf37d6a2a5e983b8ca8d29aea575"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a87e6bf37d6a2a5e983b8ca8d29aea575">getChannelCount</a> () const</td></tr>
<tr class="separator:a87e6bf37d6a2a5e983b8ca8d29aea575"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f86f2233a04c5a0b056f0c1c261f1b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5ae">Direction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a6f86f2233a04c5a0b056f0c1c261f1b1">getDirection</a> () const</td></tr>
<tr class="separator:a6f86f2233a04c5a0b056f0c1c261f1b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9d32f3e09174bad69e74f147ee33087"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#ae9d32f3e09174bad69e74f147ee33087">getSampleRate</a> () const</td></tr>
<tr class="separator:ae9d32f3e09174bad69e74f147ee33087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8878a90949badbb5486cc2e022a57086"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a8878a90949badbb5486cc2e022a57086">getFramesPerCallback</a> () const</td></tr>
<tr class="separator:a8878a90949badbb5486cc2e022a57086"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc3ee2815568b425d15a40e132aa8e38"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#abc3ee2815568b425d15a40e132aa8e38">getFramesPerDataCallback</a> () const</td></tr>
<tr class="separator:abc3ee2815568b425d15a40e132aa8e38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1e640461d7bf9d596decb913da7ac86"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6">AudioFormat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#ab1e640461d7bf9d596decb913da7ac86">getFormat</a> () const</td></tr>
<tr class="separator:ab1e640461d7bf9d596decb913da7ac86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5217ab05bfde0d7637024b599302d0b"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#af5217ab05bfde0d7637024b599302d0b">getBufferSizeInFrames</a> ()</td></tr>
<tr class="separator:af5217ab05bfde0d7637024b599302d0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1531253e64aaebe9e9eddbafb9098fc"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#ab1531253e64aaebe9e9eddbafb9098fc">getBufferCapacityInFrames</a> () const</td></tr>
<tr class="separator:ab1531253e64aaebe9e9eddbafb9098fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fb033fc963f971bd1aa8f6707e49b41"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520">SharingMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a1fb033fc963f971bd1aa8f6707e49b41">getSharingMode</a> () const</td></tr>
<tr class="separator:a1fb033fc963f971bd1aa8f6707e49b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ddb935de0e24dd7ae8e2cfbecac9fdc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a1068781f3920654b1bfd7ed136468184">PerformanceMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a2ddb935de0e24dd7ae8e2cfbecac9fdc">getPerformanceMode</a> () const</td></tr>
<tr class="separator:a2ddb935de0e24dd7ae8e2cfbecac9fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a093057d625bc896864b959974c265f21"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a093057d625bc896864b959974c265f21">getDeviceId</a> () const</td></tr>
<tr class="separator:a093057d625bc896864b959974c265f21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fb2f34ae62dbda2c10e8513b754fa0c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoboe_1_1_audio_stream_data_callback.html">AudioStreamDataCallback</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a9fb2f34ae62dbda2c10e8513b754fa0c">getDataCallback</a> () const</td></tr>
<tr class="separator:a9fb2f34ae62dbda2c10e8513b754fa0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1328fb9288166ff325995ce1ea1867f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoboe_1_1_audio_stream_error_callback.html">AudioStreamErrorCallback</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a1328fb9288166ff325995ce1ea1867f0">getErrorCallback</a> () const</td></tr>
<tr class="separator:a1328fb9288166ff325995ce1ea1867f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a54d38b985a2eb12c6972104dc0ce73"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a9a54d38b985a2eb12c6972104dc0ce73">isDataCallbackSpecified</a> () const</td></tr>
<tr class="separator:a9a54d38b985a2eb12c6972104dc0ce73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef579f6d1f779c89d051f0963f2976b3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#aef579f6d1f779c89d051f0963f2976b3">isErrorCallbackSpecified</a> () const</td></tr>
<tr class="separator:aef579f6d1f779c89d051f0963f2976b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bcfb2f8bd11c92b541fd910da9af397"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0">Usage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a0bcfb2f8bd11c92b541fd910da9af397">getUsage</a> () const</td></tr>
<tr class="separator:a0bcfb2f8bd11c92b541fd910da9af397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab12e2d068fa87e0553b01a400d96eb82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604b">ContentType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#ab12e2d068fa87e0553b01a400d96eb82">getContentType</a> () const</td></tr>
<tr class="separator:ab12e2d068fa87e0553b01a400d96eb82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c773b93b8aa38191c7199cab023428a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06">InputPreset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a5c773b93b8aa38191c7199cab023428a">getInputPreset</a> () const</td></tr>
<tr class="separator:a5c773b93b8aa38191c7199cab023428a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3c502ce09bbad7690a2dd6acaf8892e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eaf">SessionId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#aa3c502ce09bbad7690a2dd6acaf8892e">getSessionId</a> () const</td></tr>
<tr class="separator:aa3c502ce09bbad7690a2dd6acaf8892e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4ec3aa76e69350fbce6f00786211495"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#aa4ec3aa76e69350fbce6f00786211495">isChannelConversionAllowed</a> () const</td></tr>
<tr class="separator:aa4ec3aa76e69350fbce6f00786211495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace3625a7332bf02a86818fdf63fcccb4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#ace3625a7332bf02a86818fdf63fcccb4">isFormatConversionAllowed</a> () const</td></tr>
<tr class="separator:ace3625a7332bf02a86818fdf63fcccb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1de8d6982d411a0cf50a32efba0ca3f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a82f3720eba7654aceb7282be36f9ff1d">SampleRateConversionQuality</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a1de8d6982d411a0cf50a32efba0ca3f2">getSampleRateConversionQuality</a> () const</td></tr>
<tr class="separator:a1de8d6982d411a0cf50a32efba0ca3f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a5d5e07e98921d0193a5c0ccbe06f68c2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceoboe.html#a486512e787b609c80ba4436f23929af1">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a5d5e07e98921d0193a5c0ccbe06f68c2">isValidConfig</a> ()</td></tr>
<tr class="separator:a5d5e07e98921d0193a5c0ccbe06f68c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a6d8493f66a945cb426506c70f0358e5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoboe_1_1_audio_stream_data_callback.html">AudioStreamDataCallback</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a6d8493f66a945cb426506c70f0358e5f">mDataCallback</a> = nullptr</td></tr>
<tr class="separator:a6d8493f66a945cb426506c70f0358e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc0c8cc54adb6d3350c62b8a74b9c57b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoboe_1_1_audio_stream_error_callback.html">AudioStreamErrorCallback</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#adc0c8cc54adb6d3350c62b8a74b9c57b">mErrorCallback</a> = nullptr</td></tr>
<tr class="separator:adc0c8cc54adb6d3350c62b8a74b9c57b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3962eb94420ad0ecea70029236001899"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a3962eb94420ad0ecea70029236001899">mFramesPerCallback</a> = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td></tr>
<tr class="separator:a3962eb94420ad0ecea70029236001899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ff460bac9d14dfeac4eeddfcbb6e206"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a5ff460bac9d14dfeac4eeddfcbb6e206">mChannelCount</a> = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td></tr>
<tr class="separator:a5ff460bac9d14dfeac4eeddfcbb6e206"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a998885bb6c4f37e145f4626ad4177dea"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a998885bb6c4f37e145f4626ad4177dea">mSampleRate</a> = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td></tr>
<tr class="separator:a998885bb6c4f37e145f4626ad4177dea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23dafa12fb1a6242b088ebd5a52798c8"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a23dafa12fb1a6242b088ebd5a52798c8">mDeviceId</a> = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td></tr>
<tr class="separator:a23dafa12fb1a6242b088ebd5a52798c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac81d4719b350f8138aad1af38f0873b6"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#ac81d4719b350f8138aad1af38f0873b6">mBufferCapacityInFrames</a> = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td></tr>
<tr class="separator:ac81d4719b350f8138aad1af38f0873b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b65595d26d1eae1b8ce9925a5b98f6a"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a3b65595d26d1eae1b8ce9925a5b98f6a">mBufferSizeInFrames</a> = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td></tr>
<tr class="separator:a3b65595d26d1eae1b8ce9925a5b98f6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54061319ed348329a29d883a5de2482e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a54061319ed348329a29d883a5de2482e">mFramesPerBurst</a> = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td></tr>
<tr class="separator:a54061319ed348329a29d883a5de2482e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9187492b679c97a0963e264954be473"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520">SharingMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#ae9187492b679c97a0963e264954be473">mSharingMode</a> = <a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520aa6156ea9d66fef24e87e841fbabf7cca">SharingMode::Shared</a></td></tr>
<tr class="separator:ae9187492b679c97a0963e264954be473"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7869f04836c2c2bdc10c7309ad4b8e09"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6">AudioFormat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a7869f04836c2c2bdc10c7309ad4b8e09">mFormat</a> = AudioFormat::Unspecified</td></tr>
<tr class="separator:a7869f04836c2c2bdc10c7309ad4b8e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26e9294721561d3b16bcaeec5faf4880"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5ae">Direction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a26e9294721561d3b16bcaeec5faf4880">mDirection</a> = <a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5aea29c2c02a361c9d7028472e5d92cd4a54">Direction::Output</a></td></tr>
<tr class="separator:a26e9294721561d3b16bcaeec5faf4880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab99671c2d0552557e75dc7b4afe91765"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a1068781f3920654b1bfd7ed136468184">PerformanceMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#ab99671c2d0552557e75dc7b4afe91765">mPerformanceMode</a> = PerformanceMode::None</td></tr>
<tr class="separator:ab99671c2d0552557e75dc7b4afe91765"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b518e82f39c9fcbd7050fd66adb253c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0">Usage</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a5b518e82f39c9fcbd7050fd66adb253c">mUsage</a> = <a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a3b563524fdb17b4a86590470d40bef74">Usage::Media</a></td></tr>
<tr class="separator:a5b518e82f39c9fcbd7050fd66adb253c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f8f0e5add381b841856de80ea4cdb2b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604b">ContentType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a5f8f0e5add381b841856de80ea4cdb2b">mContentType</a> = ContentType::Music</td></tr>
<tr class="separator:a5f8f0e5add381b841856de80ea4cdb2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e5d4f5b30c4cc36f81ffd858cc00589"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06">InputPreset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#a1e5d4f5b30c4cc36f81ffd858cc00589">mInputPreset</a> = InputPreset::VoiceRecognition</td></tr>
<tr class="separator:a1e5d4f5b30c4cc36f81ffd858cc00589"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe1c1e9cada1ced9b5c1504ac9b07737"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eaf">SessionId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html#abe1c1e9cada1ced9b5c1504ac9b07737">mSessionId</a> = SessionId::None</td></tr>
<tr class="separator:abe1c1e9cada1ced9b5c1504ac9b07737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae47a39b573250751f933dd159d09bf0f"><td class="memItemLeft" align="right" valign="top"><a id="ae47a39b573250751f933dd159d09bf0f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>mChannelConversionAllowed</b> = false</td></tr>
<tr class="separator:ae47a39b573250751f933dd159d09bf0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9394a88eb5f8b74fa72eabf28f403f87"><td class="memItemLeft" align="right" valign="top"><a id="a9394a88eb5f8b74fa72eabf28f403f87"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>mFormatConversionAllowed</b> = false</td></tr>
<tr class="separator:a9394a88eb5f8b74fa72eabf28f403f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dd35a6f009f36172838260144218f6d"><td class="memItemLeft" align="right" valign="top"><a id="a2dd35a6f009f36172838260144218f6d"></a>
<a class="el" href="namespaceoboe.html#a82f3720eba7654aceb7282be36f9ff1d">SampleRateConversionQuality</a>&#160;</td><td class="memItemRight" valign="bottom"><b>mSampleRateConversionQuality</b> = SampleRateConversionQuality::None</td></tr>
<tr class="separator:a2dd35a6f009f36172838260144218f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class containing parameters for audio streams and builders. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa6b103e1b0f808bbc4949d56f0829f98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6b103e1b0f808bbc4949d56f0829f98">&#9670;&nbsp;</a></span>AudioStreamBase()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">oboe::AudioStreamBase::AudioStreamBase </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoboe_1_1_audio_stream_base.html">AudioStreamBase</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default copy constructor </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab1531253e64aaebe9e9eddbafb9098fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1531253e64aaebe9e9eddbafb9098fc">&#9670;&nbsp;</a></span>getBufferCapacityInFrames()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int32_t oboe::AudioStreamBase::getBufferCapacityInFrames </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>capacityInFrames or kUnspecified </dd></dl>
</div>
</div>
<a id="af5217ab05bfde0d7637024b599302d0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5217ab05bfde0d7637024b599302d0b">&#9670;&nbsp;</a></span>getBufferSizeInFrames()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int32_t oboe::AudioStreamBase::getBufferSizeInFrames </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Query the maximum number of frames that can be filled without blocking. If the stream has been closed the last known value will be returned.</p>
<dl class="section return"><dt>Returns</dt><dd>buffer size </dd></dl>
</div>
</div>
<a id="a87e6bf37d6a2a5e983b8ca8d29aea575"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87e6bf37d6a2a5e983b8ca8d29aea575">&#9670;&nbsp;</a></span>getChannelCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::getChannelCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>number of channels, for example 2 for stereo, or kUnspecified </dd></dl>
</div>
</div>
<a id="ab12e2d068fa87e0553b01a400d96eb82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab12e2d068fa87e0553b01a400d96eb82">&#9670;&nbsp;</a></span>getContentType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604b">ContentType</a> oboe::AudioStreamBase::getContentType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the stream's content type. </dd></dl>
</div>
</div>
<a id="a9fb2f34ae62dbda2c10e8513b754fa0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fb2f34ae62dbda2c10e8513b754fa0c">&#9670;&nbsp;</a></span>getDataCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoboe_1_1_audio_stream_data_callback.html">AudioStreamDataCallback</a>* oboe::AudioStreamBase::getDataCallback </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>For internal use only. </p><dl class="section return"><dt>Returns</dt><dd>the data callback object for this stream, if set. </dd></dl>
</div>
</div>
<a id="a093057d625bc896864b959974c265f21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a093057d625bc896864b959974c265f21">&#9670;&nbsp;</a></span>getDeviceId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::getDeviceId </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the device ID of the stream. </dd></dl>
</div>
</div>
<a id="a6f86f2233a04c5a0b056f0c1c261f1b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f86f2233a04c5a0b056f0c1c261f1b1">&#9670;&nbsp;</a></span>getDirection()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5ae">Direction</a> oboe::AudioStreamBase::getDirection </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5aea324118a6721dd6b8a9b9f4e327df2bf5">Direction::Input</a> or <a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5aea29c2c02a361c9d7028472e5d92cd4a54">Direction::Output</a> </dd></dl>
</div>
</div>
<a id="a1328fb9288166ff325995ce1ea1867f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1328fb9288166ff325995ce1ea1867f0">&#9670;&nbsp;</a></span>getErrorCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoboe_1_1_audio_stream_error_callback.html">AudioStreamErrorCallback</a>* oboe::AudioStreamBase::getErrorCallback </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>For internal use only. </p><dl class="section return"><dt>Returns</dt><dd>the error callback object for this stream, if set. </dd></dl>
</div>
</div>
<a id="ab1e640461d7bf9d596decb913da7ac86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1e640461d7bf9d596decb913da7ac86">&#9670;&nbsp;</a></span>getFormat()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6">AudioFormat</a> oboe::AudioStreamBase::getFormat </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the audio sample format (e.g. Float or I16) </dd></dl>
</div>
</div>
<a id="a8878a90949badbb5486cc2e022a57086"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8878a90949badbb5486cc2e022a57086">&#9670;&nbsp;</a></span>getFramesPerCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::getFramesPerCallback </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>use <code>getFramesPerDataCallback</code> instead. </dd></dl>
</div>
</div>
<a id="abc3ee2815568b425d15a40e132aa8e38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc3ee2815568b425d15a40e132aa8e38">&#9670;&nbsp;</a></span>getFramesPerDataCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::getFramesPerDataCallback </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of frames in each data callback or kUnspecified. </dd></dl>
</div>
</div>
<a id="a5c773b93b8aa38191c7199cab023428a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c773b93b8aa38191c7199cab023428a">&#9670;&nbsp;</a></span>getInputPreset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06">InputPreset</a> oboe::AudioStreamBase::getInputPreset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the stream's input preset. </dd></dl>
</div>
</div>
<a id="a2ddb935de0e24dd7ae8e2cfbecac9fdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ddb935de0e24dd7ae8e2cfbecac9fdc">&#9670;&nbsp;</a></span>getPerformanceMode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a1068781f3920654b1bfd7ed136468184">PerformanceMode</a> oboe::AudioStreamBase::getPerformanceMode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the performance mode of the stream. </dd></dl>
</div>
</div>
<a id="ae9d32f3e09174bad69e74f147ee33087"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9d32f3e09174bad69e74f147ee33087">&#9670;&nbsp;</a></span>getSampleRate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::getSampleRate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>sample rate for the stream or kUnspecified </dd></dl>
</div>
</div>
<a id="a1de8d6982d411a0cf50a32efba0ca3f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1de8d6982d411a0cf50a32efba0ca3f2">&#9670;&nbsp;</a></span>getSampleRateConversionQuality()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a82f3720eba7654aceb7282be36f9ff1d">SampleRateConversionQuality</a> oboe::AudioStreamBase::getSampleRateConversionQuality </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>whether and how Oboe can convert sample rates to achieve optimal results. </dd></dl>
</div>
</div>
<a id="aa3c502ce09bbad7690a2dd6acaf8892e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3c502ce09bbad7690a2dd6acaf8892e">&#9670;&nbsp;</a></span>getSessionId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eaf">SessionId</a> oboe::AudioStreamBase::getSessionId </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the stream's session ID allocation strategy (None or Allocate). </dd></dl>
</div>
</div>
<a id="a1fb033fc963f971bd1aa8f6707e49b41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fb033fc963f971bd1aa8f6707e49b41">&#9670;&nbsp;</a></span>getSharingMode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520">SharingMode</a> oboe::AudioStreamBase::getSharingMode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the sharing mode of the stream. </dd></dl>
</div>
</div>
<a id="a0bcfb2f8bd11c92b541fd910da9af397"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bcfb2f8bd11c92b541fd910da9af397">&#9670;&nbsp;</a></span>getUsage()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0">Usage</a> oboe::AudioStreamBase::getUsage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the usage for this stream. </dd></dl>
</div>
</div>
<a id="aa4ec3aa76e69350fbce6f00786211495"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4ec3aa76e69350fbce6f00786211495">&#9670;&nbsp;</a></span>isChannelConversionAllowed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool oboe::AudioStreamBase::isChannelConversionAllowed </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if Oboe can convert channel counts to achieve optimal results. </dd></dl>
</div>
</div>
<a id="a9a54d38b985a2eb12c6972104dc0ce73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a54d38b985a2eb12c6972104dc0ce73">&#9670;&nbsp;</a></span>isDataCallbackSpecified()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool oboe::AudioStreamBase::isDataCallbackSpecified </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if a data callback was set for this stream </dd></dl>
</div>
</div>
<a id="aef579f6d1f779c89d051f0963f2976b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef579f6d1f779c89d051f0963f2976b3">&#9670;&nbsp;</a></span>isErrorCallbackSpecified()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool oboe::AudioStreamBase::isErrorCallbackSpecified </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Note that if the app does not set an error callback then a default one may be provided. </p><dl class="section return"><dt>Returns</dt><dd>true if an error callback was set for this stream </dd></dl>
</div>
</div>
<a id="ace3625a7332bf02a86818fdf63fcccb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace3625a7332bf02a86818fdf63fcccb4">&#9670;&nbsp;</a></span>isFormatConversionAllowed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool oboe::AudioStreamBase::isFormatConversionAllowed </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if Oboe can convert data formats to achieve optimal results. </dd></dl>
</div>
</div>
<a id="a5d5e07e98921d0193a5c0ccbe06f68c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d5e07e98921d0193a5c0ccbe06f68c2">&#9670;&nbsp;</a></span>isValidConfig()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="namespaceoboe.html#a486512e787b609c80ba4436f23929af1">Result</a> oboe::AudioStreamBase::isValidConfig </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Validate stream parameters that might not be checked in lower layers </p>
</div>
</div>
<a id="aa9c987a59555d7a60b9f7a63f4afc7fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9c987a59555d7a60b9f7a63f4afc7fc">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoboe_1_1_audio_stream_base.html">AudioStreamBase</a>&amp; oboe::AudioStreamBase::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoboe_1_1_audio_stream_base.html">AudioStreamBase</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default assignment operator </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ac81d4719b350f8138aad1af38f0873b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac81d4719b350f8138aad1af38f0873b6">&#9670;&nbsp;</a></span>mBufferCapacityInFrames</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::mBufferCapacityInFrames = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream buffer capacity specified as a number of audio frames </p>
</div>
</div>
<a id="a3b65595d26d1eae1b8ce9925a5b98f6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b65595d26d1eae1b8ce9925a5b98f6a">&#9670;&nbsp;</a></span>mBufferSizeInFrames</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::mBufferSizeInFrames = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream buffer size specified as a number of audio frames </p>
</div>
</div>
<a id="a5ff460bac9d14dfeac4eeddfcbb6e206"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ff460bac9d14dfeac4eeddfcbb6e206">&#9670;&nbsp;</a></span>mChannelCount</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::mChannelCount = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream channel count </p>
</div>
</div>
<a id="a5f8f0e5add381b841856de80ea4cdb2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f8f0e5add381b841856de80ea4cdb2b">&#9670;&nbsp;</a></span>mContentType</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604b">ContentType</a> oboe::AudioStreamBase::mContentType = ContentType::Music</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream content type. Only active on Android 28+ </p>
</div>
</div>
<a id="a6d8493f66a945cb426506c70f0358e5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d8493f66a945cb426506c70f0358e5f">&#9670;&nbsp;</a></span>mDataCallback</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoboe_1_1_audio_stream_data_callback.html">AudioStreamDataCallback</a>* oboe::AudioStreamBase::mDataCallback = nullptr</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The callback which will be fired when new data is ready to be read/written. </p>
</div>
</div>
<a id="a23dafa12fb1a6242b088ebd5a52798c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23dafa12fb1a6242b088ebd5a52798c8">&#9670;&nbsp;</a></span>mDeviceId</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::mDeviceId = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream audio device ID </p>
</div>
</div>
<a id="a26e9294721561d3b16bcaeec5faf4880"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26e9294721561d3b16bcaeec5faf4880">&#9670;&nbsp;</a></span>mDirection</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5ae">Direction</a> oboe::AudioStreamBase::mDirection = <a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5aea29c2c02a361c9d7028472e5d92cd4a54">Direction::Output</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream direction </p>
</div>
</div>
<a id="adc0c8cc54adb6d3350c62b8a74b9c57b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc0c8cc54adb6d3350c62b8a74b9c57b">&#9670;&nbsp;</a></span>mErrorCallback</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoboe_1_1_audio_stream_error_callback.html">AudioStreamErrorCallback</a>* oboe::AudioStreamBase::mErrorCallback = nullptr</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The callback which will be fired when an error or a disconnect occurs. </p>
</div>
</div>
<a id="a7869f04836c2c2bdc10c7309ad4b8e09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7869f04836c2c2bdc10c7309ad4b8e09">&#9670;&nbsp;</a></span>mFormat</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6">AudioFormat</a> oboe::AudioStreamBase::mFormat = AudioFormat::Unspecified</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Format of audio frames </p>
</div>
</div>
<a id="a54061319ed348329a29d883a5de2482e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54061319ed348329a29d883a5de2482e">&#9670;&nbsp;</a></span>mFramesPerBurst</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::mFramesPerBurst = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of frames which will be copied to/from the audio device in a single read/write operation </p>
</div>
</div>
<a id="a3962eb94420ad0ecea70029236001899"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3962eb94420ad0ecea70029236001899">&#9670;&nbsp;</a></span>mFramesPerCallback</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::mFramesPerCallback = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of audio frames which will be requested in each callback </p>
</div>
</div>
<a id="a1e5d4f5b30c4cc36f81ffd858cc00589"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e5d4f5b30c4cc36f81ffd858cc00589">&#9670;&nbsp;</a></span>mInputPreset</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06">InputPreset</a> oboe::AudioStreamBase::mInputPreset = InputPreset::VoiceRecognition</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream input preset. Only active on Android 28+ TODO InputPreset::Unspecified should be considered as a possible default alternative. </p>
</div>
</div>
<a id="ab99671c2d0552557e75dc7b4afe91765"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab99671c2d0552557e75dc7b4afe91765">&#9670;&nbsp;</a></span>mPerformanceMode</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a1068781f3920654b1bfd7ed136468184">PerformanceMode</a> oboe::AudioStreamBase::mPerformanceMode = PerformanceMode::None</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream performance mode </p>
</div>
</div>
<a id="a998885bb6c4f37e145f4626ad4177dea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a998885bb6c4f37e145f4626ad4177dea">&#9670;&nbsp;</a></span>mSampleRate</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t oboe::AudioStreamBase::mSampleRate = <a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream sample rate </p>
</div>
</div>
<a id="abe1c1e9cada1ced9b5c1504ac9b07737"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe1c1e9cada1ced9b5c1504ac9b07737">&#9670;&nbsp;</a></span>mSessionId</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eaf">SessionId</a> oboe::AudioStreamBase::mSessionId = SessionId::None</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream session ID allocation strategy. Only active on Android 28+ </p>
</div>
</div>
<a id="ae9187492b679c97a0963e264954be473"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9187492b679c97a0963e264954be473">&#9670;&nbsp;</a></span>mSharingMode</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520">SharingMode</a> oboe::AudioStreamBase::mSharingMode = <a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520aa6156ea9d66fef24e87e841fbabf7cca">SharingMode::Shared</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream sharing mode </p>
</div>
</div>
<a id="a5b518e82f39c9fcbd7050fd66adb253c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b518e82f39c9fcbd7050fd66adb253c">&#9670;&nbsp;</a></span>mUsage</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0">Usage</a> oboe::AudioStreamBase::mUsage = <a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a3b563524fdb17b4a86590470d40bef74">Usage::Media</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream usage. Only active on Android 28+ </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/oboe/<a class="el" href="_audio_stream_base_8h_source.html">AudioStreamBase.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>