1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml"> 3<head> 4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 5<meta http-equiv="X-UA-Compatible" content="IE=9"/> 6<meta name="generator" content="Doxygen 1.8.15"/> 7<meta name="viewport" content="width=device-width, initial-scale=1"/> 8<title>Oboe: oboe Namespace Reference</title> 9<link href="tabs.css" rel="stylesheet" type="text/css"/> 10<script type="text/javascript" src="jquery.js"></script> 11<script type="text/javascript" src="dynsections.js"></script> 12<link href="search/search.css" rel="stylesheet" type="text/css"/> 13<script type="text/javascript" src="search/searchdata.js"></script> 14<script type="text/javascript" src="search/search.js"></script> 15<link href="doxygen.css" rel="stylesheet" type="text/css" /> 16</head> 17<body> 18<div id="top"><!-- do not remove this div, it is closed by doxygen! --> 19<div id="titlearea"> 20<table cellspacing="0" cellpadding="0"> 21 <tbody> 22 <tr style="height: 56px;"> 23 <td id="projectalign" style="padding-left: 0.5em;"> 24 <div id="projectname">Oboe 25  <span id="projectnumber">1.5</span> 26 </div> 27 <div id="projectbrief">A library for creating real-time audio apps on Android</div> 28 </td> 29 </tr> 30 </tbody> 31</table> 32</div> 33<!-- end header part --> 34<!-- Generated by Doxygen 1.8.15 --> 35<script type="text/javascript"> 36/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 37var searchBox = new SearchBox("searchBox", "search",false,'Search'); 38/* @license-end */ 39</script> 40<script type="text/javascript" src="menudata.js"></script> 41<script type="text/javascript" src="menu.js"></script> 42<script type="text/javascript"> 43/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 44$(function() { 45 initMenu('',true,false,'search.php','Search'); 46 $(document).ready(function() { init_search(); }); 47}); 48/* @license-end */</script> 49<div id="main-nav"></div> 50<!-- window showing the filter options --> 51<div id="MSearchSelectWindow" 52 onmouseover="return searchBox.OnSearchSelectShow()" 53 onmouseout="return searchBox.OnSearchSelectHide()" 54 onkeydown="return searchBox.OnSearchSelectKey(event)"> 55</div> 56 57<!-- iframe showing the search results (closed by default) --> 58<div id="MSearchResultsWindow"> 59<iframe src="javascript:void(0)" frameborder="0" 60 name="MSearchResults" id="MSearchResults"> 61</iframe> 62</div> 63 64</div><!-- top --> 65<div class="header"> 66 <div class="summary"> 67<a href="#nested-classes">Classes</a> | 68<a href="#typedef-members">Typedefs</a> | 69<a href="#enum-members">Enumerations</a> | 70<a href="#func-members">Functions</a> | 71<a href="#var-members">Variables</a> </div> 72 <div class="headertitle"> 73<div class="title">oboe Namespace Reference</div> </div> 74</div><!--header--> 75<div class="contents"> 76<table class="memberdecls"> 77<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> 78Classes</h2></td></tr> 79<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream.html">AudioStream</a></td></tr> 80<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 81<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_base.html">AudioStreamBase</a></td></tr> 82<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 83<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_builder.html">AudioStreamBuilder</a></td></tr> 84<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 85<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_callback.html">AudioStreamCallback</a></td></tr> 86<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 87<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_data_callback.html">AudioStreamDataCallback</a></td></tr> 88<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 89<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_audio_stream_error_callback.html">AudioStreamErrorCallback</a></td></tr> 90<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 91<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_default_stream_values.html">DefaultStreamValues</a></td></tr> 92<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 93<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoboe_1_1_frame_timestamp.html">FrameTimestamp</a></td></tr> 94<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 95<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_latency_tuner.html">LatencyTuner</a></td></tr> 96<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 97<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_oboe_globals.html">OboeGlobals</a></td></tr> 98<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 99<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_result_with_value.html">ResultWithValue</a></td></tr> 100<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 101<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoboe_1_1_stabilized_callback.html">StabilizedCallback</a></td></tr> 102<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 103<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoboe_1_1_stream_deleter_functor.html">StreamDeleterFunctor</a></td></tr> 104<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 105<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoboe_1_1_version.html">Version</a></td></tr> 106<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> 107</table><table class="memberdecls"> 108<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> 109Typedefs</h2></td></tr> 110<tr class="memitem:a2b3b25550ebb0c6f792d0d5b870359cd"><td class="memItemLeft" align="right" valign="top"><a id="a2b3b25550ebb0c6f792d0d5b870359cd"></a> 111using </td><td class="memItemRight" valign="bottom"><b>ManagedStream</b> = std::unique_ptr< <a class="el" href="classoboe_1_1_audio_stream.html">AudioStream</a>, <a class="el" href="structoboe_1_1_stream_deleter_functor.html">StreamDeleterFunctor</a> ></td></tr> 112<tr class="separator:a2b3b25550ebb0c6f792d0d5b870359cd"><td class="memSeparator" colspan="2"> </td></tr> 113</table><table class="memberdecls"> 114<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> 115Enumerations</h2></td></tr> 116<tr class="memitem:a89fa2ce046723764618c29db737917f6"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a89fa2ce046723764618c29db737917f6">StreamState</a> : int32_t { <br /> 117  <b>Uninitialized</b> = 0, 118<b>Unknown</b> = 1, 119<b>Open</b> = 2, 120<b>Starting</b> = 3, 121<br /> 122  <b>Started</b> = 4, 123<b>Pausing</b> = 5, 124<b>Paused</b> = 6, 125<b>Flushing</b> = 7, 126<br /> 127  <b>Flushed</b> = 8, 128<b>Stopping</b> = 9, 129<b>Stopped</b> = 10, 130<b>Closing</b> = 11, 131<br /> 132  <b>Closed</b> = 12, 133<b>Disconnected</b> = 13 134<br /> 135 }</td></tr> 136<tr class="separator:a89fa2ce046723764618c29db737917f6"><td class="memSeparator" colspan="2"> </td></tr> 137<tr class="memitem:af2147500089212955498a08ef2edb5ae"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5ae">Direction</a> : int32_t { <a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5aea29c2c02a361c9d7028472e5d92cd4a54">Direction::Output</a> = 0, 138<a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5aea324118a6721dd6b8a9b9f4e327df2bf5">Direction::Input</a> = 1 139 }</td></tr> 140<tr class="separator:af2147500089212955498a08ef2edb5ae"><td class="memSeparator" colspan="2"> </td></tr> 141<tr class="memitem:a92afc593e856571aacbfd02e57075df6"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6">AudioFormat</a> : int32_t { <a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6a4bbb8f967da6d1a610596d7257179c2b">AudioFormat::Invalid</a> = -1, 142<a class="el" href="namespaceoboe.html#a522e6806948369987639a0d1df03c029a6fcdc090caeade09d0efd6253932b6f5">Unspecified</a> = 0, 143<a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6abcd774f891b5f9df7099f3ea75dadf8d">AudioFormat::I16</a> = 1, 144<a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6a22ae0e2b89e5e3d477f988cc36d3272b">AudioFormat::Float</a> = 2 145 }</td></tr> 146<tr class="separator:a92afc593e856571aacbfd02e57075df6"><td class="memSeparator" colspan="2"> </td></tr> 147<tr class="memitem:af85fc9910a287df6c5df0ed396bb75cd"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#af85fc9910a287df6c5df0ed396bb75cd">DataCallbackResult</a> : int32_t { <b>Continue</b> = 0, 148<b>Stop</b> = 1 149 }</td></tr> 150<tr class="separator:af85fc9910a287df6c5df0ed396bb75cd"><td class="memSeparator" colspan="2"> </td></tr> 151<tr class="memitem:a486512e787b609c80ba4436f23929af1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a486512e787b609c80ba4436f23929af1">Result</a> : int32_t { <br /> 152  <b>OK</b> = 0, 153<b>ErrorBase</b> = -900, 154<b>ErrorDisconnected</b> = -899, 155<b>ErrorIllegalArgument</b> = -898, 156<br /> 157  <b>ErrorInternal</b> = -896, 158<b>ErrorInvalidState</b> = -895, 159<b>ErrorInvalidHandle</b> = -892, 160<b>ErrorUnimplemented</b> = -890, 161<br /> 162  <b>ErrorUnavailable</b> = -889, 163<b>ErrorNoFreeHandles</b> = -888, 164<b>ErrorNoMemory</b> = -887, 165<b>ErrorNull</b> = -886, 166<br /> 167  <b>ErrorTimeout</b> = -885, 168<b>ErrorWouldBlock</b> = -884, 169<b>ErrorInvalidFormat</b> = -883, 170<b>ErrorOutOfRange</b> = -882, 171<br /> 172  <b>ErrorNoService</b> = -881, 173<b>ErrorInvalidRate</b> = -880, 174<b>Reserved1</b>, 175<b>Reserved2</b>, 176<br /> 177  <b>Reserved3</b>, 178<b>Reserved4</b>, 179<b>Reserved5</b>, 180<b>Reserved6</b>, 181<br /> 182  <b>Reserved7</b>, 183<b>Reserved8</b>, 184<b>Reserved9</b>, 185<b>Reserved10</b>, 186<br /> 187  <b>ErrorClosed</b> 188<br /> 189 }</td></tr> 190<tr class="separator:a486512e787b609c80ba4436f23929af1"><td class="memSeparator" colspan="2"> </td></tr> 191<tr class="memitem:a8330247b25429953a08354f41834d520"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520">SharingMode</a> : int32_t { <a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520a2ef50b4c466304dc6ac77bac8a779971">SharingMode::Exclusive</a> = 0, 192<a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520aa6156ea9d66fef24e87e841fbabf7cca">SharingMode::Shared</a> = 1 193 }</td></tr> 194<tr class="separator:a8330247b25429953a08354f41834d520"><td class="memSeparator" colspan="2"> </td></tr> 195<tr class="memitem:a1068781f3920654b1bfd7ed136468184"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a1068781f3920654b1bfd7ed136468184">PerformanceMode</a> : int32_t { <a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eafa6adf97f83acf6453d4a6a4b1070f3754">None</a> = 10, 196<a class="el" href="namespaceoboe.html#a1068781f3920654b1bfd7ed136468184abbad080463ed11f9d77797c04aa1e5b1">PerformanceMode::PowerSaving</a> = 11, 197<a class="el" href="namespaceoboe.html#a1068781f3920654b1bfd7ed136468184a611907b5ab1865515c35357efa41a9b9">PerformanceMode::LowLatency</a> = 12 198 }</td></tr> 199<tr class="separator:a1068781f3920654b1bfd7ed136468184"><td class="memSeparator" colspan="2"> </td></tr> 200<tr class="memitem:a92972414867c81d5974cb2ed7abefbf6"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a92972414867c81d5974cb2ed7abefbf6">AudioApi</a> : int32_t { <a class="el" href="namespaceoboe.html#a522e6806948369987639a0d1df03c029a6fcdc090caeade09d0efd6253932b6f5">Unspecified</a> = kUnspecified, 201<a class="el" href="namespaceoboe.html#a92972414867c81d5974cb2ed7abefbf6a24e758ea9c1e842ef71cc8ff8b63fa9b">AudioApi::OpenSLES</a>, 202<a class="el" href="namespaceoboe.html#a92972414867c81d5974cb2ed7abefbf6a99780b1e8d754eb42abed0ca5253e55b">AudioApi::AAudio</a> 203 }</td></tr> 204<tr class="separator:a92972414867c81d5974cb2ed7abefbf6"><td class="memSeparator" colspan="2"> </td></tr> 205<tr class="memitem:a82f3720eba7654aceb7282be36f9ff1d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a82f3720eba7654aceb7282be36f9ff1d">SampleRateConversionQuality</a> : int32_t { <br /> 206  <a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eafa6adf97f83acf6453d4a6a4b1070f3754">None</a>, 207<a class="el" href="namespaceoboe.html#a82f3720eba7654aceb7282be36f9ff1da90fd7fdf6f41406a75e5265b9583bb4e">SampleRateConversionQuality::Fastest</a>, 208<b>Low</b>, 209<b>Medium</b>, 210<br /> 211  <b>High</b>, 212<a class="el" href="namespaceoboe.html#a82f3720eba7654aceb7282be36f9ff1da68ef004de6166492c1d668eb8efe09bd">SampleRateConversionQuality::Best</a> 213<br /> 214 }</td></tr> 215<tr class="separator:a82f3720eba7654aceb7282be36f9ff1d"><td class="memSeparator" colspan="2"> </td></tr> 216<tr class="memitem:a104ee8396c173fefac429759ea3c21a0"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0">Usage</a> : int32_t { <br /> 217  <a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a3b563524fdb17b4a86590470d40bef74">Usage::Media</a> = 1, 218<a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06a5bad8854288c956062ec1d4d7c14fed6">VoiceCommunication</a> = 2, 219<a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a404f62633744bf4da0c6a27a2b78ce74">Usage::VoiceCommunicationSignalling</a> = 3, 220<a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a46c4c4d980dfe025ae5b35aa0011dde4">Usage::Alarm</a> = 4, 221<br /> 222  <a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a96d008db67fc0b5551a926842bbb6a71">Usage::Notification</a> = 5, 223<a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a4e7a4b08274d472394b740a20d3bbdaf">Usage::NotificationRingtone</a> = 6, 224<a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a089240b5380dbd12f1eac0ec258a3b2f">Usage::NotificationEvent</a> = 10, 225<a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a639ffd54516c1a84a288a363c9469df8">Usage::AssistanceAccessibility</a> = 11, 226<br /> 227  <a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0ade058a1314f9a8504593259ff4f21a1e">Usage::AssistanceNavigationGuidance</a> = 12, 228<a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a1ce57a0572748beebfc0c664ca1077e7">Usage::AssistanceSonification</a> = 13, 229<a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a63d72051e901c069f8aa1b32aa0c43bb">Usage::Game</a> = 14, 230<a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0a9b1363da9503dbd4142c0274a88e8d4b">Usage::Assistant</a> = 16 231<br /> 232 }</td></tr> 233<tr class="separator:a104ee8396c173fefac429759ea3c21a0"><td class="memSeparator" colspan="2"> </td></tr> 234<tr class="memitem:a2a3cec6f021c1a324df60273710c604b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604b">ContentType</a> : int32_t { <a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604ba3dc48a4b4619aa4edd1da7b937b4dcd1">Speech</a> = 1, 235<a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604bac156fcc7b29059305cef26f3904d4517">Music</a> = 2, 236<a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604ba8b3b366178c2b7b1688bca6cd33758b1">Movie</a> = 3, 237<a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604ba0885eef555037e94a7cf39fe683c2799">Sonification</a> = 4 238 }</td></tr> 239<tr class="separator:a2a3cec6f021c1a324df60273710c604b"><td class="memSeparator" colspan="2"> </td></tr> 240<tr class="memitem:a4477ed232b02e2694d9309baf55a8f06"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06">InputPreset</a> : int32_t { <br /> 241  <a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06a0ba6f369e7f8a700c14afe2992290544">Generic</a> = 1, 242<a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06a6e8ef178769235d18b44fe2bb5ab33fe">Camcorder</a> = 5, 243<a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06af6e440b4e9edf49afe18aa4be77be6fc">VoiceRecognition</a> = 6, 244<a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06a1862e72c9730c448fbec6f61a5d8234d">VoiceCommunication</a> = 7, 245<br /> 246  <a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06a5bad8854288c956062ec1d4d7c14fed6">VoiceCommunication</a> = 2, 247<a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06acad9424158aefae0af7975901b11d85f">Unprocessed</a> = 9, 248<a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06ad19edec0a23e435c774bf3bbcf1d999c">VoicePerformance</a> = 10 249<br /> 250 }</td></tr> 251<tr class="separator:a4477ed232b02e2694d9309baf55a8f06"><td class="memSeparator" colspan="2"> </td></tr> 252<tr class="memitem:a5752250c10e96179e3618d7f72937eaf"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eaf">SessionId</a> { <a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eafa58c518b26e83ea48393a76f6c9ecb51f">None</a> = -1, 253<a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eafa6adf97f83acf6453d4a6a4b1070f3754">None</a> = 10, 254<a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eafa6adf97f83acf6453d4a6a4b1070f3754">None</a>, 255<a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eafa8485ca716c8cd4aafee372fd7028c123">Allocate</a> = 0 256 }</td></tr> 257<tr class="separator:a5752250c10e96179e3618d7f72937eaf"><td class="memSeparator" colspan="2"> </td></tr> 258<tr class="memitem:a522e6806948369987639a0d1df03c029"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a522e6806948369987639a0d1df03c029">ChannelCount</a> : int32_t { <br /> 259  <a class="el" href="namespaceoboe.html#a522e6806948369987639a0d1df03c029a946257a568f77c12df4fc4c49125da76">Unspecified</a> = kUnspecified, 260<a class="el" href="namespaceoboe.html#a522e6806948369987639a0d1df03c029a6fcdc090caeade09d0efd6253932b6f5">Unspecified</a> = 0, 261<a class="el" href="namespaceoboe.html#a522e6806948369987639a0d1df03c029a6fcdc090caeade09d0efd6253932b6f5">Unspecified</a> = kUnspecified, 262<a class="el" href="namespaceoboe.html#a522e6806948369987639a0d1df03c029a8be103218645e121b51078620f452c79">Mono</a> = 1, 263<br /> 264  <a class="el" href="namespaceoboe.html#a522e6806948369987639a0d1df03c029a534e646333ca7568317b171ea96b89ba">Stereo</a> = 2 265<br /> 266 }</td></tr> 267<tr class="separator:a522e6806948369987639a0d1df03c029"><td class="memSeparator" colspan="2"> </td></tr> 268</table><table class="memberdecls"> 269<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> 270Functions</h2></td></tr> 271<tr class="memitem:aa403103686222502d1cfc47bafc10aeb"><td class="memTemplParams" colspan="2">template<typename T > </td></tr> 272<tr class="memitem:aa403103686222502d1cfc47bafc10aeb"><td class="memTemplItemLeft" align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#aa403103686222502d1cfc47bafc10aeb">operator<<</a> (std::ostream &strm, const <a class="el" href="classoboe_1_1_result_with_value.html">ResultWithValue</a>< T > &result)</td></tr> 273<tr class="separator:aa403103686222502d1cfc47bafc10aeb"><td class="memSeparator" colspan="2"> </td></tr> 274<tr class="memitem:adbda063116feb9fa98a31ee820170060"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#adbda063116feb9fa98a31ee820170060">convertFloatToPcm16</a> (const float *source, int16_t *destination, int32_t numSamples)</td></tr> 275<tr class="separator:adbda063116feb9fa98a31ee820170060"><td class="memSeparator" colspan="2"> </td></tr> 276<tr class="memitem:ad17bee42828d13f2ef62a889e175c643"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#ad17bee42828d13f2ef62a889e175c643">convertPcm16ToFloat</a> (const int16_t *source, float *destination, int32_t numSamples)</td></tr> 277<tr class="separator:ad17bee42828d13f2ef62a889e175c643"><td class="memSeparator" colspan="2"> </td></tr> 278<tr class="memitem:ac67383a3df0f6e7a51f8415ffd9fdaca"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#ac67383a3df0f6e7a51f8415ffd9fdaca">convertFormatToSizeInBytes</a> (<a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6">AudioFormat</a> format)</td></tr> 279<tr class="separator:ac67383a3df0f6e7a51f8415ffd9fdaca"><td class="memSeparator" colspan="2"> </td></tr> 280<tr class="memitem:af65aaea3c5d82eee6906664d61c094b3"><td class="memTemplParams" colspan="2">template<typename FromType > </td></tr> 281<tr class="memitem:af65aaea3c5d82eee6906664d61c094b3"><td class="memTemplItemLeft" align="right" valign="top">const char * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#af65aaea3c5d82eee6906664d61c094b3">convertToText</a> (FromType input)</td></tr> 282<tr class="separator:af65aaea3c5d82eee6906664d61c094b3"><td class="memSeparator" colspan="2"> </td></tr> 283<tr class="memitem:a1ff1f1323d722494dac353a6b4d1bd5b"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a1ff1f1323d722494dac353a6b4d1bd5b">getPropertyString</a> (const char *name)</td></tr> 284<tr class="separator:a1ff1f1323d722494dac353a6b4d1bd5b"><td class="memSeparator" colspan="2"> </td></tr> 285<tr class="memitem:a4284cffcf4d852ca4f357429303d7af5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a4284cffcf4d852ca4f357429303d7af5">getPropertyInteger</a> (const char *name, int defaultValue)</td></tr> 286<tr class="separator:a4284cffcf4d852ca4f357429303d7af5"><td class="memSeparator" colspan="2"> </td></tr> 287<tr class="memitem:a54528938e9fccab7ad8947ccf0e409db"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a54528938e9fccab7ad8947ccf0e409db">getSdkVersion</a> ()</td></tr> 288<tr class="separator:a54528938e9fccab7ad8947ccf0e409db"><td class="memSeparator" colspan="2"> </td></tr> 289<tr class="memitem:a78417a797f5306478c8a37cee53fd12a"><td class="memItemLeft" align="right" valign="top"><a id="a78417a797f5306478c8a37cee53fd12a"></a> 290const char * </td><td class="memItemRight" valign="bottom"><b>getVersionText</b> ()</td></tr> 291<tr class="separator:a78417a797f5306478c8a37cee53fd12a"><td class="memSeparator" colspan="2"> </td></tr> 292</table><table class="memberdecls"> 293<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> 294Variables</h2></td></tr> 295<tr class="memitem:aab8f5f081a8b2147e16ec920347c1b5c"><td class="memItemLeft" align="right" valign="top">constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#aab8f5f081a8b2147e16ec920347c1b5c">kDefaultTimeoutNanos</a> = (2000 * <a class="el" href="namespaceoboe.html#a831e887150474c087170679eaca8672b">kNanosPerMillisecond</a>)</td></tr> 296<tr class="separator:aab8f5f081a8b2147e16ec920347c1b5c"><td class="memSeparator" colspan="2"> </td></tr> 297<tr class="memitem:ab0772052200184e514082eaa89be7905"><td class="memItemLeft" align="right" valign="top">constexpr int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#ab0772052200184e514082eaa89be7905">kUnspecified</a> = 0</td></tr> 298<tr class="separator:ab0772052200184e514082eaa89be7905"><td class="memSeparator" colspan="2"> </td></tr> 299<tr class="memitem:aedef0759ae3622b6f0324799bcbdebf0"><td class="memItemLeft" align="right" valign="top">constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#aedef0759ae3622b6f0324799bcbdebf0">kNanosPerMicrosecond</a> = 1000</td></tr> 300<tr class="separator:aedef0759ae3622b6f0324799bcbdebf0"><td class="memSeparator" colspan="2"> </td></tr> 301<tr class="memitem:a831e887150474c087170679eaca8672b"><td class="memItemLeft" align="right" valign="top">constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a831e887150474c087170679eaca8672b">kNanosPerMillisecond</a> = <a class="el" href="namespaceoboe.html#aedef0759ae3622b6f0324799bcbdebf0">kNanosPerMicrosecond</a> * 1000</td></tr> 302<tr class="separator:a831e887150474c087170679eaca8672b"><td class="memSeparator" colspan="2"> </td></tr> 303<tr class="memitem:ad1bb9f5626cec20d3a052a8721959873"><td class="memItemLeft" align="right" valign="top">constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#ad1bb9f5626cec20d3a052a8721959873">kMillisPerSecond</a> = 1000</td></tr> 304<tr class="separator:ad1bb9f5626cec20d3a052a8721959873"><td class="memSeparator" colspan="2"> </td></tr> 305<tr class="memitem:a5948466b593c4eab65f7025846a39f51"><td class="memItemLeft" align="right" valign="top">constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoboe.html#a5948466b593c4eab65f7025846a39f51">kNanosPerSecond</a> = <a class="el" href="namespaceoboe.html#a831e887150474c087170679eaca8672b">kNanosPerMillisecond</a> * <a class="el" href="namespaceoboe.html#ad1bb9f5626cec20d3a052a8721959873">kMillisPerSecond</a></td></tr> 306<tr class="separator:a5948466b593c4eab65f7025846a39f51"><td class="memSeparator" colspan="2"> </td></tr> 307</table> 308<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> 309<div class="textblock"><p>WARNING - UNDER CONSTRUCTION - THIS API WILL CHANGE. </p> 310</div><h2 class="groupheader">Enumeration Type Documentation</h2> 311<a id="a92972414867c81d5974cb2ed7abefbf6"></a> 312<h2 class="memtitle"><span class="permalink"><a href="#a92972414867c81d5974cb2ed7abefbf6">◆ </a></span>AudioApi</h2> 313 314<div class="memitem"> 315<div class="memproto"> 316<table class="mlabels"> 317 <tr> 318 <td class="mlabels-left"> 319 <table class="memname"> 320 <tr> 321 <td class="memname">enum <a class="el" href="namespaceoboe.html#a92972414867c81d5974cb2ed7abefbf6">oboe::AudioApi</a> : int32_t</td> 322 </tr> 323 </table> 324 </td> 325 <td class="mlabels-right"> 326<span class="mlabels"><span class="mlabel">strong</span></span> </td> 327 </tr> 328</table> 329</div><div class="memdoc"> 330<p>The underlying audio API used by the audio stream. </p> 331<table class="fieldtable"> 332<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a522e6806948369987639a0d1df03c029a6fcdc090caeade09d0efd6253932b6f5"></a>Unspecified </td><td class="fielddoc"><p>Try to use AAudio. If not available then use OpenSL ES. </p> 333</td></tr> 334<tr><td class="fieldname"><a id="a92972414867c81d5974cb2ed7abefbf6a24e758ea9c1e842ef71cc8ff8b63fa9b"></a>OpenSLES </td><td class="fielddoc"><p>Use OpenSL ES. </p> 335</td></tr> 336<tr><td class="fieldname"><a id="a92972414867c81d5974cb2ed7abefbf6a99780b1e8d754eb42abed0ca5253e55b"></a>AAudio </td><td class="fielddoc"><p>Try to use AAudio. Fail if unavailable. </p> 337</td></tr> 338</table> 339 340</div> 341</div> 342<a id="a92afc593e856571aacbfd02e57075df6"></a> 343<h2 class="memtitle"><span class="permalink"><a href="#a92afc593e856571aacbfd02e57075df6">◆ </a></span>AudioFormat</h2> 344 345<div class="memitem"> 346<div class="memproto"> 347<table class="mlabels"> 348 <tr> 349 <td class="mlabels-left"> 350 <table class="memname"> 351 <tr> 352 <td class="memname">enum <a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6">oboe::AudioFormat</a> : int32_t</td> 353 </tr> 354 </table> 355 </td> 356 <td class="mlabels-right"> 357<span class="mlabels"><span class="mlabel">strong</span></span> </td> 358 </tr> 359</table> 360</div><div class="memdoc"> 361<p>The format of audio samples. </p> 362<table class="fieldtable"> 363<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a92afc593e856571aacbfd02e57075df6a4bbb8f967da6d1a610596d7257179c2b"></a>Invalid </td><td class="fielddoc"><p>Invalid format. </p> 364</td></tr> 365<tr><td class="fieldname"><a id="a522e6806948369987639a0d1df03c029a6fcdc090caeade09d0efd6253932b6f5"></a>Unspecified </td><td class="fielddoc"><p>Unspecified format. Format will be decided by Oboe. </p> 366</td></tr> 367<tr><td class="fieldname"><a id="a92afc593e856571aacbfd02e57075df6abcd774f891b5f9df7099f3ea75dadf8d"></a>I16 </td><td class="fielddoc"><p>Signed 16-bit integers. </p> 368</td></tr> 369<tr><td class="fieldname"><a id="a92afc593e856571aacbfd02e57075df6a22ae0e2b89e5e3d477f988cc36d3272b"></a>Float </td><td class="fielddoc"><p>Single precision floating points. </p> 370</td></tr> 371</table> 372 373</div> 374</div> 375<a id="a522e6806948369987639a0d1df03c029"></a> 376<h2 class="memtitle"><span class="permalink"><a href="#a522e6806948369987639a0d1df03c029">◆ </a></span>ChannelCount</h2> 377 378<div class="memitem"> 379<div class="memproto"> 380 <table class="memname"> 381 <tr> 382 <td class="memname">enum <a class="el" href="namespaceoboe.html#a522e6806948369987639a0d1df03c029">oboe::ChannelCount</a> : int32_t</td> 383 </tr> 384 </table> 385</div><div class="memdoc"> 386<p>The channel count of the audio stream. The underlying type is <code>int32_t</code>. Use of this enum is convenient to avoid "magic" numbers when specifying the channel count.</p> 387<p>For example, you can write <code>builder.setChannelCount(ChannelCount::Stereo)</code> rather than <code>builder.setChannelCount(2)</code> </p> 388<table class="fieldtable"> 389<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a522e6806948369987639a0d1df03c029a946257a568f77c12df4fc4c49125da76"></a>Unspecified </td><td class="fielddoc"><p>Audio channel count definition, use Mono or Stereo </p> 390</td></tr> 391<tr><td class="fieldname"><a id="a522e6806948369987639a0d1df03c029a6fcdc090caeade09d0efd6253932b6f5"></a>Unspecified </td><td class="fielddoc"><p>Unspecified format. Format will be decided by Oboe. </p> 392</td></tr> 393<tr><td class="fieldname"><a id="a522e6806948369987639a0d1df03c029a6fcdc090caeade09d0efd6253932b6f5"></a>Unspecified </td><td class="fielddoc"><p>Try to use AAudio. If not available then use OpenSL ES. </p> 394</td></tr> 395<tr><td class="fieldname"><a id="a522e6806948369987639a0d1df03c029a8be103218645e121b51078620f452c79"></a>Mono </td><td class="fielddoc"><p>Use this for mono audio </p> 396</td></tr> 397<tr><td class="fieldname"><a id="a522e6806948369987639a0d1df03c029a534e646333ca7568317b171ea96b89ba"></a>Stereo </td><td class="fielddoc"><p>Use this for stereo audio. </p> 398</td></tr> 399</table> 400 401</div> 402</div> 403<a id="a2a3cec6f021c1a324df60273710c604b"></a> 404<h2 class="memtitle"><span class="permalink"><a href="#a2a3cec6f021c1a324df60273710c604b">◆ </a></span>ContentType</h2> 405 406<div class="memitem"> 407<div class="memproto"> 408 <table class="memname"> 409 <tr> 410 <td class="memname">enum <a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604b">oboe::ContentType</a> : int32_t</td> 411 </tr> 412 </table> 413</div><div class="memdoc"> 414<p>The ContentType attribute describes <em>what</em> you are playing. It expresses the general category of the content. This information is optional. But in case it is known (for instance <a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604ba8b3b366178c2b7b1688bca6cd33758b1">Movie</a> for a movie streaming service or <a class="el" href="namespaceoboe.html#a2a3cec6f021c1a324df60273710c604ba3dc48a4b4619aa4edd1da7b937b4dcd1">Speech</a> for an audio book application) this information might be used by the audio framework to enforce audio focus.</p> 415<p>Note that these match the equivalent values in AudioAttributes in the Android Java API.</p> 416<p>This attribute only has an effect on Android API 28+. </p> 417<table class="fieldtable"> 418<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2a3cec6f021c1a324df60273710c604ba3dc48a4b4619aa4edd1da7b937b4dcd1"></a>Speech </td><td class="fielddoc"><p>Use this for spoken voice, audio books, etcetera. </p> 419</td></tr> 420<tr><td class="fieldname"><a id="a2a3cec6f021c1a324df60273710c604bac156fcc7b29059305cef26f3904d4517"></a>Music </td><td class="fielddoc"><p>Use this for pre-recorded or live music. </p> 421</td></tr> 422<tr><td class="fieldname"><a id="a2a3cec6f021c1a324df60273710c604ba8b3b366178c2b7b1688bca6cd33758b1"></a>Movie </td><td class="fielddoc"><p>Use this for a movie or video soundtrack. </p> 423</td></tr> 424<tr><td class="fieldname"><a id="a2a3cec6f021c1a324df60273710c604ba0885eef555037e94a7cf39fe683c2799"></a>Sonification </td><td class="fielddoc"><p>Use this for sound is designed to accompany a user action, such as a click or beep sound made when the user presses a button. </p> 425</td></tr> 426</table> 427 428</div> 429</div> 430<a id="af85fc9910a287df6c5df0ed396bb75cd"></a> 431<h2 class="memtitle"><span class="permalink"><a href="#af85fc9910a287df6c5df0ed396bb75cd">◆ </a></span>DataCallbackResult</h2> 432 433<div class="memitem"> 434<div class="memproto"> 435<table class="mlabels"> 436 <tr> 437 <td class="mlabels-left"> 438 <table class="memname"> 439 <tr> 440 <td class="memname">enum <a class="el" href="namespaceoboe.html#af85fc9910a287df6c5df0ed396bb75cd">oboe::DataCallbackResult</a> : int32_t</td> 441 </tr> 442 </table> 443 </td> 444 <td class="mlabels-right"> 445<span class="mlabels"><span class="mlabel">strong</span></span> </td> 446 </tr> 447</table> 448</div><div class="memdoc"> 449<p>The result of an audio callback. </p> 450 451</div> 452</div> 453<a id="af2147500089212955498a08ef2edb5ae"></a> 454<h2 class="memtitle"><span class="permalink"><a href="#af2147500089212955498a08ef2edb5ae">◆ </a></span>Direction</h2> 455 456<div class="memitem"> 457<div class="memproto"> 458<table class="mlabels"> 459 <tr> 460 <td class="mlabels-left"> 461 <table class="memname"> 462 <tr> 463 <td class="memname">enum <a class="el" href="namespaceoboe.html#af2147500089212955498a08ef2edb5ae">oboe::Direction</a> : int32_t</td> 464 </tr> 465 </table> 466 </td> 467 <td class="mlabels-right"> 468<span class="mlabels"><span class="mlabel">strong</span></span> </td> 469 </tr> 470</table> 471</div><div class="memdoc"> 472<p>The direction of the stream. </p> 473<table class="fieldtable"> 474<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af2147500089212955498a08ef2edb5aea29c2c02a361c9d7028472e5d92cd4a54"></a>Output </td><td class="fielddoc"><p>Used for playback. </p> 475</td></tr> 476<tr><td class="fieldname"><a id="af2147500089212955498a08ef2edb5aea324118a6721dd6b8a9b9f4e327df2bf5"></a>Input </td><td class="fielddoc"><p>Used for recording. </p> 477</td></tr> 478</table> 479 480</div> 481</div> 482<a id="a4477ed232b02e2694d9309baf55a8f06"></a> 483<h2 class="memtitle"><span class="permalink"><a href="#a4477ed232b02e2694d9309baf55a8f06">◆ </a></span>InputPreset</h2> 484 485<div class="memitem"> 486<div class="memproto"> 487 <table class="memname"> 488 <tr> 489 <td class="memname">enum <a class="el" href="namespaceoboe.html#a4477ed232b02e2694d9309baf55a8f06">oboe::InputPreset</a> : int32_t</td> 490 </tr> 491 </table> 492</div><div class="memdoc"> 493<p>Defines the audio source. An audio source defines both a default physical source of audio signal, and a recording configuration.</p> 494<p>Note that these match the equivalent values in MediaRecorder.AudioSource in the Android Java API.</p> 495<p>This attribute only has an effect on Android API 28+. </p> 496<table class="fieldtable"> 497<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4477ed232b02e2694d9309baf55a8f06a0ba6f369e7f8a700c14afe2992290544"></a>Generic </td><td class="fielddoc"><p>Use this preset when other presets do not apply. </p> 498</td></tr> 499<tr><td class="fieldname"><a id="a4477ed232b02e2694d9309baf55a8f06a6e8ef178769235d18b44fe2bb5ab33fe"></a>Camcorder </td><td class="fielddoc"><p>Use this preset when recording video. </p> 500</td></tr> 501<tr><td class="fieldname"><a id="a4477ed232b02e2694d9309baf55a8f06af6e440b4e9edf49afe18aa4be77be6fc"></a>VoiceRecognition </td><td class="fielddoc"><p>Use this preset when doing speech recognition. </p> 502</td></tr> 503<tr><td class="fieldname"><a id="a4477ed232b02e2694d9309baf55a8f06a1862e72c9730c448fbec6f61a5d8234d"></a>VoiceCommunication </td><td class="fielddoc"><p>Use this preset when doing telephony or voice messaging. </p> 504</td></tr> 505<tr><td class="fieldname"><a id="a4477ed232b02e2694d9309baf55a8f06a5bad8854288c956062ec1d4d7c14fed6"></a>VoiceCommunication </td><td class="fielddoc"><p>Use this for voice over IP, telephony, etcetera. </p> 506</td></tr> 507<tr><td class="fieldname"><a id="a4477ed232b02e2694d9309baf55a8f06acad9424158aefae0af7975901b11d85f"></a>Unprocessed </td><td class="fielddoc"><p>Use this preset to obtain an input with no effects. Note that this input will not have automatic gain control so the recorded volume may be very low. </p> 508</td></tr> 509<tr><td class="fieldname"><a id="a4477ed232b02e2694d9309baf55a8f06ad19edec0a23e435c774bf3bbcf1d999c"></a>VoicePerformance </td><td class="fielddoc"><p>Use this preset for capturing audio meant to be processed in real time and played back for live performance (e.g karaoke). The capture path will minimize latency and coupling with playback path. </p> 510</td></tr> 511</table> 512 513</div> 514</div> 515<a id="a1068781f3920654b1bfd7ed136468184"></a> 516<h2 class="memtitle"><span class="permalink"><a href="#a1068781f3920654b1bfd7ed136468184">◆ </a></span>PerformanceMode</h2> 517 518<div class="memitem"> 519<div class="memproto"> 520<table class="mlabels"> 521 <tr> 522 <td class="mlabels-left"> 523 <table class="memname"> 524 <tr> 525 <td class="memname">enum <a class="el" href="namespaceoboe.html#a1068781f3920654b1bfd7ed136468184">oboe::PerformanceMode</a> : int32_t</td> 526 </tr> 527 </table> 528 </td> 529 <td class="mlabels-right"> 530<span class="mlabels"><span class="mlabel">strong</span></span> </td> 531 </tr> 532</table> 533</div><div class="memdoc"> 534<p>The performance mode of the audio stream. </p> 535<table class="fieldtable"> 536<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5752250c10e96179e3618d7f72937eafa6adf97f83acf6453d4a6a4b1070f3754"></a>None </td><td class="fielddoc"><p>No particular performance needs. Default. </p> 537</td></tr> 538<tr><td class="fieldname"><a id="a1068781f3920654b1bfd7ed136468184abbad080463ed11f9d77797c04aa1e5b1"></a>PowerSaving </td><td class="fielddoc"><p>Extending battery life is most important. </p> 539</td></tr> 540<tr><td class="fieldname"><a id="a1068781f3920654b1bfd7ed136468184a611907b5ab1865515c35357efa41a9b9"></a>LowLatency </td><td class="fielddoc"><p>Reducing latency is most important. </p> 541</td></tr> 542</table> 543 544</div> 545</div> 546<a id="a486512e787b609c80ba4436f23929af1"></a> 547<h2 class="memtitle"><span class="permalink"><a href="#a486512e787b609c80ba4436f23929af1">◆ </a></span>Result</h2> 548 549<div class="memitem"> 550<div class="memproto"> 551<table class="mlabels"> 552 <tr> 553 <td class="mlabels-left"> 554 <table class="memname"> 555 <tr> 556 <td class="memname">enum <a class="el" href="namespaceoboe.html#a486512e787b609c80ba4436f23929af1">oboe::Result</a> : int32_t</td> 557 </tr> 558 </table> 559 </td> 560 <td class="mlabels-right"> 561<span class="mlabels"><span class="mlabel">strong</span></span> </td> 562 </tr> 563</table> 564</div><div class="memdoc"> 565<p>The result of an operation. All except the <code>OK</code> result indicates that an error occurred. The <code>Result</code> can be converted into a human readable string using <code>convertToText</code>. </p> 566 567</div> 568</div> 569<a id="a82f3720eba7654aceb7282be36f9ff1d"></a> 570<h2 class="memtitle"><span class="permalink"><a href="#a82f3720eba7654aceb7282be36f9ff1d">◆ </a></span>SampleRateConversionQuality</h2> 571 572<div class="memitem"> 573<div class="memproto"> 574<table class="mlabels"> 575 <tr> 576 <td class="mlabels-left"> 577 <table class="memname"> 578 <tr> 579 <td class="memname">enum <a class="el" href="namespaceoboe.html#a82f3720eba7654aceb7282be36f9ff1d">oboe::SampleRateConversionQuality</a> : int32_t</td> 580 </tr> 581 </table> 582 </td> 583 <td class="mlabels-right"> 584<span class="mlabels"><span class="mlabel">strong</span></span> </td> 585 </tr> 586</table> 587</div><div class="memdoc"> 588<p>Specifies the quality of the sample rate conversion performed by Oboe. Higher quality will require more CPU load. Higher quality conversion will probably be implemented using a sinc based resampler. </p> 589<table class="fieldtable"> 590<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5752250c10e96179e3618d7f72937eafa6adf97f83acf6453d4a6a4b1070f3754"></a>None </td><td class="fielddoc"><p>No conversion by Oboe. Underlying APIs may still do conversion. </p> 591</td></tr> 592<tr><td class="fieldname"><a id="a82f3720eba7654aceb7282be36f9ff1da90fd7fdf6f41406a75e5265b9583bb4e"></a>Fastest </td><td class="fielddoc"><p>Fastest conversion but may not sound great. This may be implemented using bilinear interpolation. </p> 593</td></tr> 594<tr><td class="fieldname"><a id="a82f3720eba7654aceb7282be36f9ff1da68ef004de6166492c1d668eb8efe09bd"></a>Best </td><td class="fielddoc"><p>Highest quality conversion, which may be expensive in terms of CPU. </p> 595</td></tr> 596</table> 597 598</div> 599</div> 600<a id="a5752250c10e96179e3618d7f72937eaf"></a> 601<h2 class="memtitle"><span class="permalink"><a href="#a5752250c10e96179e3618d7f72937eaf">◆ </a></span>SessionId</h2> 602 603<div class="memitem"> 604<div class="memproto"> 605 <table class="memname"> 606 <tr> 607 <td class="memname">enum <a class="el" href="namespaceoboe.html#a5752250c10e96179e3618d7f72937eaf">oboe::SessionId</a></td> 608 </tr> 609 </table> 610</div><div class="memdoc"> 611<p>This attribute can be used to allocate a session ID to the audio stream.</p> 612<p>This attribute only has an effect on Android API 28+. </p> 613<table class="fieldtable"> 614<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5752250c10e96179e3618d7f72937eafa58c518b26e83ea48393a76f6c9ecb51f"></a>None </td><td class="fielddoc"><p>Do not allocate a session ID. Effects cannot be used with this stream. Default. </p> 615</td></tr> 616<tr><td class="fieldname"><a id="a5752250c10e96179e3618d7f72937eafa6adf97f83acf6453d4a6a4b1070f3754"></a>None </td><td class="fielddoc"><p>No particular performance needs. Default. </p> 617</td></tr> 618<tr><td class="fieldname"><a id="a5752250c10e96179e3618d7f72937eafa6adf97f83acf6453d4a6a4b1070f3754"></a>None </td><td class="fielddoc"><p>No conversion by Oboe. Underlying APIs may still do conversion. </p> 619</td></tr> 620<tr><td class="fieldname"><a id="a5752250c10e96179e3618d7f72937eafa8485ca716c8cd4aafee372fd7028c123"></a>Allocate </td><td class="fielddoc"><p>Allocate a session ID that can be used to attach and control effects using the Java AudioEffects API. Note that the use of this flag may result in higher latency.</p> 621<p>Note that this matches the value of AudioManager.AUDIO_SESSION_ID_GENERATE. </p> 622</td></tr> 623</table> 624 625</div> 626</div> 627<a id="a8330247b25429953a08354f41834d520"></a> 628<h2 class="memtitle"><span class="permalink"><a href="#a8330247b25429953a08354f41834d520">◆ </a></span>SharingMode</h2> 629 630<div class="memitem"> 631<div class="memproto"> 632<table class="mlabels"> 633 <tr> 634 <td class="mlabels-left"> 635 <table class="memname"> 636 <tr> 637 <td class="memname">enum <a class="el" href="namespaceoboe.html#a8330247b25429953a08354f41834d520">oboe::SharingMode</a> : int32_t</td> 638 </tr> 639 </table> 640 </td> 641 <td class="mlabels-right"> 642<span class="mlabels"><span class="mlabel">strong</span></span> </td> 643 </tr> 644</table> 645</div><div class="memdoc"> 646<p>The sharing mode of the audio stream. </p> 647<table class="fieldtable"> 648<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a8330247b25429953a08354f41834d520a2ef50b4c466304dc6ac77bac8a779971"></a>Exclusive </td><td class="fielddoc"><p>This will be the only stream using a particular source or sink. This mode will provide the lowest possible latency. You should close EXCLUSIVE streams immediately when you are not using them.</p> 649<p>If you do not need the lowest possible latency then we recommend using Shared, which is the default. </p> 650</td></tr> 651<tr><td class="fieldname"><a id="a8330247b25429953a08354f41834d520aa6156ea9d66fef24e87e841fbabf7cca"></a>Shared </td><td class="fielddoc"><p>Multiple applications can share the same device. The data from output streams will be mixed by the audio service. The data for input streams will be distributed by the audio service.</p> 652<p>This will have higher latency than the EXCLUSIVE mode. </p> 653</td></tr> 654</table> 655 656</div> 657</div> 658<a id="a89fa2ce046723764618c29db737917f6"></a> 659<h2 class="memtitle"><span class="permalink"><a href="#a89fa2ce046723764618c29db737917f6">◆ </a></span>StreamState</h2> 660 661<div class="memitem"> 662<div class="memproto"> 663<table class="mlabels"> 664 <tr> 665 <td class="mlabels-left"> 666 <table class="memname"> 667 <tr> 668 <td class="memname">enum <a class="el" href="namespaceoboe.html#a89fa2ce046723764618c29db737917f6">oboe::StreamState</a> : int32_t</td> 669 </tr> 670 </table> 671 </td> 672 <td class="mlabels-right"> 673<span class="mlabels"><span class="mlabel">strong</span></span> </td> 674 </tr> 675</table> 676</div><div class="memdoc"> 677<p>The state of the audio stream. </p> 678 679</div> 680</div> 681<a id="a104ee8396c173fefac429759ea3c21a0"></a> 682<h2 class="memtitle"><span class="permalink"><a href="#a104ee8396c173fefac429759ea3c21a0">◆ </a></span>Usage</h2> 683 684<div class="memitem"> 685<div class="memproto"> 686<table class="mlabels"> 687 <tr> 688 <td class="mlabels-left"> 689 <table class="memname"> 690 <tr> 691 <td class="memname">enum <a class="el" href="namespaceoboe.html#a104ee8396c173fefac429759ea3c21a0">oboe::Usage</a> : int32_t</td> 692 </tr> 693 </table> 694 </td> 695 <td class="mlabels-right"> 696<span class="mlabels"><span class="mlabel">strong</span></span> </td> 697 </tr> 698</table> 699</div><div class="memdoc"> 700<p>The Usage attribute expresses <em>why</em> you are playing a sound, what is this sound used for. This information is used by certain platforms or routing policies to make more refined volume or routing decisions.</p> 701<p>Note that these match the equivalent values in AudioAttributes in the Android Java API.</p> 702<p>This attribute only has an effect on Android API 28+. </p> 703<table class="fieldtable"> 704<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a3b563524fdb17b4a86590470d40bef74"></a>Media </td><td class="fielddoc"><p>Use this for streaming media, music performance, video, podcasts, etcetera. </p> 705</td></tr> 706<tr><td class="fieldname"><a id="a4477ed232b02e2694d9309baf55a8f06a5bad8854288c956062ec1d4d7c14fed6"></a>VoiceCommunication </td><td class="fielddoc"><p>Use this for voice over IP, telephony, etcetera. </p> 707</td></tr> 708<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a404f62633744bf4da0c6a27a2b78ce74"></a>VoiceCommunicationSignalling </td><td class="fielddoc"><p>Use this for sounds associated with telephony such as busy tones, DTMF, etcetera. </p> 709</td></tr> 710<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a46c4c4d980dfe025ae5b35aa0011dde4"></a>Alarm </td><td class="fielddoc"><p>Use this to demand the users attention. </p> 711</td></tr> 712<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a96d008db67fc0b5551a926842bbb6a71"></a>Notification </td><td class="fielddoc"><p>Use this for notifying the user when a message has arrived or some other background event has occured. </p> 713</td></tr> 714<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a4e7a4b08274d472394b740a20d3bbdaf"></a>NotificationRingtone </td><td class="fielddoc"><p>Use this when the phone rings. </p> 715</td></tr> 716<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a089240b5380dbd12f1eac0ec258a3b2f"></a>NotificationEvent </td><td class="fielddoc"><p>Use this to attract the users attention when, for example, the battery is low. </p> 717</td></tr> 718<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a639ffd54516c1a84a288a363c9469df8"></a>AssistanceAccessibility </td><td class="fielddoc"><p>Use this for screen readers, etcetera. </p> 719</td></tr> 720<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0ade058a1314f9a8504593259ff4f21a1e"></a>AssistanceNavigationGuidance </td><td class="fielddoc"><p>Use this for driving or navigation directions. </p> 721</td></tr> 722<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a1ce57a0572748beebfc0c664ca1077e7"></a>AssistanceSonification </td><td class="fielddoc"><p>Use this for user interface sounds, beeps, etcetera. </p> 723</td></tr> 724<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a63d72051e901c069f8aa1b32aa0c43bb"></a>Game </td><td class="fielddoc"><p>Use this for game audio and sound effects. </p> 725</td></tr> 726<tr><td class="fieldname"><a id="a104ee8396c173fefac429759ea3c21a0a9b1363da9503dbd4142c0274a88e8d4b"></a>Assistant </td><td class="fielddoc"><p>Use this for audio responses to user queries, audio instructions or help utterances. </p> 727</td></tr> 728</table> 729 730</div> 731</div> 732<h2 class="groupheader">Function Documentation</h2> 733<a id="adbda063116feb9fa98a31ee820170060"></a> 734<h2 class="memtitle"><span class="permalink"><a href="#adbda063116feb9fa98a31ee820170060">◆ </a></span>convertFloatToPcm16()</h2> 735 736<div class="memitem"> 737<div class="memproto"> 738 <table class="memname"> 739 <tr> 740 <td class="memname">void oboe::convertFloatToPcm16 </td> 741 <td>(</td> 742 <td class="paramtype">const float * </td> 743 <td class="paramname"><em>source</em>, </td> 744 </tr> 745 <tr> 746 <td class="paramkey"></td> 747 <td></td> 748 <td class="paramtype">int16_t * </td> 749 <td class="paramname"><em>destination</em>, </td> 750 </tr> 751 <tr> 752 <td class="paramkey"></td> 753 <td></td> 754 <td class="paramtype">int32_t </td> 755 <td class="paramname"><em>numSamples</em> </td> 756 </tr> 757 <tr> 758 <td></td> 759 <td>)</td> 760 <td></td><td></td> 761 </tr> 762 </table> 763</div><div class="memdoc"> 764<p>Convert an array of floats to an array of 16-bit integers.</p> 765<dl class="params"><dt>Parameters</dt><dd> 766 <table class="params"> 767 <tr><td class="paramname">source</td><td>the input array. </td></tr> 768 <tr><td class="paramname">destination</td><td>the output array. </td></tr> 769 <tr><td class="paramname">numSamples</td><td>the number of values to convert. </td></tr> 770 </table> 771 </dd> 772</dl> 773 774</div> 775</div> 776<a id="ac67383a3df0f6e7a51f8415ffd9fdaca"></a> 777<h2 class="memtitle"><span class="permalink"><a href="#ac67383a3df0f6e7a51f8415ffd9fdaca">◆ </a></span>convertFormatToSizeInBytes()</h2> 778 779<div class="memitem"> 780<div class="memproto"> 781 <table class="memname"> 782 <tr> 783 <td class="memname">int32_t oboe::convertFormatToSizeInBytes </td> 784 <td>(</td> 785 <td class="paramtype"><a class="el" href="namespaceoboe.html#a92afc593e856571aacbfd02e57075df6">AudioFormat</a> </td> 786 <td class="paramname"><em>format</em></td><td>)</td> 787 <td></td> 788 </tr> 789 </table> 790</div><div class="memdoc"> 791<dl class="section return"><dt>Returns</dt><dd>the size of a sample of the given format in bytes or 0 if format is invalid </dd></dl> 792 793</div> 794</div> 795<a id="ad17bee42828d13f2ef62a889e175c643"></a> 796<h2 class="memtitle"><span class="permalink"><a href="#ad17bee42828d13f2ef62a889e175c643">◆ </a></span>convertPcm16ToFloat()</h2> 797 798<div class="memitem"> 799<div class="memproto"> 800 <table class="memname"> 801 <tr> 802 <td class="memname">void oboe::convertPcm16ToFloat </td> 803 <td>(</td> 804 <td class="paramtype">const int16_t * </td> 805 <td class="paramname"><em>source</em>, </td> 806 </tr> 807 <tr> 808 <td class="paramkey"></td> 809 <td></td> 810 <td class="paramtype">float * </td> 811 <td class="paramname"><em>destination</em>, </td> 812 </tr> 813 <tr> 814 <td class="paramkey"></td> 815 <td></td> 816 <td class="paramtype">int32_t </td> 817 <td class="paramname"><em>numSamples</em> </td> 818 </tr> 819 <tr> 820 <td></td> 821 <td>)</td> 822 <td></td><td></td> 823 </tr> 824 </table> 825</div><div class="memdoc"> 826<p>Convert an array of 16-bit integers to an array of floats.</p> 827<dl class="params"><dt>Parameters</dt><dd> 828 <table class="params"> 829 <tr><td class="paramname">source</td><td>the input array. </td></tr> 830 <tr><td class="paramname">destination</td><td>the output array. </td></tr> 831 <tr><td class="paramname">numSamples</td><td>the number of values to convert. </td></tr> 832 </table> 833 </dd> 834</dl> 835 836</div> 837</div> 838<a id="af65aaea3c5d82eee6906664d61c094b3"></a> 839<h2 class="memtitle"><span class="permalink"><a href="#af65aaea3c5d82eee6906664d61c094b3">◆ </a></span>convertToText()</h2> 840 841<div class="memitem"> 842<div class="memproto"> 843<div class="memtemplate"> 844template<typename FromType > </div> 845 <table class="memname"> 846 <tr> 847 <td class="memname">const char* oboe::convertToText </td> 848 <td>(</td> 849 <td class="paramtype">FromType </td> 850 <td class="paramname"><em>input</em></td><td>)</td> 851 <td></td> 852 </tr> 853 </table> 854</div><div class="memdoc"> 855<p>The text is the ASCII symbol corresponding to the supplied Oboe enum value, or an English message saying the value is unrecognized. This is intended for developers to use when debugging. It is not for displaying to users.</p> 856<dl class="params"><dt>Parameters</dt><dd> 857 <table class="params"> 858 <tr><td class="paramname">input</td><td>object to convert from. </td></tr> 859 </table> 860 </dd> 861</dl> 862<dl class="section see"><dt>See also</dt><dd>common/Utilities.cpp for concrete implementations </dd></dl> 863<dl class="section return"><dt>Returns</dt><dd>text representation of an Oboe enum value. There is no need to call free on this. </dd></dl> 864 865</div> 866</div> 867<a id="a4284cffcf4d852ca4f357429303d7af5"></a> 868<h2 class="memtitle"><span class="permalink"><a href="#a4284cffcf4d852ca4f357429303d7af5">◆ </a></span>getPropertyInteger()</h2> 869 870<div class="memitem"> 871<div class="memproto"> 872 <table class="memname"> 873 <tr> 874 <td class="memname">int oboe::getPropertyInteger </td> 875 <td>(</td> 876 <td class="paramtype">const char * </td> 877 <td class="paramname"><em>name</em>, </td> 878 </tr> 879 <tr> 880 <td class="paramkey"></td> 881 <td></td> 882 <td class="paramtype">int </td> 883 <td class="paramname"><em>defaultValue</em> </td> 884 </tr> 885 <tr> 886 <td></td> 887 <td>)</td> 888 <td></td><td></td> 889 </tr> 890 </table> 891</div><div class="memdoc"> 892<dl class="params"><dt>Parameters</dt><dd> 893 <table class="params"> 894 <tr><td class="paramname">name</td><td></td></tr> 895 <tr><td class="paramname">defaultValue</td><td></td></tr> 896 </table> 897 </dd> 898</dl> 899<dl class="section return"><dt>Returns</dt><dd>integer value associated with a property or the default value </dd></dl> 900 901</div> 902</div> 903<a id="a1ff1f1323d722494dac353a6b4d1bd5b"></a> 904<h2 class="memtitle"><span class="permalink"><a href="#a1ff1f1323d722494dac353a6b4d1bd5b">◆ </a></span>getPropertyString()</h2> 905 906<div class="memitem"> 907<div class="memproto"> 908 <table class="memname"> 909 <tr> 910 <td class="memname">std::string oboe::getPropertyString </td> 911 <td>(</td> 912 <td class="paramtype">const char * </td> 913 <td class="paramname"><em>name</em></td><td>)</td> 914 <td></td> 915 </tr> 916 </table> 917</div><div class="memdoc"> 918<dl class="params"><dt>Parameters</dt><dd> 919 <table class="params"> 920 <tr><td class="paramname">name</td><td></td></tr> 921 </table> 922 </dd> 923</dl> 924<dl class="section return"><dt>Returns</dt><dd>the value of a named system property in a string or empty string </dd></dl> 925 926</div> 927</div> 928<a id="a54528938e9fccab7ad8947ccf0e409db"></a> 929<h2 class="memtitle"><span class="permalink"><a href="#a54528938e9fccab7ad8947ccf0e409db">◆ </a></span>getSdkVersion()</h2> 930 931<div class="memitem"> 932<div class="memproto"> 933 <table class="memname"> 934 <tr> 935 <td class="memname">int oboe::getSdkVersion </td> 936 <td>(</td> 937 <td class="paramname"></td><td>)</td> 938 <td></td> 939 </tr> 940 </table> 941</div><div class="memdoc"> 942<p>Return the version of the SDK that is currently running.</p> 943<p>For example, on Android, this would return 27 for Oreo 8.1. If the version number cannot be determined then this will return -1.</p> 944<dl class="section return"><dt>Returns</dt><dd>version number or -1 </dd></dl> 945 946</div> 947</div> 948<a id="aa403103686222502d1cfc47bafc10aeb"></a> 949<h2 class="memtitle"><span class="permalink"><a href="#aa403103686222502d1cfc47bafc10aeb">◆ </a></span>operator<<()</h2> 950 951<div class="memitem"> 952<div class="memproto"> 953<div class="memtemplate"> 954template<typename T > </div> 955 <table class="memname"> 956 <tr> 957 <td class="memname">std::ostream& oboe::operator<< </td> 958 <td>(</td> 959 <td class="paramtype">std::ostream & </td> 960 <td class="paramname"><em>strm</em>, </td> 961 </tr> 962 <tr> 963 <td class="paramkey"></td> 964 <td></td> 965 <td class="paramtype">const <a class="el" href="classoboe_1_1_result_with_value.html">ResultWithValue</a>< T > & </td> 966 <td class="paramname"><em>result</em> </td> 967 </tr> 968 <tr> 969 <td></td> 970 <td>)</td> 971 <td></td><td></td> 972 </tr> 973 </table> 974</div><div class="memdoc"> 975<p>If the result is <code>OK</code> then return the value, otherwise return a human-readable error message. </p> 976 977</div> 978</div> 979<h2 class="groupheader">Variable Documentation</h2> 980<a id="aab8f5f081a8b2147e16ec920347c1b5c"></a> 981<h2 class="memtitle"><span class="permalink"><a href="#aab8f5f081a8b2147e16ec920347c1b5c">◆ </a></span>kDefaultTimeoutNanos</h2> 982 983<div class="memitem"> 984<div class="memproto"> 985 <table class="memname"> 986 <tr> 987 <td class="memname">constexpr int64_t oboe::kDefaultTimeoutNanos = (2000 * <a class="el" href="namespaceoboe.html#a831e887150474c087170679eaca8672b">kNanosPerMillisecond</a>)</td> 988 </tr> 989 </table> 990</div><div class="memdoc"> 991<p>The default number of nanoseconds to wait for when performing state change operations on the stream, such as <code>start</code> and <code>stop</code>.</p> 992<dl class="section see"><dt>See also</dt><dd><a class="el" href="classoboe_1_1_audio_stream.html#af04f03eb6b64b564f1c4401688987d21">oboe::AudioStream::start</a> </dd></dl> 993 994</div> 995</div> 996<a id="ad1bb9f5626cec20d3a052a8721959873"></a> 997<h2 class="memtitle"><span class="permalink"><a href="#ad1bb9f5626cec20d3a052a8721959873">◆ </a></span>kMillisPerSecond</h2> 998 999<div class="memitem"> 1000<div class="memproto"> 1001 <table class="memname"> 1002 <tr> 1003 <td class="memname">constexpr int64_t oboe::kMillisPerSecond = 1000</td> 1004 </tr> 1005 </table> 1006</div><div class="memdoc"> 1007<p>The number of milliseconds in a second. 1,000. </p> 1008 1009</div> 1010</div> 1011<a id="aedef0759ae3622b6f0324799bcbdebf0"></a> 1012<h2 class="memtitle"><span class="permalink"><a href="#aedef0759ae3622b6f0324799bcbdebf0">◆ </a></span>kNanosPerMicrosecond</h2> 1013 1014<div class="memitem"> 1015<div class="memproto"> 1016 <table class="memname"> 1017 <tr> 1018 <td class="memname">constexpr int64_t oboe::kNanosPerMicrosecond = 1000</td> 1019 </tr> 1020 </table> 1021</div><div class="memdoc"> 1022<p>The number of nanoseconds in a microsecond. 1,000. </p> 1023 1024</div> 1025</div> 1026<a id="a831e887150474c087170679eaca8672b"></a> 1027<h2 class="memtitle"><span class="permalink"><a href="#a831e887150474c087170679eaca8672b">◆ </a></span>kNanosPerMillisecond</h2> 1028 1029<div class="memitem"> 1030<div class="memproto"> 1031 <table class="memname"> 1032 <tr> 1033 <td class="memname">constexpr int64_t oboe::kNanosPerMillisecond = <a class="el" href="namespaceoboe.html#aedef0759ae3622b6f0324799bcbdebf0">kNanosPerMicrosecond</a> * 1000</td> 1034 </tr> 1035 </table> 1036</div><div class="memdoc"> 1037<p>The number of nanoseconds in a millisecond. 1,000,000. </p> 1038 1039</div> 1040</div> 1041<a id="a5948466b593c4eab65f7025846a39f51"></a> 1042<h2 class="memtitle"><span class="permalink"><a href="#a5948466b593c4eab65f7025846a39f51">◆ </a></span>kNanosPerSecond</h2> 1043 1044<div class="memitem"> 1045<div class="memproto"> 1046 <table class="memname"> 1047 <tr> 1048 <td class="memname">constexpr int64_t oboe::kNanosPerSecond = <a class="el" href="namespaceoboe.html#a831e887150474c087170679eaca8672b">kNanosPerMillisecond</a> * <a class="el" href="namespaceoboe.html#ad1bb9f5626cec20d3a052a8721959873">kMillisPerSecond</a></td> 1049 </tr> 1050 </table> 1051</div><div class="memdoc"> 1052<p>The number of nanoseconds in a second. 1,000,000,000. </p> 1053 1054</div> 1055</div> 1056<a id="ab0772052200184e514082eaa89be7905"></a> 1057<h2 class="memtitle"><span class="permalink"><a href="#ab0772052200184e514082eaa89be7905">◆ </a></span>kUnspecified</h2> 1058 1059<div class="memitem"> 1060<div class="memproto"> 1061 <table class="memname"> 1062 <tr> 1063 <td class="memname">constexpr int32_t oboe::kUnspecified = 0</td> 1064 </tr> 1065 </table> 1066</div><div class="memdoc"> 1067<p>Represents any attribute, property or value which hasn't been specified. </p> 1068 1069</div> 1070</div> 1071</div><!-- contents --> 1072<!-- start footer part --> 1073<hr class="footer"/><address class="footer"><small> 1074Generated by  <a href="http://www.doxygen.org/index.html"> 1075<img class="footer" src="doxygen.png" alt="doxygen"/> 1076</a> 1.8.15 1077</small></address> 1078</body> 1079</html> 1080