1*bebae9c0SAndroid Build Coastguard Worker /* 2*bebae9c0SAndroid Build Coastguard Worker * Copyright (c) 2007-2009 The Khronos Group Inc. 3*bebae9c0SAndroid Build Coastguard Worker * 4*bebae9c0SAndroid Build Coastguard Worker * Permission is hereby granted, free of charge, to any person obtaining a copy of 5*bebae9c0SAndroid Build Coastguard Worker * this software and /or associated documentation files (the "Materials "), to 6*bebae9c0SAndroid Build Coastguard Worker * deal in the Materials without restriction, including without limitation the 7*bebae9c0SAndroid Build Coastguard Worker * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 8*bebae9c0SAndroid Build Coastguard Worker * sell copies of the Materials, and to permit persons to whom the Materials are 9*bebae9c0SAndroid Build Coastguard Worker * furnished to do so, subject to 10*bebae9c0SAndroid Build Coastguard Worker * the following conditions: 11*bebae9c0SAndroid Build Coastguard Worker * 12*bebae9c0SAndroid Build Coastguard Worker * The above copyright notice and this permission notice shall be included 13*bebae9c0SAndroid Build Coastguard Worker * in all copies or substantial portions of the Materials. 14*bebae9c0SAndroid Build Coastguard Worker * 15*bebae9c0SAndroid Build Coastguard Worker * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16*bebae9c0SAndroid Build Coastguard Worker * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17*bebae9c0SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18*bebae9c0SAndroid Build Coastguard Worker * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19*bebae9c0SAndroid Build Coastguard Worker * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20*bebae9c0SAndroid Build Coastguard Worker * OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE 21*bebae9c0SAndroid Build Coastguard Worker * MATERIALS. 22*bebae9c0SAndroid Build Coastguard Worker * 23*bebae9c0SAndroid Build Coastguard Worker * OpenSLES.h - OpenSL ES version 1.0.1 24*bebae9c0SAndroid Build Coastguard Worker * 25*bebae9c0SAndroid Build Coastguard Worker */ 26*bebae9c0SAndroid Build Coastguard Worker 27*bebae9c0SAndroid Build Coastguard Worker /****************************************************************************/ 28*bebae9c0SAndroid Build Coastguard Worker /* NOTE: This file is a standard OpenSL ES header file and should not be */ 29*bebae9c0SAndroid Build Coastguard Worker /* modified in any way. */ 30*bebae9c0SAndroid Build Coastguard Worker /****************************************************************************/ 31*bebae9c0SAndroid Build Coastguard Worker 32*bebae9c0SAndroid Build Coastguard Worker #ifndef OPENSL_ES_H_ 33*bebae9c0SAndroid Build Coastguard Worker #define OPENSL_ES_H_ 34*bebae9c0SAndroid Build Coastguard Worker 35*bebae9c0SAndroid Build Coastguard Worker #ifdef __cplusplus 36*bebae9c0SAndroid Build Coastguard Worker extern "C" { 37*bebae9c0SAndroid Build Coastguard Worker #endif 38*bebae9c0SAndroid Build Coastguard Worker 39*bebae9c0SAndroid Build Coastguard Worker #include "OpenSLES_Platform.h" 40*bebae9c0SAndroid Build Coastguard Worker 41*bebae9c0SAndroid Build Coastguard Worker 42*bebae9c0SAndroid Build Coastguard Worker /*****************************************************************************/ 43*bebae9c0SAndroid Build Coastguard Worker /* Common types, structures, and defines */ 44*bebae9c0SAndroid Build Coastguard Worker /*****************************************************************************/ 45*bebae9c0SAndroid Build Coastguard Worker 46*bebae9c0SAndroid Build Coastguard Worker #ifndef _KHRONOS_KEYS_ 47*bebae9c0SAndroid Build Coastguard Worker #define _KHRONOS_KEYS_ 48*bebae9c0SAndroid Build Coastguard Worker 49*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_TITLE "KhronosTitle" 50*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_ALBUM "KhronosAlbum" 51*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_TRACK_NUMBER "KhronosTrackNumber" 52*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_ARTIST "KhronosArtist" 53*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_GENRE "KhronosGenre" 54*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_YEAR "KhronosYear" 55*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_COMMENT "KhronosComment" 56*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_ARTIST_URL "KhronosArtistURL" 57*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_CONTENT_URL "KhronosContentURL" 58*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_RATING "KhronosRating" 59*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_ALBUM_ART "KhronosAlbumArt" 60*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_COPYRIGHT "KhronosCopyright" 61*bebae9c0SAndroid Build Coastguard Worker 62*bebae9c0SAndroid Build Coastguard Worker #endif 63*bebae9c0SAndroid Build Coastguard Worker 64*bebae9c0SAndroid Build Coastguard Worker 65*bebae9c0SAndroid Build Coastguard Worker /* remap common types to SL types for clarity */ 66*bebae9c0SAndroid Build Coastguard Worker typedef sl_int8_t SLint8; /* 8 bit signed integer */ 67*bebae9c0SAndroid Build Coastguard Worker typedef sl_uint8_t SLuint8; /* 8 bit unsigned integer */ 68*bebae9c0SAndroid Build Coastguard Worker typedef sl_int16_t SLint16; /* 16 bit signed integer */ 69*bebae9c0SAndroid Build Coastguard Worker typedef sl_uint16_t SLuint16; /* 16 bit unsigned integer */ 70*bebae9c0SAndroid Build Coastguard Worker typedef sl_int32_t SLint32; /* 32 bit signed integer */ 71*bebae9c0SAndroid Build Coastguard Worker typedef sl_uint32_t SLuint32; /* 32 bit unsigned integer */ 72*bebae9c0SAndroid Build Coastguard Worker 73*bebae9c0SAndroid Build Coastguard Worker typedef SLuint32 SLboolean; 74*bebae9c0SAndroid Build Coastguard Worker #define SL_BOOLEAN_FALSE ((SLboolean) 0x00000000) 75*bebae9c0SAndroid Build Coastguard Worker #define SL_BOOLEAN_TRUE ((SLboolean) 0x00000001) 76*bebae9c0SAndroid Build Coastguard Worker 77*bebae9c0SAndroid Build Coastguard Worker typedef SLuint8 SLchar; /* UTF-8 is to be used */ 78*bebae9c0SAndroid Build Coastguard Worker typedef SLint16 SLmillibel; 79*bebae9c0SAndroid Build Coastguard Worker typedef SLuint32 SLmillisecond; 80*bebae9c0SAndroid Build Coastguard Worker typedef SLuint32 SLmilliHertz; 81*bebae9c0SAndroid Build Coastguard Worker typedef SLint32 SLmillimeter; 82*bebae9c0SAndroid Build Coastguard Worker typedef SLint32 SLmillidegree; 83*bebae9c0SAndroid Build Coastguard Worker typedef SLint16 SLpermille; 84*bebae9c0SAndroid Build Coastguard Worker typedef SLuint32 SLmicrosecond; 85*bebae9c0SAndroid Build Coastguard Worker typedef SLuint32 SLresult; 86*bebae9c0SAndroid Build Coastguard Worker 87*bebae9c0SAndroid Build Coastguard Worker #define SL_MILLIBEL_MAX ((SLmillibel) 0x7FFF) 88*bebae9c0SAndroid Build Coastguard Worker #define SL_MILLIBEL_MIN ((SLmillibel) (-SL_MILLIBEL_MAX-1)) 89*bebae9c0SAndroid Build Coastguard Worker 90*bebae9c0SAndroid Build Coastguard Worker #define SL_MILLIHERTZ_MAX ((SLmilliHertz) 0xFFFFFFFF) 91*bebae9c0SAndroid Build Coastguard Worker #define SL_MILLIMETER_MAX ((SLmillimeter) 0x7FFFFFFF) 92*bebae9c0SAndroid Build Coastguard Worker 93*bebae9c0SAndroid Build Coastguard Worker /** Interface ID defined as a UUID */ 94*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLInterfaceID_ { 95*bebae9c0SAndroid Build Coastguard Worker SLuint32 time_low; 96*bebae9c0SAndroid Build Coastguard Worker SLuint16 time_mid; 97*bebae9c0SAndroid Build Coastguard Worker SLuint16 time_hi_and_version; 98*bebae9c0SAndroid Build Coastguard Worker SLuint16 clock_seq; 99*bebae9c0SAndroid Build Coastguard Worker SLuint8 node[6]; 100*bebae9c0SAndroid Build Coastguard Worker } * SLInterfaceID; 101*bebae9c0SAndroid Build Coastguard Worker 102*bebae9c0SAndroid Build Coastguard Worker /* Forward declaration for the object interface */ 103*bebae9c0SAndroid Build Coastguard Worker struct SLObjectItf_; 104*bebae9c0SAndroid Build Coastguard Worker 105*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLObjectItf_ * const * SLObjectItf; 106*bebae9c0SAndroid Build Coastguard Worker 107*bebae9c0SAndroid Build Coastguard Worker /* Objects ID's */ 108*bebae9c0SAndroid Build Coastguard Worker 109*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_ENGINE ((SLuint32) 0x00001001) 110*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_LEDDEVICE ((SLuint32) 0x00001002) 111*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_VIBRADEVICE ((SLuint32) 0x00001003) 112*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_AUDIOPLAYER ((SLuint32) 0x00001004) 113*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_AUDIORECORDER ((SLuint32) 0x00001005) 114*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_MIDIPLAYER ((SLuint32) 0x00001006) 115*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_LISTENER ((SLuint32) 0x00001007) 116*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_3DGROUP ((SLuint32) 0x00001008) 117*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_OUTPUTMIX ((SLuint32) 0x00001009) 118*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECTID_METADATAEXTRACTOR ((SLuint32) 0x0000100A) 119*bebae9c0SAndroid Build Coastguard Worker 120*bebae9c0SAndroid Build Coastguard Worker 121*bebae9c0SAndroid Build Coastguard Worker /* SL Profiles */ 122*bebae9c0SAndroid Build Coastguard Worker 123*bebae9c0SAndroid Build Coastguard Worker #define SL_PROFILES_PHONE ((SLuint16) 0x0001) 124*bebae9c0SAndroid Build Coastguard Worker #define SL_PROFILES_MUSIC ((SLuint16) 0x0002) 125*bebae9c0SAndroid Build Coastguard Worker #define SL_PROFILES_GAME ((SLuint16) 0x0004) 126*bebae9c0SAndroid Build Coastguard Worker 127*bebae9c0SAndroid Build Coastguard Worker /* Types of voices supported by the system */ 128*bebae9c0SAndroid Build Coastguard Worker 129*bebae9c0SAndroid Build Coastguard Worker #define SL_VOICETYPE_2D_AUDIO ((SLuint16) 0x0001) 130*bebae9c0SAndroid Build Coastguard Worker #define SL_VOICETYPE_MIDI ((SLuint16) 0x0002) 131*bebae9c0SAndroid Build Coastguard Worker #define SL_VOICETYPE_3D_AUDIO ((SLuint16) 0x0004) 132*bebae9c0SAndroid Build Coastguard Worker #define SL_VOICETYPE_3D_MIDIOUTPUT ((SLuint16) 0x0008) 133*bebae9c0SAndroid Build Coastguard Worker 134*bebae9c0SAndroid Build Coastguard Worker /* Convenient macros representing various different priority levels, for use with the SetPriority method */ 135*bebae9c0SAndroid Build Coastguard Worker 136*bebae9c0SAndroid Build Coastguard Worker #define SL_PRIORITY_LOWEST ((SLint32) (-0x7FFFFFFF-1)) 137*bebae9c0SAndroid Build Coastguard Worker #define SL_PRIORITY_VERYLOW ((SLint32) -0x60000000) 138*bebae9c0SAndroid Build Coastguard Worker #define SL_PRIORITY_LOW ((SLint32) -0x40000000) 139*bebae9c0SAndroid Build Coastguard Worker #define SL_PRIORITY_BELOWNORMAL ((SLint32) -0x20000000) 140*bebae9c0SAndroid Build Coastguard Worker #define SL_PRIORITY_NORMAL ((SLint32) 0x00000000) 141*bebae9c0SAndroid Build Coastguard Worker #define SL_PRIORITY_ABOVENORMAL ((SLint32) 0x20000000) 142*bebae9c0SAndroid Build Coastguard Worker #define SL_PRIORITY_HIGH ((SLint32) 0x40000000) 143*bebae9c0SAndroid Build Coastguard Worker #define SL_PRIORITY_VERYHIGH ((SLint32) 0x60000000) 144*bebae9c0SAndroid Build Coastguard Worker #define SL_PRIORITY_HIGHEST ((SLint32) 0x7FFFFFFF) 145*bebae9c0SAndroid Build Coastguard Worker 146*bebae9c0SAndroid Build Coastguard Worker 147*bebae9c0SAndroid Build Coastguard Worker /** These macros list the various sample formats that are possible on audio input and output devices. */ 148*bebae9c0SAndroid Build Coastguard Worker 149*bebae9c0SAndroid Build Coastguard Worker #define SL_PCMSAMPLEFORMAT_FIXED_8 ((SLuint16) 0x0008) 150*bebae9c0SAndroid Build Coastguard Worker #define SL_PCMSAMPLEFORMAT_FIXED_16 ((SLuint16) 0x0010) 151*bebae9c0SAndroid Build Coastguard Worker #define SL_PCMSAMPLEFORMAT_FIXED_20 ((SLuint16) 0x0014) 152*bebae9c0SAndroid Build Coastguard Worker #define SL_PCMSAMPLEFORMAT_FIXED_24 ((SLuint16) 0x0018) 153*bebae9c0SAndroid Build Coastguard Worker #define SL_PCMSAMPLEFORMAT_FIXED_28 ((SLuint16) 0x001C) 154*bebae9c0SAndroid Build Coastguard Worker #define SL_PCMSAMPLEFORMAT_FIXED_32 ((SLuint16) 0x0020) 155*bebae9c0SAndroid Build Coastguard Worker 156*bebae9c0SAndroid Build Coastguard Worker 157*bebae9c0SAndroid Build Coastguard Worker /** These macros specify the commonly used sampling rates (in milliHertz) supported by most audio I/O devices. */ 158*bebae9c0SAndroid Build Coastguard Worker 159*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_8 ((SLuint32) 8000000) 160*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_11_025 ((SLuint32) 11025000) 161*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_12 ((SLuint32) 12000000) 162*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_16 ((SLuint32) 16000000) 163*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_22_05 ((SLuint32) 22050000) 164*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_24 ((SLuint32) 24000000) 165*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_32 ((SLuint32) 32000000) 166*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_44_1 ((SLuint32) 44100000) 167*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_48 ((SLuint32) 48000000) 168*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_64 ((SLuint32) 64000000) 169*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_88_2 ((SLuint32) 88200000) 170*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_96 ((SLuint32) 96000000) 171*bebae9c0SAndroid Build Coastguard Worker #define SL_SAMPLINGRATE_192 ((SLuint32) 192000000) 172*bebae9c0SAndroid Build Coastguard Worker 173*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_FRONT_LEFT ((SLuint32) 0x00000001) 174*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_FRONT_RIGHT ((SLuint32) 0x00000002) 175*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_FRONT_CENTER ((SLuint32) 0x00000004) 176*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_LOW_FREQUENCY ((SLuint32) 0x00000008) 177*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_BACK_LEFT ((SLuint32) 0x00000010) 178*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_BACK_RIGHT ((SLuint32) 0x00000020) 179*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_FRONT_LEFT_OF_CENTER ((SLuint32) 0x00000040) 180*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_FRONT_RIGHT_OF_CENTER ((SLuint32) 0x00000080) 181*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_BACK_CENTER ((SLuint32) 0x00000100) 182*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_SIDE_LEFT ((SLuint32) 0x00000200) 183*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_SIDE_RIGHT ((SLuint32) 0x00000400) 184*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_TOP_CENTER ((SLuint32) 0x00000800) 185*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_TOP_FRONT_LEFT ((SLuint32) 0x00001000) 186*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_TOP_FRONT_CENTER ((SLuint32) 0x00002000) 187*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_TOP_FRONT_RIGHT ((SLuint32) 0x00004000) 188*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_TOP_BACK_LEFT ((SLuint32) 0x00008000) 189*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_TOP_BACK_CENTER ((SLuint32) 0x00010000) 190*bebae9c0SAndroid Build Coastguard Worker #define SL_SPEAKER_TOP_BACK_RIGHT ((SLuint32) 0x00020000) 191*bebae9c0SAndroid Build Coastguard Worker 192*bebae9c0SAndroid Build Coastguard Worker 193*bebae9c0SAndroid Build Coastguard Worker /*****************************************************************************/ 194*bebae9c0SAndroid Build Coastguard Worker /* Errors */ 195*bebae9c0SAndroid Build Coastguard Worker /* */ 196*bebae9c0SAndroid Build Coastguard Worker /*****************************************************************************/ 197*bebae9c0SAndroid Build Coastguard Worker 198*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_SUCCESS ((SLuint32) 0x00000000) 199*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_PRECONDITIONS_VIOLATED ((SLuint32) 0x00000001) 200*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_PARAMETER_INVALID ((SLuint32) 0x00000002) 201*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_MEMORY_FAILURE ((SLuint32) 0x00000003) 202*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_RESOURCE_ERROR ((SLuint32) 0x00000004) 203*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_RESOURCE_LOST ((SLuint32) 0x00000005) 204*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_IO_ERROR ((SLuint32) 0x00000006) 205*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_BUFFER_INSUFFICIENT ((SLuint32) 0x00000007) 206*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_CONTENT_CORRUPTED ((SLuint32) 0x00000008) 207*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_CONTENT_UNSUPPORTED ((SLuint32) 0x00000009) 208*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_CONTENT_NOT_FOUND ((SLuint32) 0x0000000A) 209*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_PERMISSION_DENIED ((SLuint32) 0x0000000B) 210*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_FEATURE_UNSUPPORTED ((SLuint32) 0x0000000C) 211*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_INTERNAL_ERROR ((SLuint32) 0x0000000D) 212*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_UNKNOWN_ERROR ((SLuint32) 0x0000000E) 213*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_OPERATION_ABORTED ((SLuint32) 0x0000000F) 214*bebae9c0SAndroid Build Coastguard Worker #define SL_RESULT_CONTROL_LOST ((SLuint32) 0x00000010) 215*bebae9c0SAndroid Build Coastguard Worker 216*bebae9c0SAndroid Build Coastguard Worker 217*bebae9c0SAndroid Build Coastguard Worker /* Object state definitions */ 218*bebae9c0SAndroid Build Coastguard Worker 219*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_STATE_UNREALIZED ((SLuint32) 0x00000001) 220*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_STATE_REALIZED ((SLuint32) 0x00000002) 221*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_STATE_SUSPENDED ((SLuint32) 0x00000003) 222*bebae9c0SAndroid Build Coastguard Worker 223*bebae9c0SAndroid Build Coastguard Worker /* Object event definitions */ 224*bebae9c0SAndroid Build Coastguard Worker 225*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_EVENT_RUNTIME_ERROR ((SLuint32) 0x00000001) 226*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_EVENT_ASYNC_TERMINATION ((SLuint32) 0x00000002) 227*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_EVENT_RESOURCES_LOST ((SLuint32) 0x00000003) 228*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_EVENT_RESOURCES_AVAILABLE ((SLuint32) 0x00000004) 229*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_EVENT_ITF_CONTROL_TAKEN ((SLuint32) 0x00000005) 230*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_EVENT_ITF_CONTROL_RETURNED ((SLuint32) 0x00000006) 231*bebae9c0SAndroid Build Coastguard Worker #define SL_OBJECT_EVENT_ITF_PARAMETERS_CHANGED ((SLuint32) 0x00000007) 232*bebae9c0SAndroid Build Coastguard Worker 233*bebae9c0SAndroid Build Coastguard Worker 234*bebae9c0SAndroid Build Coastguard Worker /*****************************************************************************/ 235*bebae9c0SAndroid Build Coastguard Worker /* Interface definitions */ 236*bebae9c0SAndroid Build Coastguard Worker /*****************************************************************************/ 237*bebae9c0SAndroid Build Coastguard Worker 238*bebae9c0SAndroid Build Coastguard Worker /** NULL Interface */ 239*bebae9c0SAndroid Build Coastguard Worker 240*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_NULL; 241*bebae9c0SAndroid Build Coastguard Worker 242*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 243*bebae9c0SAndroid Build Coastguard Worker /* Data Source and Data Sink Structures */ 244*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 245*bebae9c0SAndroid Build Coastguard Worker 246*bebae9c0SAndroid Build Coastguard Worker /** Data locator macros */ 247*bebae9c0SAndroid Build Coastguard Worker #define SL_DATALOCATOR_URI ((SLuint32) 0x00000001) 248*bebae9c0SAndroid Build Coastguard Worker #define SL_DATALOCATOR_ADDRESS ((SLuint32) 0x00000002) 249*bebae9c0SAndroid Build Coastguard Worker #define SL_DATALOCATOR_IODEVICE ((SLuint32) 0x00000003) 250*bebae9c0SAndroid Build Coastguard Worker #define SL_DATALOCATOR_OUTPUTMIX ((SLuint32) 0x00000004) 251*bebae9c0SAndroid Build Coastguard Worker #define SL_DATALOCATOR_RESERVED5 ((SLuint32) 0x00000005) 252*bebae9c0SAndroid Build Coastguard Worker #define SL_DATALOCATOR_BUFFERQUEUE ((SLuint32) 0x00000006) 253*bebae9c0SAndroid Build Coastguard Worker #define SL_DATALOCATOR_MIDIBUFFERQUEUE ((SLuint32) 0x00000007) 254*bebae9c0SAndroid Build Coastguard Worker #define SL_DATALOCATOR_RESERVED8 ((SLuint32) 0x00000008) 255*bebae9c0SAndroid Build Coastguard Worker 256*bebae9c0SAndroid Build Coastguard Worker 257*bebae9c0SAndroid Build Coastguard Worker 258*bebae9c0SAndroid Build Coastguard Worker /** URI-based data locator definition where locatorType must be SL_DATALOCATOR_URI*/ 259*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataLocator_URI_ { 260*bebae9c0SAndroid Build Coastguard Worker SLuint32 locatorType; 261*bebae9c0SAndroid Build Coastguard Worker SLchar * URI; 262*bebae9c0SAndroid Build Coastguard Worker } SLDataLocator_URI; 263*bebae9c0SAndroid Build Coastguard Worker 264*bebae9c0SAndroid Build Coastguard Worker /** Address-based data locator definition where locatorType must be SL_DATALOCATOR_ADDRESS*/ 265*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataLocator_Address_ { 266*bebae9c0SAndroid Build Coastguard Worker SLuint32 locatorType; 267*bebae9c0SAndroid Build Coastguard Worker void *pAddress; 268*bebae9c0SAndroid Build Coastguard Worker SLuint32 length; 269*bebae9c0SAndroid Build Coastguard Worker } SLDataLocator_Address; 270*bebae9c0SAndroid Build Coastguard Worker 271*bebae9c0SAndroid Build Coastguard Worker /** IODevice-types */ 272*bebae9c0SAndroid Build Coastguard Worker #define SL_IODEVICE_AUDIOINPUT ((SLuint32) 0x00000001) 273*bebae9c0SAndroid Build Coastguard Worker #define SL_IODEVICE_LEDARRAY ((SLuint32) 0x00000002) 274*bebae9c0SAndroid Build Coastguard Worker #define SL_IODEVICE_VIBRA ((SLuint32) 0x00000003) 275*bebae9c0SAndroid Build Coastguard Worker #define SL_IODEVICE_RESERVED4 ((SLuint32) 0x00000004) 276*bebae9c0SAndroid Build Coastguard Worker #define SL_IODEVICE_RESERVED5 ((SLuint32) 0x00000005) 277*bebae9c0SAndroid Build Coastguard Worker 278*bebae9c0SAndroid Build Coastguard Worker /** IODevice-based data locator definition where locatorType must be SL_DATALOCATOR_IODEVICE*/ 279*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataLocator_IODevice_ { 280*bebae9c0SAndroid Build Coastguard Worker SLuint32 locatorType; 281*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceType; 282*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceID; 283*bebae9c0SAndroid Build Coastguard Worker SLObjectItf device; 284*bebae9c0SAndroid Build Coastguard Worker } SLDataLocator_IODevice; 285*bebae9c0SAndroid Build Coastguard Worker 286*bebae9c0SAndroid Build Coastguard Worker /** OutputMix-based data locator definition where locatorType must be SL_DATALOCATOR_OUTPUTMIX*/ 287*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataLocator_OutputMix { 288*bebae9c0SAndroid Build Coastguard Worker SLuint32 locatorType; 289*bebae9c0SAndroid Build Coastguard Worker SLObjectItf outputMix; 290*bebae9c0SAndroid Build Coastguard Worker } SLDataLocator_OutputMix; 291*bebae9c0SAndroid Build Coastguard Worker 292*bebae9c0SAndroid Build Coastguard Worker 293*bebae9c0SAndroid Build Coastguard Worker /** BufferQueue-based data locator definition where locatorType must be SL_DATALOCATOR_BUFFERQUEUE*/ 294*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataLocator_BufferQueue { 295*bebae9c0SAndroid Build Coastguard Worker SLuint32 locatorType; 296*bebae9c0SAndroid Build Coastguard Worker SLuint32 numBuffers; 297*bebae9c0SAndroid Build Coastguard Worker } SLDataLocator_BufferQueue; 298*bebae9c0SAndroid Build Coastguard Worker 299*bebae9c0SAndroid Build Coastguard Worker /** MidiBufferQueue-based data locator definition where locatorType must be SL_DATALOCATOR_MIDIBUFFERQUEUE*/ 300*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataLocator_MIDIBufferQueue { 301*bebae9c0SAndroid Build Coastguard Worker SLuint32 locatorType; 302*bebae9c0SAndroid Build Coastguard Worker SLuint32 tpqn; 303*bebae9c0SAndroid Build Coastguard Worker SLuint32 numBuffers; 304*bebae9c0SAndroid Build Coastguard Worker } SLDataLocator_MIDIBufferQueue; 305*bebae9c0SAndroid Build Coastguard Worker 306*bebae9c0SAndroid Build Coastguard Worker /** Data format defines */ 307*bebae9c0SAndroid Build Coastguard Worker #define SL_DATAFORMAT_MIME ((SLuint32) 0x00000001) 308*bebae9c0SAndroid Build Coastguard Worker #define SL_DATAFORMAT_PCM ((SLuint32) 0x00000002) 309*bebae9c0SAndroid Build Coastguard Worker #define SL_DATAFORMAT_RESERVED3 ((SLuint32) 0x00000003) 310*bebae9c0SAndroid Build Coastguard Worker 311*bebae9c0SAndroid Build Coastguard Worker 312*bebae9c0SAndroid Build Coastguard Worker /** MIME-type-based data format definition where formatType must be SL_DATAFORMAT_MIME*/ 313*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataFormat_MIME_ { 314*bebae9c0SAndroid Build Coastguard Worker SLuint32 formatType; 315*bebae9c0SAndroid Build Coastguard Worker SLchar * mimeType; 316*bebae9c0SAndroid Build Coastguard Worker SLuint32 containerType; 317*bebae9c0SAndroid Build Coastguard Worker } SLDataFormat_MIME; 318*bebae9c0SAndroid Build Coastguard Worker 319*bebae9c0SAndroid Build Coastguard Worker /* Byte order of a block of 16- or 32-bit data */ 320*bebae9c0SAndroid Build Coastguard Worker #define SL_BYTEORDER_BIGENDIAN ((SLuint32) 0x00000001) 321*bebae9c0SAndroid Build Coastguard Worker #define SL_BYTEORDER_LITTLEENDIAN ((SLuint32) 0x00000002) 322*bebae9c0SAndroid Build Coastguard Worker 323*bebae9c0SAndroid Build Coastguard Worker /* Container type */ 324*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_UNSPECIFIED ((SLuint32) 0x00000001) 325*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_RAW ((SLuint32) 0x00000002) 326*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_ASF ((SLuint32) 0x00000003) 327*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_AVI ((SLuint32) 0x00000004) 328*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_BMP ((SLuint32) 0x00000005) 329*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_JPG ((SLuint32) 0x00000006) 330*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_JPG2000 ((SLuint32) 0x00000007) 331*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_M4A ((SLuint32) 0x00000008) 332*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_MP3 ((SLuint32) 0x00000009) 333*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_MP4 ((SLuint32) 0x0000000A) 334*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_MPEG_ES ((SLuint32) 0x0000000B) 335*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_MPEG_PS ((SLuint32) 0x0000000C) 336*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_MPEG_TS ((SLuint32) 0x0000000D) 337*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_QT ((SLuint32) 0x0000000E) 338*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_WAV ((SLuint32) 0x0000000F) 339*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_XMF_0 ((SLuint32) 0x00000010) 340*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_XMF_1 ((SLuint32) 0x00000011) 341*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_XMF_2 ((SLuint32) 0x00000012) 342*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_XMF_3 ((SLuint32) 0x00000013) 343*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_XMF_GENERIC ((SLuint32) 0x00000014) 344*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_AMR ((SLuint32) 0x00000015) 345*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_AAC ((SLuint32) 0x00000016) 346*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_3GPP ((SLuint32) 0x00000017) 347*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_3GA ((SLuint32) 0x00000018) 348*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_RM ((SLuint32) 0x00000019) 349*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_DMF ((SLuint32) 0x0000001A) 350*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_SMF ((SLuint32) 0x0000001B) 351*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_MOBILE_DLS ((SLuint32) 0x0000001C) 352*bebae9c0SAndroid Build Coastguard Worker #define SL_CONTAINERTYPE_OGG ((SLuint32) 0x0000001D) 353*bebae9c0SAndroid Build Coastguard Worker 354*bebae9c0SAndroid Build Coastguard Worker 355*bebae9c0SAndroid Build Coastguard Worker /** PCM-type-based data format definition where formatType must be SL_DATAFORMAT_PCM*/ 356*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataFormat_PCM_ { 357*bebae9c0SAndroid Build Coastguard Worker SLuint32 formatType; 358*bebae9c0SAndroid Build Coastguard Worker SLuint32 numChannels; 359*bebae9c0SAndroid Build Coastguard Worker SLuint32 samplesPerSec; 360*bebae9c0SAndroid Build Coastguard Worker SLuint32 bitsPerSample; 361*bebae9c0SAndroid Build Coastguard Worker SLuint32 containerSize; 362*bebae9c0SAndroid Build Coastguard Worker SLuint32 channelMask; 363*bebae9c0SAndroid Build Coastguard Worker SLuint32 endianness; 364*bebae9c0SAndroid Build Coastguard Worker } SLDataFormat_PCM; 365*bebae9c0SAndroid Build Coastguard Worker 366*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataSource_ { 367*bebae9c0SAndroid Build Coastguard Worker void *pLocator; 368*bebae9c0SAndroid Build Coastguard Worker void *pFormat; 369*bebae9c0SAndroid Build Coastguard Worker } SLDataSource; 370*bebae9c0SAndroid Build Coastguard Worker 371*bebae9c0SAndroid Build Coastguard Worker 372*bebae9c0SAndroid Build Coastguard Worker typedef struct SLDataSink_ { 373*bebae9c0SAndroid Build Coastguard Worker void *pLocator; 374*bebae9c0SAndroid Build Coastguard Worker void *pFormat; 375*bebae9c0SAndroid Build Coastguard Worker } SLDataSink; 376*bebae9c0SAndroid Build Coastguard Worker 377*bebae9c0SAndroid Build Coastguard Worker 378*bebae9c0SAndroid Build Coastguard Worker 379*bebae9c0SAndroid Build Coastguard Worker 380*bebae9c0SAndroid Build Coastguard Worker 381*bebae9c0SAndroid Build Coastguard Worker 382*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 383*bebae9c0SAndroid Build Coastguard Worker /* Standard Object Interface */ 384*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 385*bebae9c0SAndroid Build Coastguard Worker 386*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_OBJECT; 387*bebae9c0SAndroid Build Coastguard Worker 388*bebae9c0SAndroid Build Coastguard Worker /** Object callback */ 389*bebae9c0SAndroid Build Coastguard Worker 390*bebae9c0SAndroid Build Coastguard Worker 391*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slObjectCallback) ( 392*bebae9c0SAndroid Build Coastguard Worker SLObjectItf caller, 393*bebae9c0SAndroid Build Coastguard Worker const void * pContext, 394*bebae9c0SAndroid Build Coastguard Worker SLuint32 event, 395*bebae9c0SAndroid Build Coastguard Worker SLresult result, 396*bebae9c0SAndroid Build Coastguard Worker SLuint32 param, 397*bebae9c0SAndroid Build Coastguard Worker void *pInterface 398*bebae9c0SAndroid Build Coastguard Worker ); 399*bebae9c0SAndroid Build Coastguard Worker 400*bebae9c0SAndroid Build Coastguard Worker 401*bebae9c0SAndroid Build Coastguard Worker struct SLObjectItf_ { 402*bebae9c0SAndroid Build Coastguard Worker SLresult (*Realize) ( 403*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self, 404*bebae9c0SAndroid Build Coastguard Worker SLboolean async 405*bebae9c0SAndroid Build Coastguard Worker ); 406*bebae9c0SAndroid Build Coastguard Worker SLresult (*Resume) ( 407*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self, 408*bebae9c0SAndroid Build Coastguard Worker SLboolean async 409*bebae9c0SAndroid Build Coastguard Worker ); 410*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetState) ( 411*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self, 412*bebae9c0SAndroid Build Coastguard Worker SLuint32 * pState 413*bebae9c0SAndroid Build Coastguard Worker ); 414*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetInterface) ( 415*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self, 416*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID iid, 417*bebae9c0SAndroid Build Coastguard Worker void * pInterface 418*bebae9c0SAndroid Build Coastguard Worker ); 419*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterCallback) ( 420*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self, 421*bebae9c0SAndroid Build Coastguard Worker slObjectCallback callback, 422*bebae9c0SAndroid Build Coastguard Worker void * pContext 423*bebae9c0SAndroid Build Coastguard Worker ); 424*bebae9c0SAndroid Build Coastguard Worker void (*AbortAsyncOperation) ( 425*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self 426*bebae9c0SAndroid Build Coastguard Worker ); 427*bebae9c0SAndroid Build Coastguard Worker void (*Destroy) ( 428*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self 429*bebae9c0SAndroid Build Coastguard Worker ); 430*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetPriority) ( 431*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self, 432*bebae9c0SAndroid Build Coastguard Worker SLint32 priority, 433*bebae9c0SAndroid Build Coastguard Worker SLboolean preemptable 434*bebae9c0SAndroid Build Coastguard Worker ); 435*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPriority) ( 436*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self, 437*bebae9c0SAndroid Build Coastguard Worker SLint32 *pPriority, 438*bebae9c0SAndroid Build Coastguard Worker SLboolean *pPreemptable 439*bebae9c0SAndroid Build Coastguard Worker ); 440*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetLossOfControlInterfaces) ( 441*bebae9c0SAndroid Build Coastguard Worker SLObjectItf self, 442*bebae9c0SAndroid Build Coastguard Worker SLint16 numInterfaces, 443*bebae9c0SAndroid Build Coastguard Worker SLInterfaceID * pInterfaceIDs, 444*bebae9c0SAndroid Build Coastguard Worker SLboolean enabled 445*bebae9c0SAndroid Build Coastguard Worker ); 446*bebae9c0SAndroid Build Coastguard Worker }; 447*bebae9c0SAndroid Build Coastguard Worker 448*bebae9c0SAndroid Build Coastguard Worker 449*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 450*bebae9c0SAndroid Build Coastguard Worker /* Audio IO Device capabilities interface */ 451*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 452*bebae9c0SAndroid Build Coastguard Worker 453*bebae9c0SAndroid Build Coastguard Worker #define SL_DEFAULTDEVICEID_AUDIOINPUT ((SLuint32) 0xFFFFFFFF) 454*bebae9c0SAndroid Build Coastguard Worker #define SL_DEFAULTDEVICEID_AUDIOOUTPUT ((SLuint32) 0xFFFFFFFE) 455*bebae9c0SAndroid Build Coastguard Worker #define SL_DEFAULTDEVICEID_LED ((SLuint32) 0xFFFFFFFD) 456*bebae9c0SAndroid Build Coastguard Worker #define SL_DEFAULTDEVICEID_VIBRA ((SLuint32) 0xFFFFFFFC) 457*bebae9c0SAndroid Build Coastguard Worker #define SL_DEFAULTDEVICEID_RESERVED1 ((SLuint32) 0xFFFFFFFB) 458*bebae9c0SAndroid Build Coastguard Worker 459*bebae9c0SAndroid Build Coastguard Worker 460*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVCONNECTION_INTEGRATED ((SLint16) 0x0001) 461*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVCONNECTION_ATTACHED_WIRED ((SLint16) 0x0100) 462*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVCONNECTION_ATTACHED_WIRELESS ((SLint16) 0x0200) 463*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVCONNECTION_NETWORK ((SLint16) 0x0400) 464*bebae9c0SAndroid Build Coastguard Worker 465*bebae9c0SAndroid Build Coastguard Worker 466*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVLOCATION_HANDSET ((SLuint16) 0x0001) 467*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVLOCATION_HEADSET ((SLuint16) 0x0002) 468*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVLOCATION_CARKIT ((SLuint16) 0x0003) 469*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVLOCATION_DOCK ((SLuint16) 0x0004) 470*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVLOCATION_REMOTE ((SLuint16) 0x0005) 471*bebae9c0SAndroid Build Coastguard Worker /* Note: SL_DEVLOCATION_RESLTE is deprecated, use SL_DEVLOCATION_REMOTE instead. */ 472*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVLOCATION_RESLTE ((SLuint16) 0x0005) 473*bebae9c0SAndroid Build Coastguard Worker 474*bebae9c0SAndroid Build Coastguard Worker 475*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVSCOPE_UNKNOWN ((SLuint16) 0x0001) 476*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVSCOPE_ENVIRONMENT ((SLuint16) 0x0002) 477*bebae9c0SAndroid Build Coastguard Worker #define SL_DEVSCOPE_USER ((SLuint16) 0x0003) 478*bebae9c0SAndroid Build Coastguard Worker 479*bebae9c0SAndroid Build Coastguard Worker 480*bebae9c0SAndroid Build Coastguard Worker typedef struct SLAudioInputDescriptor_ { 481*bebae9c0SAndroid Build Coastguard Worker SLchar *deviceName; 482*bebae9c0SAndroid Build Coastguard Worker SLint16 deviceConnection; 483*bebae9c0SAndroid Build Coastguard Worker SLint16 deviceScope; 484*bebae9c0SAndroid Build Coastguard Worker SLint16 deviceLocation; 485*bebae9c0SAndroid Build Coastguard Worker SLboolean isForTelephony; 486*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz minSampleRate; 487*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz maxSampleRate; 488*bebae9c0SAndroid Build Coastguard Worker SLboolean isFreqRangeContinuous; 489*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz *samplingRatesSupported; 490*bebae9c0SAndroid Build Coastguard Worker SLint16 numOfSamplingRatesSupported; 491*bebae9c0SAndroid Build Coastguard Worker SLint16 maxChannels; 492*bebae9c0SAndroid Build Coastguard Worker } SLAudioInputDescriptor; 493*bebae9c0SAndroid Build Coastguard Worker 494*bebae9c0SAndroid Build Coastguard Worker 495*bebae9c0SAndroid Build Coastguard Worker typedef struct SLAudioOutputDescriptor_ { 496*bebae9c0SAndroid Build Coastguard Worker SLchar *pDeviceName; 497*bebae9c0SAndroid Build Coastguard Worker SLint16 deviceConnection; 498*bebae9c0SAndroid Build Coastguard Worker SLint16 deviceScope; 499*bebae9c0SAndroid Build Coastguard Worker SLint16 deviceLocation; 500*bebae9c0SAndroid Build Coastguard Worker SLboolean isForTelephony; 501*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz minSampleRate; 502*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz maxSampleRate; 503*bebae9c0SAndroid Build Coastguard Worker SLboolean isFreqRangeContinuous; 504*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz *samplingRatesSupported; 505*bebae9c0SAndroid Build Coastguard Worker SLint16 numOfSamplingRatesSupported; 506*bebae9c0SAndroid Build Coastguard Worker SLint16 maxChannels; 507*bebae9c0SAndroid Build Coastguard Worker } SLAudioOutputDescriptor; 508*bebae9c0SAndroid Build Coastguard Worker 509*bebae9c0SAndroid Build Coastguard Worker 510*bebae9c0SAndroid Build Coastguard Worker 511*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_AUDIOIODEVICECAPABILITIES; 512*bebae9c0SAndroid Build Coastguard Worker 513*bebae9c0SAndroid Build Coastguard Worker struct SLAudioIODeviceCapabilitiesItf_; 514*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLAudioIODeviceCapabilitiesItf_ * const * SLAudioIODeviceCapabilitiesItf; 515*bebae9c0SAndroid Build Coastguard Worker 516*bebae9c0SAndroid Build Coastguard Worker 517*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slAvailableAudioInputsChangedCallback) ( 518*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf caller, 519*bebae9c0SAndroid Build Coastguard Worker void *pContext, 520*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceID, 521*bebae9c0SAndroid Build Coastguard Worker SLint32 numInputs, 522*bebae9c0SAndroid Build Coastguard Worker SLboolean isNew 523*bebae9c0SAndroid Build Coastguard Worker ); 524*bebae9c0SAndroid Build Coastguard Worker 525*bebae9c0SAndroid Build Coastguard Worker 526*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slAvailableAudioOutputsChangedCallback) ( 527*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf caller, 528*bebae9c0SAndroid Build Coastguard Worker void *pContext, 529*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceID, 530*bebae9c0SAndroid Build Coastguard Worker SLint32 numOutputs, 531*bebae9c0SAndroid Build Coastguard Worker SLboolean isNew 532*bebae9c0SAndroid Build Coastguard Worker ); 533*bebae9c0SAndroid Build Coastguard Worker 534*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slDefaultDeviceIDMapChangedCallback) ( 535*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf caller, 536*bebae9c0SAndroid Build Coastguard Worker void *pContext, 537*bebae9c0SAndroid Build Coastguard Worker SLboolean isOutput, 538*bebae9c0SAndroid Build Coastguard Worker SLint32 numDevices 539*bebae9c0SAndroid Build Coastguard Worker ); 540*bebae9c0SAndroid Build Coastguard Worker 541*bebae9c0SAndroid Build Coastguard Worker 542*bebae9c0SAndroid Build Coastguard Worker struct SLAudioIODeviceCapabilitiesItf_ { 543*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetAvailableAudioInputs)( 544*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 545*bebae9c0SAndroid Build Coastguard Worker SLint32 *pNumInputs, 546*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pInputDeviceIDs 547*bebae9c0SAndroid Build Coastguard Worker ); 548*bebae9c0SAndroid Build Coastguard Worker SLresult (*QueryAudioInputCapabilities)( 549*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 550*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceId, 551*bebae9c0SAndroid Build Coastguard Worker SLAudioInputDescriptor *pDescriptor 552*bebae9c0SAndroid Build Coastguard Worker ); 553*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterAvailableAudioInputsChangedCallback) ( 554*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 555*bebae9c0SAndroid Build Coastguard Worker slAvailableAudioInputsChangedCallback callback, 556*bebae9c0SAndroid Build Coastguard Worker void *pContext 557*bebae9c0SAndroid Build Coastguard Worker ); 558*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetAvailableAudioOutputs)( 559*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 560*bebae9c0SAndroid Build Coastguard Worker SLint32 *pNumOutputs, 561*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pOutputDeviceIDs 562*bebae9c0SAndroid Build Coastguard Worker ); 563*bebae9c0SAndroid Build Coastguard Worker SLresult (*QueryAudioOutputCapabilities)( 564*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 565*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceId, 566*bebae9c0SAndroid Build Coastguard Worker SLAudioOutputDescriptor *pDescriptor 567*bebae9c0SAndroid Build Coastguard Worker ); 568*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterAvailableAudioOutputsChangedCallback) ( 569*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 570*bebae9c0SAndroid Build Coastguard Worker slAvailableAudioOutputsChangedCallback callback, 571*bebae9c0SAndroid Build Coastguard Worker void *pContext 572*bebae9c0SAndroid Build Coastguard Worker ); 573*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterDefaultDeviceIDMapChangedCallback) ( 574*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 575*bebae9c0SAndroid Build Coastguard Worker slDefaultDeviceIDMapChangedCallback callback, 576*bebae9c0SAndroid Build Coastguard Worker void *pContext 577*bebae9c0SAndroid Build Coastguard Worker ); 578*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetAssociatedAudioInputs) ( 579*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 580*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceId, 581*bebae9c0SAndroid Build Coastguard Worker SLint32 *pNumAudioInputs, 582*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pAudioInputDeviceIDs 583*bebae9c0SAndroid Build Coastguard Worker ); 584*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetAssociatedAudioOutputs) ( 585*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 586*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceId, 587*bebae9c0SAndroid Build Coastguard Worker SLint32 *pNumAudioOutputs, 588*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pAudioOutputDeviceIDs 589*bebae9c0SAndroid Build Coastguard Worker ); 590*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDefaultAudioDevices) ( 591*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 592*bebae9c0SAndroid Build Coastguard Worker SLuint32 defaultDeviceID, 593*bebae9c0SAndroid Build Coastguard Worker SLint32 *pNumAudioDevices, 594*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pAudioDeviceIDs 595*bebae9c0SAndroid Build Coastguard Worker ); 596*bebae9c0SAndroid Build Coastguard Worker SLresult (*QuerySampleFormatsSupported)( 597*bebae9c0SAndroid Build Coastguard Worker SLAudioIODeviceCapabilitiesItf self, 598*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceId, 599*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz samplingRate, 600*bebae9c0SAndroid Build Coastguard Worker SLint32 *pSampleFormats, 601*bebae9c0SAndroid Build Coastguard Worker SLint32 *pNumOfSampleFormats 602*bebae9c0SAndroid Build Coastguard Worker ); 603*bebae9c0SAndroid Build Coastguard Worker }; 604*bebae9c0SAndroid Build Coastguard Worker 605*bebae9c0SAndroid Build Coastguard Worker 606*bebae9c0SAndroid Build Coastguard Worker 607*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 608*bebae9c0SAndroid Build Coastguard Worker /* Capabilities of the LED array IODevice */ 609*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 610*bebae9c0SAndroid Build Coastguard Worker 611*bebae9c0SAndroid Build Coastguard Worker typedef struct SLLEDDescriptor_ { 612*bebae9c0SAndroid Build Coastguard Worker SLuint8 ledCount; 613*bebae9c0SAndroid Build Coastguard Worker SLuint8 primaryLED; 614*bebae9c0SAndroid Build Coastguard Worker SLuint32 colorMask; 615*bebae9c0SAndroid Build Coastguard Worker } SLLEDDescriptor; 616*bebae9c0SAndroid Build Coastguard Worker 617*bebae9c0SAndroid Build Coastguard Worker 618*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 619*bebae9c0SAndroid Build Coastguard Worker /* LED Array interface */ 620*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 621*bebae9c0SAndroid Build Coastguard Worker 622*bebae9c0SAndroid Build Coastguard Worker typedef struct SLHSL_ { 623*bebae9c0SAndroid Build Coastguard Worker SLmillidegree hue; 624*bebae9c0SAndroid Build Coastguard Worker SLpermille saturation; 625*bebae9c0SAndroid Build Coastguard Worker SLpermille lightness; 626*bebae9c0SAndroid Build Coastguard Worker } SLHSL; 627*bebae9c0SAndroid Build Coastguard Worker 628*bebae9c0SAndroid Build Coastguard Worker 629*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_LED; 630*bebae9c0SAndroid Build Coastguard Worker 631*bebae9c0SAndroid Build Coastguard Worker struct SLLEDArrayItf_; 632*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLLEDArrayItf_ * const * SLLEDArrayItf; 633*bebae9c0SAndroid Build Coastguard Worker 634*bebae9c0SAndroid Build Coastguard Worker struct SLLEDArrayItf_ { 635*bebae9c0SAndroid Build Coastguard Worker SLresult (*ActivateLEDArray) ( 636*bebae9c0SAndroid Build Coastguard Worker SLLEDArrayItf self, 637*bebae9c0SAndroid Build Coastguard Worker SLuint32 lightMask 638*bebae9c0SAndroid Build Coastguard Worker ); 639*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsLEDArrayActivated) ( 640*bebae9c0SAndroid Build Coastguard Worker SLLEDArrayItf self, 641*bebae9c0SAndroid Build Coastguard Worker SLuint32 *lightMask 642*bebae9c0SAndroid Build Coastguard Worker ); 643*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetColor) ( 644*bebae9c0SAndroid Build Coastguard Worker SLLEDArrayItf self, 645*bebae9c0SAndroid Build Coastguard Worker SLuint8 index, 646*bebae9c0SAndroid Build Coastguard Worker const SLHSL *color 647*bebae9c0SAndroid Build Coastguard Worker ); 648*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetColor) ( 649*bebae9c0SAndroid Build Coastguard Worker SLLEDArrayItf self, 650*bebae9c0SAndroid Build Coastguard Worker SLuint8 index, 651*bebae9c0SAndroid Build Coastguard Worker SLHSL *color 652*bebae9c0SAndroid Build Coastguard Worker ); 653*bebae9c0SAndroid Build Coastguard Worker }; 654*bebae9c0SAndroid Build Coastguard Worker 655*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 656*bebae9c0SAndroid Build Coastguard Worker /* Capabilities of the Vibra IODevice */ 657*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 658*bebae9c0SAndroid Build Coastguard Worker 659*bebae9c0SAndroid Build Coastguard Worker typedef struct SLVibraDescriptor_ { 660*bebae9c0SAndroid Build Coastguard Worker SLboolean supportsFrequency; 661*bebae9c0SAndroid Build Coastguard Worker SLboolean supportsIntensity; 662*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz minFrequency; 663*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz maxFrequency; 664*bebae9c0SAndroid Build Coastguard Worker } SLVibraDescriptor; 665*bebae9c0SAndroid Build Coastguard Worker 666*bebae9c0SAndroid Build Coastguard Worker 667*bebae9c0SAndroid Build Coastguard Worker 668*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 669*bebae9c0SAndroid Build Coastguard Worker /* Vibra interface */ 670*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 671*bebae9c0SAndroid Build Coastguard Worker 672*bebae9c0SAndroid Build Coastguard Worker 673*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_VIBRA; 674*bebae9c0SAndroid Build Coastguard Worker 675*bebae9c0SAndroid Build Coastguard Worker 676*bebae9c0SAndroid Build Coastguard Worker struct SLVibraItf_; 677*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLVibraItf_ * const * SLVibraItf; 678*bebae9c0SAndroid Build Coastguard Worker 679*bebae9c0SAndroid Build Coastguard Worker struct SLVibraItf_ { 680*bebae9c0SAndroid Build Coastguard Worker SLresult (*Vibrate) ( 681*bebae9c0SAndroid Build Coastguard Worker SLVibraItf self, 682*bebae9c0SAndroid Build Coastguard Worker SLboolean vibrate 683*bebae9c0SAndroid Build Coastguard Worker ); 684*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsVibrating) ( 685*bebae9c0SAndroid Build Coastguard Worker SLVibraItf self, 686*bebae9c0SAndroid Build Coastguard Worker SLboolean *pVibrating 687*bebae9c0SAndroid Build Coastguard Worker ); 688*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetFrequency) ( 689*bebae9c0SAndroid Build Coastguard Worker SLVibraItf self, 690*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz frequency 691*bebae9c0SAndroid Build Coastguard Worker ); 692*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetFrequency) ( 693*bebae9c0SAndroid Build Coastguard Worker SLVibraItf self, 694*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz *pFrequency 695*bebae9c0SAndroid Build Coastguard Worker ); 696*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetIntensity) ( 697*bebae9c0SAndroid Build Coastguard Worker SLVibraItf self, 698*bebae9c0SAndroid Build Coastguard Worker SLpermille intensity 699*bebae9c0SAndroid Build Coastguard Worker ); 700*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetIntensity) ( 701*bebae9c0SAndroid Build Coastguard Worker SLVibraItf self, 702*bebae9c0SAndroid Build Coastguard Worker SLpermille *pIntensity 703*bebae9c0SAndroid Build Coastguard Worker ); 704*bebae9c0SAndroid Build Coastguard Worker }; 705*bebae9c0SAndroid Build Coastguard Worker 706*bebae9c0SAndroid Build Coastguard Worker 707*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 708*bebae9c0SAndroid Build Coastguard Worker /* Meta data extraction related types and interface */ 709*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 710*bebae9c0SAndroid Build Coastguard Worker 711*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_UNKNOWN ((SLuint32) 0x00000000) 712*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_BINARY ((SLuint32) 0x00000001) 713*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ASCII ((SLuint32) 0x00000002) 714*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_BIG5 ((SLuint32) 0x00000003) 715*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_CODEPAGE1252 ((SLuint32) 0x00000004) 716*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_GB2312 ((SLuint32) 0x00000005) 717*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_HZGB2312 ((SLuint32) 0x00000006) 718*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_GB12345 ((SLuint32) 0x00000007) 719*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_GB18030 ((SLuint32) 0x00000008) 720*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_GBK ((SLuint32) 0x00000009) 721*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_IMAPUTF7 ((SLuint32) 0x0000000A) 722*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO2022JP ((SLuint32) 0x0000000B) 723*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO2022JP1 ((SLuint32) 0x0000000B) 724*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO88591 ((SLuint32) 0x0000000C) 725*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO885910 ((SLuint32) 0x0000000D) 726*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO885913 ((SLuint32) 0x0000000E) 727*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO885914 ((SLuint32) 0x0000000F) 728*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO885915 ((SLuint32) 0x00000010) 729*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO88592 ((SLuint32) 0x00000011) 730*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO88593 ((SLuint32) 0x00000012) 731*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO88594 ((SLuint32) 0x00000013) 732*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO88595 ((SLuint32) 0x00000014) 733*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO88596 ((SLuint32) 0x00000015) 734*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO88597 ((SLuint32) 0x00000016) 735*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO88598 ((SLuint32) 0x00000017) 736*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISO88599 ((SLuint32) 0x00000018) 737*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_ISOEUCJP ((SLuint32) 0x00000019) 738*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_SHIFTJIS ((SLuint32) 0x0000001A) 739*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_SMS7BIT ((SLuint32) 0x0000001B) 740*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_UTF7 ((SLuint32) 0x0000001C) 741*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_UTF8 ((SLuint32) 0x0000001D) 742*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_JAVACONFORMANTUTF8 ((SLuint32) 0x0000001E) 743*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_UTF16BE ((SLuint32) 0x0000001F) 744*bebae9c0SAndroid Build Coastguard Worker #define SL_CHARACTERENCODING_UTF16LE ((SLuint32) 0x00000020) 745*bebae9c0SAndroid Build Coastguard Worker 746*bebae9c0SAndroid Build Coastguard Worker 747*bebae9c0SAndroid Build Coastguard Worker #define SL_METADATA_FILTER_KEY ((SLuint8) 0x01) 748*bebae9c0SAndroid Build Coastguard Worker #define SL_METADATA_FILTER_LANG ((SLuint8) 0x02) 749*bebae9c0SAndroid Build Coastguard Worker #define SL_METADATA_FILTER_ENCODING ((SLuint8) 0x04) 750*bebae9c0SAndroid Build Coastguard Worker 751*bebae9c0SAndroid Build Coastguard Worker 752*bebae9c0SAndroid Build Coastguard Worker typedef struct SLMetadataInfo_ { 753*bebae9c0SAndroid Build Coastguard Worker SLuint32 size; 754*bebae9c0SAndroid Build Coastguard Worker SLuint32 encoding; 755*bebae9c0SAndroid Build Coastguard Worker SLchar langCountry[16]; 756*bebae9c0SAndroid Build Coastguard Worker SLuint8 data[1]; 757*bebae9c0SAndroid Build Coastguard Worker } SLMetadataInfo; 758*bebae9c0SAndroid Build Coastguard Worker 759*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_METADATAEXTRACTION; 760*bebae9c0SAndroid Build Coastguard Worker 761*bebae9c0SAndroid Build Coastguard Worker struct SLMetadataExtractionItf_; 762*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLMetadataExtractionItf_ * const * SLMetadataExtractionItf; 763*bebae9c0SAndroid Build Coastguard Worker 764*bebae9c0SAndroid Build Coastguard Worker 765*bebae9c0SAndroid Build Coastguard Worker struct SLMetadataExtractionItf_ { 766*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetItemCount) ( 767*bebae9c0SAndroid Build Coastguard Worker SLMetadataExtractionItf self, 768*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pItemCount 769*bebae9c0SAndroid Build Coastguard Worker ); 770*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetKeySize) ( 771*bebae9c0SAndroid Build Coastguard Worker SLMetadataExtractionItf self, 772*bebae9c0SAndroid Build Coastguard Worker SLuint32 index, 773*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pKeySize 774*bebae9c0SAndroid Build Coastguard Worker ); 775*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetKey) ( 776*bebae9c0SAndroid Build Coastguard Worker SLMetadataExtractionItf self, 777*bebae9c0SAndroid Build Coastguard Worker SLuint32 index, 778*bebae9c0SAndroid Build Coastguard Worker SLuint32 keySize, 779*bebae9c0SAndroid Build Coastguard Worker SLMetadataInfo *pKey 780*bebae9c0SAndroid Build Coastguard Worker ); 781*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetValueSize) ( 782*bebae9c0SAndroid Build Coastguard Worker SLMetadataExtractionItf self, 783*bebae9c0SAndroid Build Coastguard Worker SLuint32 index, 784*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pValueSize 785*bebae9c0SAndroid Build Coastguard Worker ); 786*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetValue) ( 787*bebae9c0SAndroid Build Coastguard Worker SLMetadataExtractionItf self, 788*bebae9c0SAndroid Build Coastguard Worker SLuint32 index, 789*bebae9c0SAndroid Build Coastguard Worker SLuint32 valueSize, 790*bebae9c0SAndroid Build Coastguard Worker SLMetadataInfo *pValue 791*bebae9c0SAndroid Build Coastguard Worker ); 792*bebae9c0SAndroid Build Coastguard Worker SLresult (*AddKeyFilter) ( 793*bebae9c0SAndroid Build Coastguard Worker SLMetadataExtractionItf self, 794*bebae9c0SAndroid Build Coastguard Worker SLuint32 keySize, 795*bebae9c0SAndroid Build Coastguard Worker const void *pKey, 796*bebae9c0SAndroid Build Coastguard Worker SLuint32 keyEncoding, 797*bebae9c0SAndroid Build Coastguard Worker const SLchar *pValueLangCountry, 798*bebae9c0SAndroid Build Coastguard Worker SLuint32 valueEncoding, 799*bebae9c0SAndroid Build Coastguard Worker SLuint8 filterMask 800*bebae9c0SAndroid Build Coastguard Worker ); 801*bebae9c0SAndroid Build Coastguard Worker SLresult (*ClearKeyFilter) ( 802*bebae9c0SAndroid Build Coastguard Worker SLMetadataExtractionItf self 803*bebae9c0SAndroid Build Coastguard Worker ); 804*bebae9c0SAndroid Build Coastguard Worker }; 805*bebae9c0SAndroid Build Coastguard Worker 806*bebae9c0SAndroid Build Coastguard Worker 807*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 808*bebae9c0SAndroid Build Coastguard Worker /* Meta data traversal related types and interface */ 809*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 810*bebae9c0SAndroid Build Coastguard Worker 811*bebae9c0SAndroid Build Coastguard Worker #define SL_METADATATRAVERSALMODE_ALL ((SLuint32) 0x00000001) 812*bebae9c0SAndroid Build Coastguard Worker #define SL_METADATATRAVERSALMODE_NODE ((SLuint32) 0x00000002) 813*bebae9c0SAndroid Build Coastguard Worker 814*bebae9c0SAndroid Build Coastguard Worker 815*bebae9c0SAndroid Build Coastguard Worker #define SL_NODETYPE_UNSPECIFIED ((SLuint32) 0x00000001) 816*bebae9c0SAndroid Build Coastguard Worker #define SL_NODETYPE_AUDIO ((SLuint32) 0x00000002) 817*bebae9c0SAndroid Build Coastguard Worker #define SL_NODETYPE_VIDEO ((SLuint32) 0x00000003) 818*bebae9c0SAndroid Build Coastguard Worker #define SL_NODETYPE_IMAGE ((SLuint32) 0x00000004) 819*bebae9c0SAndroid Build Coastguard Worker 820*bebae9c0SAndroid Build Coastguard Worker #define SL_NODE_PARENT 0xFFFFFFFF 821*bebae9c0SAndroid Build Coastguard Worker 822*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_METADATATRAVERSAL; 823*bebae9c0SAndroid Build Coastguard Worker 824*bebae9c0SAndroid Build Coastguard Worker struct SLMetadataTraversalItf_; 825*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLMetadataTraversalItf_ * const * SLMetadataTraversalItf; 826*bebae9c0SAndroid Build Coastguard Worker 827*bebae9c0SAndroid Build Coastguard Worker struct SLMetadataTraversalItf_ { 828*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetMode) ( 829*bebae9c0SAndroid Build Coastguard Worker SLMetadataTraversalItf self, 830*bebae9c0SAndroid Build Coastguard Worker SLuint32 mode 831*bebae9c0SAndroid Build Coastguard Worker ); 832*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetChildCount) ( 833*bebae9c0SAndroid Build Coastguard Worker SLMetadataTraversalItf self, 834*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pCount 835*bebae9c0SAndroid Build Coastguard Worker ); 836*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetChildMIMETypeSize) ( 837*bebae9c0SAndroid Build Coastguard Worker SLMetadataTraversalItf self, 838*bebae9c0SAndroid Build Coastguard Worker SLuint32 index, 839*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pSize 840*bebae9c0SAndroid Build Coastguard Worker ); 841*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetChildInfo) ( 842*bebae9c0SAndroid Build Coastguard Worker SLMetadataTraversalItf self, 843*bebae9c0SAndroid Build Coastguard Worker SLuint32 index, 844*bebae9c0SAndroid Build Coastguard Worker SLint32 *pNodeID, 845*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pType, 846*bebae9c0SAndroid Build Coastguard Worker SLuint32 size, 847*bebae9c0SAndroid Build Coastguard Worker SLchar *pMimeType 848*bebae9c0SAndroid Build Coastguard Worker ); 849*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetActiveNode) ( 850*bebae9c0SAndroid Build Coastguard Worker SLMetadataTraversalItf self, 851*bebae9c0SAndroid Build Coastguard Worker SLuint32 index 852*bebae9c0SAndroid Build Coastguard Worker ); 853*bebae9c0SAndroid Build Coastguard Worker }; 854*bebae9c0SAndroid Build Coastguard Worker 855*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 856*bebae9c0SAndroid Build Coastguard Worker /* Dynamic Source types and interface */ 857*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 858*bebae9c0SAndroid Build Coastguard Worker 859*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_DYNAMICSOURCE; 860*bebae9c0SAndroid Build Coastguard Worker 861*bebae9c0SAndroid Build Coastguard Worker struct SLDynamicSourceItf_; 862*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLDynamicSourceItf_ * const * SLDynamicSourceItf; 863*bebae9c0SAndroid Build Coastguard Worker 864*bebae9c0SAndroid Build Coastguard Worker struct SLDynamicSourceItf_ { 865*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetSource) ( 866*bebae9c0SAndroid Build Coastguard Worker SLDynamicSourceItf self, 867*bebae9c0SAndroid Build Coastguard Worker SLDataSource *pDataSource 868*bebae9c0SAndroid Build Coastguard Worker ); 869*bebae9c0SAndroid Build Coastguard Worker }; 870*bebae9c0SAndroid Build Coastguard Worker 871*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 872*bebae9c0SAndroid Build Coastguard Worker /* Output Mix interface */ 873*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 874*bebae9c0SAndroid Build Coastguard Worker 875*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_OUTPUTMIX; 876*bebae9c0SAndroid Build Coastguard Worker 877*bebae9c0SAndroid Build Coastguard Worker struct SLOutputMixItf_; 878*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLOutputMixItf_ * const * SLOutputMixItf; 879*bebae9c0SAndroid Build Coastguard Worker 880*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slMixDeviceChangeCallback) ( 881*bebae9c0SAndroid Build Coastguard Worker SLOutputMixItf caller, 882*bebae9c0SAndroid Build Coastguard Worker void *pContext 883*bebae9c0SAndroid Build Coastguard Worker ); 884*bebae9c0SAndroid Build Coastguard Worker 885*bebae9c0SAndroid Build Coastguard Worker 886*bebae9c0SAndroid Build Coastguard Worker struct SLOutputMixItf_ { 887*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDestinationOutputDeviceIDs) ( 888*bebae9c0SAndroid Build Coastguard Worker SLOutputMixItf self, 889*bebae9c0SAndroid Build Coastguard Worker SLint32 *pNumDevices, 890*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pDeviceIDs 891*bebae9c0SAndroid Build Coastguard Worker ); 892*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterDeviceChangeCallback) ( 893*bebae9c0SAndroid Build Coastguard Worker SLOutputMixItf self, 894*bebae9c0SAndroid Build Coastguard Worker slMixDeviceChangeCallback callback, 895*bebae9c0SAndroid Build Coastguard Worker void *pContext 896*bebae9c0SAndroid Build Coastguard Worker ); 897*bebae9c0SAndroid Build Coastguard Worker SLresult (*ReRoute)( 898*bebae9c0SAndroid Build Coastguard Worker SLOutputMixItf self, 899*bebae9c0SAndroid Build Coastguard Worker SLint32 numOutputDevices, 900*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pOutputDeviceIDs 901*bebae9c0SAndroid Build Coastguard Worker ); 902*bebae9c0SAndroid Build Coastguard Worker }; 903*bebae9c0SAndroid Build Coastguard Worker 904*bebae9c0SAndroid Build Coastguard Worker 905*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 906*bebae9c0SAndroid Build Coastguard Worker /* Playback interface */ 907*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 908*bebae9c0SAndroid Build Coastguard Worker 909*bebae9c0SAndroid Build Coastguard Worker /** Playback states */ 910*bebae9c0SAndroid Build Coastguard Worker #define SL_PLAYSTATE_STOPPED ((SLuint32) 0x00000001) 911*bebae9c0SAndroid Build Coastguard Worker #define SL_PLAYSTATE_PAUSED ((SLuint32) 0x00000002) 912*bebae9c0SAndroid Build Coastguard Worker #define SL_PLAYSTATE_PLAYING ((SLuint32) 0x00000003) 913*bebae9c0SAndroid Build Coastguard Worker 914*bebae9c0SAndroid Build Coastguard Worker /** Play events **/ 915*bebae9c0SAndroid Build Coastguard Worker #define SL_PLAYEVENT_HEADATEND ((SLuint32) 0x00000001) 916*bebae9c0SAndroid Build Coastguard Worker #define SL_PLAYEVENT_HEADATMARKER ((SLuint32) 0x00000002) 917*bebae9c0SAndroid Build Coastguard Worker #define SL_PLAYEVENT_HEADATNEWPOS ((SLuint32) 0x00000004) 918*bebae9c0SAndroid Build Coastguard Worker #define SL_PLAYEVENT_HEADMOVING ((SLuint32) 0x00000008) 919*bebae9c0SAndroid Build Coastguard Worker #define SL_PLAYEVENT_HEADSTALLED ((SLuint32) 0x00000010) 920*bebae9c0SAndroid Build Coastguard Worker 921*bebae9c0SAndroid Build Coastguard Worker #define SL_TIME_UNKNOWN ((SLuint32) 0xFFFFFFFF) 922*bebae9c0SAndroid Build Coastguard Worker 923*bebae9c0SAndroid Build Coastguard Worker 924*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_PLAY; 925*bebae9c0SAndroid Build Coastguard Worker 926*bebae9c0SAndroid Build Coastguard Worker /** Playback interface methods */ 927*bebae9c0SAndroid Build Coastguard Worker 928*bebae9c0SAndroid Build Coastguard Worker struct SLPlayItf_; 929*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLPlayItf_ * const * SLPlayItf; 930*bebae9c0SAndroid Build Coastguard Worker 931*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slPlayCallback) ( 932*bebae9c0SAndroid Build Coastguard Worker SLPlayItf caller, 933*bebae9c0SAndroid Build Coastguard Worker void *pContext, 934*bebae9c0SAndroid Build Coastguard Worker SLuint32 event 935*bebae9c0SAndroid Build Coastguard Worker ); 936*bebae9c0SAndroid Build Coastguard Worker 937*bebae9c0SAndroid Build Coastguard Worker struct SLPlayItf_ { 938*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetPlayState) ( 939*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 940*bebae9c0SAndroid Build Coastguard Worker SLuint32 state 941*bebae9c0SAndroid Build Coastguard Worker ); 942*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPlayState) ( 943*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 944*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pState 945*bebae9c0SAndroid Build Coastguard Worker ); 946*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDuration) ( 947*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 948*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pMsec 949*bebae9c0SAndroid Build Coastguard Worker ); 950*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPosition) ( 951*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 952*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pMsec 953*bebae9c0SAndroid Build Coastguard Worker ); 954*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterCallback) ( 955*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 956*bebae9c0SAndroid Build Coastguard Worker slPlayCallback callback, 957*bebae9c0SAndroid Build Coastguard Worker void *pContext 958*bebae9c0SAndroid Build Coastguard Worker ); 959*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetCallbackEventsMask) ( 960*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 961*bebae9c0SAndroid Build Coastguard Worker SLuint32 eventFlags 962*bebae9c0SAndroid Build Coastguard Worker ); 963*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetCallbackEventsMask) ( 964*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 965*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pEventFlags 966*bebae9c0SAndroid Build Coastguard Worker ); 967*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetMarkerPosition) ( 968*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 969*bebae9c0SAndroid Build Coastguard Worker SLmillisecond mSec 970*bebae9c0SAndroid Build Coastguard Worker ); 971*bebae9c0SAndroid Build Coastguard Worker SLresult (*ClearMarkerPosition) ( 972*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self 973*bebae9c0SAndroid Build Coastguard Worker ); 974*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetMarkerPosition) ( 975*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 976*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pMsec 977*bebae9c0SAndroid Build Coastguard Worker ); 978*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetPositionUpdatePeriod) ( 979*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 980*bebae9c0SAndroid Build Coastguard Worker SLmillisecond mSec 981*bebae9c0SAndroid Build Coastguard Worker ); 982*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPositionUpdatePeriod) ( 983*bebae9c0SAndroid Build Coastguard Worker SLPlayItf self, 984*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pMsec 985*bebae9c0SAndroid Build Coastguard Worker ); 986*bebae9c0SAndroid Build Coastguard Worker }; 987*bebae9c0SAndroid Build Coastguard Worker 988*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 989*bebae9c0SAndroid Build Coastguard Worker /* Prefetch status interface */ 990*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 991*bebae9c0SAndroid Build Coastguard Worker 992*bebae9c0SAndroid Build Coastguard Worker #define SL_PREFETCHEVENT_STATUSCHANGE ((SLuint32) 0x00000001) 993*bebae9c0SAndroid Build Coastguard Worker #define SL_PREFETCHEVENT_FILLLEVELCHANGE ((SLuint32) 0x00000002) 994*bebae9c0SAndroid Build Coastguard Worker 995*bebae9c0SAndroid Build Coastguard Worker #define SL_PREFETCHSTATUS_UNDERFLOW ((SLuint32) 0x00000001) 996*bebae9c0SAndroid Build Coastguard Worker #define SL_PREFETCHSTATUS_SUFFICIENTDATA ((SLuint32) 0x00000002) 997*bebae9c0SAndroid Build Coastguard Worker #define SL_PREFETCHSTATUS_OVERFLOW ((SLuint32) 0x00000003) 998*bebae9c0SAndroid Build Coastguard Worker 999*bebae9c0SAndroid Build Coastguard Worker 1000*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_PREFETCHSTATUS; 1001*bebae9c0SAndroid Build Coastguard Worker 1002*bebae9c0SAndroid Build Coastguard Worker 1003*bebae9c0SAndroid Build Coastguard Worker /** Prefetch status interface methods */ 1004*bebae9c0SAndroid Build Coastguard Worker 1005*bebae9c0SAndroid Build Coastguard Worker struct SLPrefetchStatusItf_; 1006*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLPrefetchStatusItf_ * const * SLPrefetchStatusItf; 1007*bebae9c0SAndroid Build Coastguard Worker 1008*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slPrefetchCallback) ( 1009*bebae9c0SAndroid Build Coastguard Worker SLPrefetchStatusItf caller, 1010*bebae9c0SAndroid Build Coastguard Worker void *pContext, 1011*bebae9c0SAndroid Build Coastguard Worker SLuint32 event 1012*bebae9c0SAndroid Build Coastguard Worker ); 1013*bebae9c0SAndroid Build Coastguard Worker 1014*bebae9c0SAndroid Build Coastguard Worker struct SLPrefetchStatusItf_ { 1015*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPrefetchStatus) ( 1016*bebae9c0SAndroid Build Coastguard Worker SLPrefetchStatusItf self, 1017*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pStatus 1018*bebae9c0SAndroid Build Coastguard Worker ); 1019*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetFillLevel) ( 1020*bebae9c0SAndroid Build Coastguard Worker SLPrefetchStatusItf self, 1021*bebae9c0SAndroid Build Coastguard Worker SLpermille *pLevel 1022*bebae9c0SAndroid Build Coastguard Worker ); 1023*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterCallback) ( 1024*bebae9c0SAndroid Build Coastguard Worker SLPrefetchStatusItf self, 1025*bebae9c0SAndroid Build Coastguard Worker slPrefetchCallback callback, 1026*bebae9c0SAndroid Build Coastguard Worker void *pContext 1027*bebae9c0SAndroid Build Coastguard Worker ); 1028*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetCallbackEventsMask) ( 1029*bebae9c0SAndroid Build Coastguard Worker SLPrefetchStatusItf self, 1030*bebae9c0SAndroid Build Coastguard Worker SLuint32 eventFlags 1031*bebae9c0SAndroid Build Coastguard Worker ); 1032*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetCallbackEventsMask) ( 1033*bebae9c0SAndroid Build Coastguard Worker SLPrefetchStatusItf self, 1034*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pEventFlags 1035*bebae9c0SAndroid Build Coastguard Worker ); 1036*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetFillUpdatePeriod) ( 1037*bebae9c0SAndroid Build Coastguard Worker SLPrefetchStatusItf self, 1038*bebae9c0SAndroid Build Coastguard Worker SLpermille period 1039*bebae9c0SAndroid Build Coastguard Worker ); 1040*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetFillUpdatePeriod) ( 1041*bebae9c0SAndroid Build Coastguard Worker SLPrefetchStatusItf self, 1042*bebae9c0SAndroid Build Coastguard Worker SLpermille *pPeriod 1043*bebae9c0SAndroid Build Coastguard Worker ); 1044*bebae9c0SAndroid Build Coastguard Worker }; 1045*bebae9c0SAndroid Build Coastguard Worker 1046*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1047*bebae9c0SAndroid Build Coastguard Worker /* Playback Rate interface */ 1048*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1049*bebae9c0SAndroid Build Coastguard Worker 1050*bebae9c0SAndroid Build Coastguard Worker #define SL_RATEPROP_RESERVED1 ((SLuint32) 0x00000001) 1051*bebae9c0SAndroid Build Coastguard Worker #define SL_RATEPROP_RESERVED2 ((SLuint32) 0x00000002) 1052*bebae9c0SAndroid Build Coastguard Worker #define SL_RATEPROP_SILENTAUDIO ((SLuint32) 0x00000100) 1053*bebae9c0SAndroid Build Coastguard Worker #define SL_RATEPROP_STAGGEREDAUDIO ((SLuint32) 0x00000200) 1054*bebae9c0SAndroid Build Coastguard Worker #define SL_RATEPROP_NOPITCHCORAUDIO ((SLuint32) 0x00000400) 1055*bebae9c0SAndroid Build Coastguard Worker #define SL_RATEPROP_PITCHCORAUDIO ((SLuint32) 0x00000800) 1056*bebae9c0SAndroid Build Coastguard Worker 1057*bebae9c0SAndroid Build Coastguard Worker 1058*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_PLAYBACKRATE; 1059*bebae9c0SAndroid Build Coastguard Worker 1060*bebae9c0SAndroid Build Coastguard Worker struct SLPlaybackRateItf_; 1061*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLPlaybackRateItf_ * const * SLPlaybackRateItf; 1062*bebae9c0SAndroid Build Coastguard Worker 1063*bebae9c0SAndroid Build Coastguard Worker struct SLPlaybackRateItf_ { 1064*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRate)( 1065*bebae9c0SAndroid Build Coastguard Worker SLPlaybackRateItf self, 1066*bebae9c0SAndroid Build Coastguard Worker SLpermille rate 1067*bebae9c0SAndroid Build Coastguard Worker ); 1068*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRate)( 1069*bebae9c0SAndroid Build Coastguard Worker SLPlaybackRateItf self, 1070*bebae9c0SAndroid Build Coastguard Worker SLpermille *pRate 1071*bebae9c0SAndroid Build Coastguard Worker ); 1072*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetPropertyConstraints)( 1073*bebae9c0SAndroid Build Coastguard Worker SLPlaybackRateItf self, 1074*bebae9c0SAndroid Build Coastguard Worker SLuint32 constraints 1075*bebae9c0SAndroid Build Coastguard Worker ); 1076*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetProperties)( 1077*bebae9c0SAndroid Build Coastguard Worker SLPlaybackRateItf self, 1078*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pProperties 1079*bebae9c0SAndroid Build Coastguard Worker ); 1080*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetCapabilitiesOfRate)( 1081*bebae9c0SAndroid Build Coastguard Worker SLPlaybackRateItf self, 1082*bebae9c0SAndroid Build Coastguard Worker SLpermille rate, 1083*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pCapabilities 1084*bebae9c0SAndroid Build Coastguard Worker ); 1085*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRateRange) ( 1086*bebae9c0SAndroid Build Coastguard Worker SLPlaybackRateItf self, 1087*bebae9c0SAndroid Build Coastguard Worker SLuint8 index, 1088*bebae9c0SAndroid Build Coastguard Worker SLpermille *pMinRate, 1089*bebae9c0SAndroid Build Coastguard Worker SLpermille *pMaxRate, 1090*bebae9c0SAndroid Build Coastguard Worker SLpermille *pStepSize, 1091*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pCapabilities 1092*bebae9c0SAndroid Build Coastguard Worker ); 1093*bebae9c0SAndroid Build Coastguard Worker }; 1094*bebae9c0SAndroid Build Coastguard Worker 1095*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1096*bebae9c0SAndroid Build Coastguard Worker /* Seek Interface */ 1097*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1098*bebae9c0SAndroid Build Coastguard Worker 1099*bebae9c0SAndroid Build Coastguard Worker #define SL_SEEKMODE_FAST ((SLuint32) 0x0001) 1100*bebae9c0SAndroid Build Coastguard Worker #define SL_SEEKMODE_ACCURATE ((SLuint32) 0x0002) 1101*bebae9c0SAndroid Build Coastguard Worker 1102*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_SEEK; 1103*bebae9c0SAndroid Build Coastguard Worker 1104*bebae9c0SAndroid Build Coastguard Worker struct SLSeekItf_; 1105*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLSeekItf_ * const * SLSeekItf; 1106*bebae9c0SAndroid Build Coastguard Worker 1107*bebae9c0SAndroid Build Coastguard Worker struct SLSeekItf_ { 1108*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetPosition)( 1109*bebae9c0SAndroid Build Coastguard Worker SLSeekItf self, 1110*bebae9c0SAndroid Build Coastguard Worker SLmillisecond pos, 1111*bebae9c0SAndroid Build Coastguard Worker SLuint32 seekMode 1112*bebae9c0SAndroid Build Coastguard Worker ); 1113*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetLoop)( 1114*bebae9c0SAndroid Build Coastguard Worker SLSeekItf self, 1115*bebae9c0SAndroid Build Coastguard Worker SLboolean loopEnable, 1116*bebae9c0SAndroid Build Coastguard Worker SLmillisecond startPos, 1117*bebae9c0SAndroid Build Coastguard Worker SLmillisecond endPos 1118*bebae9c0SAndroid Build Coastguard Worker ); 1119*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetLoop)( 1120*bebae9c0SAndroid Build Coastguard Worker SLSeekItf self, 1121*bebae9c0SAndroid Build Coastguard Worker SLboolean *pLoopEnabled, 1122*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pStartPos, 1123*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pEndPos 1124*bebae9c0SAndroid Build Coastguard Worker ); 1125*bebae9c0SAndroid Build Coastguard Worker }; 1126*bebae9c0SAndroid Build Coastguard Worker 1127*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1128*bebae9c0SAndroid Build Coastguard Worker /* Standard Recording Interface */ 1129*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1130*bebae9c0SAndroid Build Coastguard Worker 1131*bebae9c0SAndroid Build Coastguard Worker /** Recording states */ 1132*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDSTATE_STOPPED ((SLuint32) 0x00000001) 1133*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDSTATE_PAUSED ((SLuint32) 0x00000002) 1134*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDSTATE_RECORDING ((SLuint32) 0x00000003) 1135*bebae9c0SAndroid Build Coastguard Worker 1136*bebae9c0SAndroid Build Coastguard Worker 1137*bebae9c0SAndroid Build Coastguard Worker /** Record event **/ 1138*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDEVENT_HEADATLIMIT ((SLuint32) 0x00000001) 1139*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDEVENT_HEADATMARKER ((SLuint32) 0x00000002) 1140*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDEVENT_HEADATNEWPOS ((SLuint32) 0x00000004) 1141*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDEVENT_HEADMOVING ((SLuint32) 0x00000008) 1142*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDEVENT_HEADSTALLED ((SLuint32) 0x00000010) 1143*bebae9c0SAndroid Build Coastguard Worker /* Note: SL_RECORDEVENT_BUFFER_INSUFFICIENT is deprecated, use SL_RECORDEVENT_BUFFER_FULL instead. */ 1144*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDEVENT_BUFFER_INSUFFICIENT ((SLuint32) 0x00000020) 1145*bebae9c0SAndroid Build Coastguard Worker #define SL_RECORDEVENT_BUFFER_FULL ((SLuint32) 0x00000020) 1146*bebae9c0SAndroid Build Coastguard Worker 1147*bebae9c0SAndroid Build Coastguard Worker 1148*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_RECORD; 1149*bebae9c0SAndroid Build Coastguard Worker 1150*bebae9c0SAndroid Build Coastguard Worker struct SLRecordItf_; 1151*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLRecordItf_ * const * SLRecordItf; 1152*bebae9c0SAndroid Build Coastguard Worker 1153*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slRecordCallback) ( 1154*bebae9c0SAndroid Build Coastguard Worker SLRecordItf caller, 1155*bebae9c0SAndroid Build Coastguard Worker void *pContext, 1156*bebae9c0SAndroid Build Coastguard Worker SLuint32 event 1157*bebae9c0SAndroid Build Coastguard Worker ); 1158*bebae9c0SAndroid Build Coastguard Worker 1159*bebae9c0SAndroid Build Coastguard Worker /** Recording interface methods */ 1160*bebae9c0SAndroid Build Coastguard Worker struct SLRecordItf_ { 1161*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRecordState) ( 1162*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1163*bebae9c0SAndroid Build Coastguard Worker SLuint32 state 1164*bebae9c0SAndroid Build Coastguard Worker ); 1165*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRecordState) ( 1166*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1167*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pState 1168*bebae9c0SAndroid Build Coastguard Worker ); 1169*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetDurationLimit) ( 1170*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1171*bebae9c0SAndroid Build Coastguard Worker SLmillisecond msec 1172*bebae9c0SAndroid Build Coastguard Worker ); 1173*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPosition) ( 1174*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1175*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pMsec 1176*bebae9c0SAndroid Build Coastguard Worker ); 1177*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterCallback) ( 1178*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1179*bebae9c0SAndroid Build Coastguard Worker slRecordCallback callback, 1180*bebae9c0SAndroid Build Coastguard Worker void *pContext 1181*bebae9c0SAndroid Build Coastguard Worker ); 1182*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetCallbackEventsMask) ( 1183*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1184*bebae9c0SAndroid Build Coastguard Worker SLuint32 eventFlags 1185*bebae9c0SAndroid Build Coastguard Worker ); 1186*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetCallbackEventsMask) ( 1187*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1188*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pEventFlags 1189*bebae9c0SAndroid Build Coastguard Worker ); 1190*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetMarkerPosition) ( 1191*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1192*bebae9c0SAndroid Build Coastguard Worker SLmillisecond mSec 1193*bebae9c0SAndroid Build Coastguard Worker ); 1194*bebae9c0SAndroid Build Coastguard Worker SLresult (*ClearMarkerPosition) ( 1195*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self 1196*bebae9c0SAndroid Build Coastguard Worker ); 1197*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetMarkerPosition) ( 1198*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1199*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pMsec 1200*bebae9c0SAndroid Build Coastguard Worker ); 1201*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetPositionUpdatePeriod) ( 1202*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1203*bebae9c0SAndroid Build Coastguard Worker SLmillisecond mSec 1204*bebae9c0SAndroid Build Coastguard Worker ); 1205*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPositionUpdatePeriod) ( 1206*bebae9c0SAndroid Build Coastguard Worker SLRecordItf self, 1207*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pMsec 1208*bebae9c0SAndroid Build Coastguard Worker ); 1209*bebae9c0SAndroid Build Coastguard Worker }; 1210*bebae9c0SAndroid Build Coastguard Worker 1211*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1212*bebae9c0SAndroid Build Coastguard Worker /* Equalizer interface */ 1213*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1214*bebae9c0SAndroid Build Coastguard Worker 1215*bebae9c0SAndroid Build Coastguard Worker #define SL_EQUALIZER_UNDEFINED ((SLuint16) 0xFFFF) 1216*bebae9c0SAndroid Build Coastguard Worker 1217*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_EQUALIZER; 1218*bebae9c0SAndroid Build Coastguard Worker 1219*bebae9c0SAndroid Build Coastguard Worker struct SLEqualizerItf_; 1220*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLEqualizerItf_ * const * SLEqualizerItf; 1221*bebae9c0SAndroid Build Coastguard Worker 1222*bebae9c0SAndroid Build Coastguard Worker struct SLEqualizerItf_ { 1223*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetEnabled)( 1224*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1225*bebae9c0SAndroid Build Coastguard Worker SLboolean enabled 1226*bebae9c0SAndroid Build Coastguard Worker ); 1227*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsEnabled)( 1228*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1229*bebae9c0SAndroid Build Coastguard Worker SLboolean *pEnabled 1230*bebae9c0SAndroid Build Coastguard Worker ); 1231*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetNumberOfBands)( 1232*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1233*bebae9c0SAndroid Build Coastguard Worker SLuint16 *pAmount 1234*bebae9c0SAndroid Build Coastguard Worker ); 1235*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetBandLevelRange)( 1236*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1237*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pMin, 1238*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pMax 1239*bebae9c0SAndroid Build Coastguard Worker ); 1240*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetBandLevel)( 1241*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1242*bebae9c0SAndroid Build Coastguard Worker SLuint16 band, 1243*bebae9c0SAndroid Build Coastguard Worker SLmillibel level 1244*bebae9c0SAndroid Build Coastguard Worker ); 1245*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetBandLevel)( 1246*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1247*bebae9c0SAndroid Build Coastguard Worker SLuint16 band, 1248*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pLevel 1249*bebae9c0SAndroid Build Coastguard Worker ); 1250*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetCenterFreq)( 1251*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1252*bebae9c0SAndroid Build Coastguard Worker SLuint16 band, 1253*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz *pCenter 1254*bebae9c0SAndroid Build Coastguard Worker ); 1255*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetBandFreqRange)( 1256*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1257*bebae9c0SAndroid Build Coastguard Worker SLuint16 band, 1258*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz *pMin, 1259*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz *pMax 1260*bebae9c0SAndroid Build Coastguard Worker ); 1261*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetBand)( 1262*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1263*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz frequency, 1264*bebae9c0SAndroid Build Coastguard Worker SLuint16 *pBand 1265*bebae9c0SAndroid Build Coastguard Worker ); 1266*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetCurrentPreset)( 1267*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1268*bebae9c0SAndroid Build Coastguard Worker SLuint16 *pPreset 1269*bebae9c0SAndroid Build Coastguard Worker ); 1270*bebae9c0SAndroid Build Coastguard Worker SLresult (*UsePreset)( 1271*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1272*bebae9c0SAndroid Build Coastguard Worker SLuint16 index 1273*bebae9c0SAndroid Build Coastguard Worker ); 1274*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetNumberOfPresets)( 1275*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1276*bebae9c0SAndroid Build Coastguard Worker SLuint16 *pNumPresets 1277*bebae9c0SAndroid Build Coastguard Worker ); 1278*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPresetName)( 1279*bebae9c0SAndroid Build Coastguard Worker SLEqualizerItf self, 1280*bebae9c0SAndroid Build Coastguard Worker SLuint16 index, 1281*bebae9c0SAndroid Build Coastguard Worker const SLchar ** ppName 1282*bebae9c0SAndroid Build Coastguard Worker ); 1283*bebae9c0SAndroid Build Coastguard Worker }; 1284*bebae9c0SAndroid Build Coastguard Worker 1285*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1286*bebae9c0SAndroid Build Coastguard Worker /* Volume Interface */ 1287*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 1288*bebae9c0SAndroid Build Coastguard Worker 1289*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_VOLUME; 1290*bebae9c0SAndroid Build Coastguard Worker 1291*bebae9c0SAndroid Build Coastguard Worker struct SLVolumeItf_; 1292*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLVolumeItf_ * const * SLVolumeItf; 1293*bebae9c0SAndroid Build Coastguard Worker 1294*bebae9c0SAndroid Build Coastguard Worker struct SLVolumeItf_ { 1295*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetVolumeLevel) ( 1296*bebae9c0SAndroid Build Coastguard Worker SLVolumeItf self, 1297*bebae9c0SAndroid Build Coastguard Worker SLmillibel level 1298*bebae9c0SAndroid Build Coastguard Worker ); 1299*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetVolumeLevel) ( 1300*bebae9c0SAndroid Build Coastguard Worker SLVolumeItf self, 1301*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pLevel 1302*bebae9c0SAndroid Build Coastguard Worker ); 1303*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetMaxVolumeLevel) ( 1304*bebae9c0SAndroid Build Coastguard Worker SLVolumeItf self, 1305*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pMaxLevel 1306*bebae9c0SAndroid Build Coastguard Worker ); 1307*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetMute) ( 1308*bebae9c0SAndroid Build Coastguard Worker SLVolumeItf self, 1309*bebae9c0SAndroid Build Coastguard Worker SLboolean mute 1310*bebae9c0SAndroid Build Coastguard Worker ); 1311*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetMute) ( 1312*bebae9c0SAndroid Build Coastguard Worker SLVolumeItf self, 1313*bebae9c0SAndroid Build Coastguard Worker SLboolean *pMute 1314*bebae9c0SAndroid Build Coastguard Worker ); 1315*bebae9c0SAndroid Build Coastguard Worker SLresult (*EnableStereoPosition) ( 1316*bebae9c0SAndroid Build Coastguard Worker SLVolumeItf self, 1317*bebae9c0SAndroid Build Coastguard Worker SLboolean enable 1318*bebae9c0SAndroid Build Coastguard Worker ); 1319*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsEnabledStereoPosition) ( 1320*bebae9c0SAndroid Build Coastguard Worker SLVolumeItf self, 1321*bebae9c0SAndroid Build Coastguard Worker SLboolean *pEnable 1322*bebae9c0SAndroid Build Coastguard Worker ); 1323*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetStereoPosition) ( 1324*bebae9c0SAndroid Build Coastguard Worker SLVolumeItf self, 1325*bebae9c0SAndroid Build Coastguard Worker SLpermille stereoPosition 1326*bebae9c0SAndroid Build Coastguard Worker ); 1327*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetStereoPosition) ( 1328*bebae9c0SAndroid Build Coastguard Worker SLVolumeItf self, 1329*bebae9c0SAndroid Build Coastguard Worker SLpermille *pStereoPosition 1330*bebae9c0SAndroid Build Coastguard Worker ); 1331*bebae9c0SAndroid Build Coastguard Worker }; 1332*bebae9c0SAndroid Build Coastguard Worker 1333*bebae9c0SAndroid Build Coastguard Worker 1334*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1335*bebae9c0SAndroid Build Coastguard Worker /* Device Volume Interface */ 1336*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 1337*bebae9c0SAndroid Build Coastguard Worker 1338*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_DEVICEVOLUME; 1339*bebae9c0SAndroid Build Coastguard Worker 1340*bebae9c0SAndroid Build Coastguard Worker struct SLDeviceVolumeItf_; 1341*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLDeviceVolumeItf_ * const * SLDeviceVolumeItf; 1342*bebae9c0SAndroid Build Coastguard Worker 1343*bebae9c0SAndroid Build Coastguard Worker struct SLDeviceVolumeItf_ { 1344*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetVolumeScale) ( 1345*bebae9c0SAndroid Build Coastguard Worker SLDeviceVolumeItf self, 1346*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceID, 1347*bebae9c0SAndroid Build Coastguard Worker SLint32 *pMinValue, 1348*bebae9c0SAndroid Build Coastguard Worker SLint32 *pMaxValue, 1349*bebae9c0SAndroid Build Coastguard Worker SLboolean *pIsMillibelScale 1350*bebae9c0SAndroid Build Coastguard Worker ); 1351*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetVolume) ( 1352*bebae9c0SAndroid Build Coastguard Worker SLDeviceVolumeItf self, 1353*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceID, 1354*bebae9c0SAndroid Build Coastguard Worker SLint32 volume 1355*bebae9c0SAndroid Build Coastguard Worker ); 1356*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetVolume) ( 1357*bebae9c0SAndroid Build Coastguard Worker SLDeviceVolumeItf self, 1358*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceID, 1359*bebae9c0SAndroid Build Coastguard Worker SLint32 *pVolume 1360*bebae9c0SAndroid Build Coastguard Worker ); 1361*bebae9c0SAndroid Build Coastguard Worker }; 1362*bebae9c0SAndroid Build Coastguard Worker 1363*bebae9c0SAndroid Build Coastguard Worker 1364*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1365*bebae9c0SAndroid Build Coastguard Worker /* Buffer Queue Interface */ 1366*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1367*bebae9c0SAndroid Build Coastguard Worker 1368*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_BUFFERQUEUE; 1369*bebae9c0SAndroid Build Coastguard Worker 1370*bebae9c0SAndroid Build Coastguard Worker struct SLBufferQueueItf_; 1371*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLBufferQueueItf_ * const * SLBufferQueueItf; 1372*bebae9c0SAndroid Build Coastguard Worker 1373*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slBufferQueueCallback)( 1374*bebae9c0SAndroid Build Coastguard Worker SLBufferQueueItf caller, 1375*bebae9c0SAndroid Build Coastguard Worker void *pContext 1376*bebae9c0SAndroid Build Coastguard Worker ); 1377*bebae9c0SAndroid Build Coastguard Worker 1378*bebae9c0SAndroid Build Coastguard Worker /** Buffer queue state **/ 1379*bebae9c0SAndroid Build Coastguard Worker 1380*bebae9c0SAndroid Build Coastguard Worker typedef struct SLBufferQueueState_ { 1381*bebae9c0SAndroid Build Coastguard Worker SLuint32 count; 1382*bebae9c0SAndroid Build Coastguard Worker SLuint32 playIndex; 1383*bebae9c0SAndroid Build Coastguard Worker } SLBufferQueueState; 1384*bebae9c0SAndroid Build Coastguard Worker 1385*bebae9c0SAndroid Build Coastguard Worker 1386*bebae9c0SAndroid Build Coastguard Worker struct SLBufferQueueItf_ { 1387*bebae9c0SAndroid Build Coastguard Worker SLresult (*Enqueue) ( 1388*bebae9c0SAndroid Build Coastguard Worker SLBufferQueueItf self, 1389*bebae9c0SAndroid Build Coastguard Worker const void *pBuffer, 1390*bebae9c0SAndroid Build Coastguard Worker SLuint32 size 1391*bebae9c0SAndroid Build Coastguard Worker ); 1392*bebae9c0SAndroid Build Coastguard Worker SLresult (*Clear) ( 1393*bebae9c0SAndroid Build Coastguard Worker SLBufferQueueItf self 1394*bebae9c0SAndroid Build Coastguard Worker ); 1395*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetState) ( 1396*bebae9c0SAndroid Build Coastguard Worker SLBufferQueueItf self, 1397*bebae9c0SAndroid Build Coastguard Worker SLBufferQueueState *pState 1398*bebae9c0SAndroid Build Coastguard Worker ); 1399*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterCallback) ( 1400*bebae9c0SAndroid Build Coastguard Worker SLBufferQueueItf self, 1401*bebae9c0SAndroid Build Coastguard Worker slBufferQueueCallback callback, 1402*bebae9c0SAndroid Build Coastguard Worker void* pContext 1403*bebae9c0SAndroid Build Coastguard Worker ); 1404*bebae9c0SAndroid Build Coastguard Worker }; 1405*bebae9c0SAndroid Build Coastguard Worker 1406*bebae9c0SAndroid Build Coastguard Worker 1407*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1408*bebae9c0SAndroid Build Coastguard Worker /* PresetReverb */ 1409*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1410*bebae9c0SAndroid Build Coastguard Worker 1411*bebae9c0SAndroid Build Coastguard Worker #define SL_REVERBPRESET_NONE ((SLuint16) 0x0000) 1412*bebae9c0SAndroid Build Coastguard Worker #define SL_REVERBPRESET_SMALLROOM ((SLuint16) 0x0001) 1413*bebae9c0SAndroid Build Coastguard Worker #define SL_REVERBPRESET_MEDIUMROOM ((SLuint16) 0x0002) 1414*bebae9c0SAndroid Build Coastguard Worker #define SL_REVERBPRESET_LARGEROOM ((SLuint16) 0x0003) 1415*bebae9c0SAndroid Build Coastguard Worker #define SL_REVERBPRESET_MEDIUMHALL ((SLuint16) 0x0004) 1416*bebae9c0SAndroid Build Coastguard Worker #define SL_REVERBPRESET_LARGEHALL ((SLuint16) 0x0005) 1417*bebae9c0SAndroid Build Coastguard Worker #define SL_REVERBPRESET_PLATE ((SLuint16) 0x0006) 1418*bebae9c0SAndroid Build Coastguard Worker 1419*bebae9c0SAndroid Build Coastguard Worker 1420*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_PRESETREVERB; 1421*bebae9c0SAndroid Build Coastguard Worker 1422*bebae9c0SAndroid Build Coastguard Worker struct SLPresetReverbItf_; 1423*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLPresetReverbItf_ * const * SLPresetReverbItf; 1424*bebae9c0SAndroid Build Coastguard Worker 1425*bebae9c0SAndroid Build Coastguard Worker struct SLPresetReverbItf_ { 1426*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetPreset) ( 1427*bebae9c0SAndroid Build Coastguard Worker SLPresetReverbItf self, 1428*bebae9c0SAndroid Build Coastguard Worker SLuint16 preset 1429*bebae9c0SAndroid Build Coastguard Worker ); 1430*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPreset) ( 1431*bebae9c0SAndroid Build Coastguard Worker SLPresetReverbItf self, 1432*bebae9c0SAndroid Build Coastguard Worker SLuint16 *pPreset 1433*bebae9c0SAndroid Build Coastguard Worker ); 1434*bebae9c0SAndroid Build Coastguard Worker }; 1435*bebae9c0SAndroid Build Coastguard Worker 1436*bebae9c0SAndroid Build Coastguard Worker 1437*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1438*bebae9c0SAndroid Build Coastguard Worker /* EnvironmentalReverb */ 1439*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1440*bebae9c0SAndroid Build Coastguard Worker 1441*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_DEFAULT \ 1442*bebae9c0SAndroid Build Coastguard Worker { SL_MILLIBEL_MIN, 0, 1000, 500, SL_MILLIBEL_MIN, 20, SL_MILLIBEL_MIN, 40, 1000,1000 } 1443*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_GENERIC \ 1444*bebae9c0SAndroid Build Coastguard Worker { -1000, -100, 1490, 830, -2602, 7, 200, 11, 1000,1000 } 1445*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL \ 1446*bebae9c0SAndroid Build Coastguard Worker { -1000,-6000, 170, 100, -1204, 1, 207, 2, 1000,1000 } 1447*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_ROOM \ 1448*bebae9c0SAndroid Build Coastguard Worker { -1000, -454, 400, 830, -1646, 2, 53, 3, 1000,1000 } 1449*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_BATHROOM \ 1450*bebae9c0SAndroid Build Coastguard Worker { -1000,-1200, 1490, 540, -370, 7, 1030, 11, 1000, 600 } 1451*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM \ 1452*bebae9c0SAndroid Build Coastguard Worker { -1000,-6000, 500, 100, -1376, 3, -1104, 4, 1000,1000 } 1453*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_STONEROOM \ 1454*bebae9c0SAndroid Build Coastguard Worker { -1000, -300, 2310, 640, -711, 12, 83, 17, 1000,1000 } 1455*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM \ 1456*bebae9c0SAndroid Build Coastguard Worker { -1000, -476, 4320, 590, -789, 20, -289, 30, 1000,1000 } 1457*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL \ 1458*bebae9c0SAndroid Build Coastguard Worker { -1000, -500, 3920, 700, -1230, 20, -2, 29, 1000,1000 } 1459*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_CAVE \ 1460*bebae9c0SAndroid Build Coastguard Worker { -1000, 0, 2910, 1300, -602, 15, -302, 22, 1000,1000 } 1461*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_ARENA \ 1462*bebae9c0SAndroid Build Coastguard Worker { -1000, -698, 7240, 330, -1166, 20, 16, 30, 1000,1000 } 1463*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_HANGAR \ 1464*bebae9c0SAndroid Build Coastguard Worker { -1000,-1000, 10050, 230, -602, 20, 198, 30, 1000,1000 } 1465*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY \ 1466*bebae9c0SAndroid Build Coastguard Worker { -1000,-4000, 300, 100, -1831, 2, -1630, 30, 1000,1000 } 1467*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_HALLWAY \ 1468*bebae9c0SAndroid Build Coastguard Worker { -1000, -300, 1490, 590, -1219, 7, 441, 11, 1000,1000 } 1469*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR \ 1470*bebae9c0SAndroid Build Coastguard Worker { -1000, -237, 2700, 790, -1214, 13, 395, 20, 1000,1000 } 1471*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_ALLEY \ 1472*bebae9c0SAndroid Build Coastguard Worker { -1000, -270, 1490, 860, -1204, 7, -4, 11, 1000,1000 } 1473*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_FOREST \ 1474*bebae9c0SAndroid Build Coastguard Worker { -1000,-3300, 1490, 540, -2560, 162, -613, 88, 790,1000 } 1475*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_CITY \ 1476*bebae9c0SAndroid Build Coastguard Worker { -1000, -800, 1490, 670, -2273, 7, -2217, 11, 500,1000 } 1477*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS \ 1478*bebae9c0SAndroid Build Coastguard Worker { -1000,-2500, 1490, 210, -2780, 300, -2014, 100, 270,1000 } 1479*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_QUARRY \ 1480*bebae9c0SAndroid Build Coastguard Worker { -1000,-1000, 1490, 830, SL_MILLIBEL_MIN, 61, 500, 25, 1000,1000 } 1481*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_PLAIN \ 1482*bebae9c0SAndroid Build Coastguard Worker { -1000,-2000, 1490, 500, -2466, 179, -2514, 100, 210,1000 } 1483*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT \ 1484*bebae9c0SAndroid Build Coastguard Worker { -1000, 0, 1650, 1500, -1363, 8, -1153, 12, 1000,1000 } 1485*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE \ 1486*bebae9c0SAndroid Build Coastguard Worker { -1000,-1000, 2810, 140, 429, 14, 648, 21, 800, 600 } 1487*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_UNDERWATER \ 1488*bebae9c0SAndroid Build Coastguard Worker { -1000,-4000, 1490, 100, -449, 7, 1700, 11, 1000,1000 } 1489*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_SMALLROOM \ 1490*bebae9c0SAndroid Build Coastguard Worker { -1000,-600, 1100, 830, -400, 5, 500, 10, 1000, 1000 } 1491*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM \ 1492*bebae9c0SAndroid Build Coastguard Worker { -1000,-600, 1300, 830, -1000, 20, -200, 20, 1000, 1000 } 1493*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_LARGEROOM \ 1494*bebae9c0SAndroid Build Coastguard Worker { -1000,-600, 1500, 830, -1600, 5, -1000, 40, 1000, 1000 } 1495*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL \ 1496*bebae9c0SAndroid Build Coastguard Worker { -1000,-600, 1800, 700, -1300, 15, -800, 30, 1000, 1000 } 1497*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_LARGEHALL \ 1498*bebae9c0SAndroid Build Coastguard Worker { -1000,-600, 1800, 700, -2000, 30, -1400, 60, 1000, 1000 } 1499*bebae9c0SAndroid Build Coastguard Worker #define SL_I3DL2_ENVIRONMENT_PRESET_PLATE \ 1500*bebae9c0SAndroid Build Coastguard Worker { -1000,-200, 1300, 900, 0, 2, 0, 10, 1000, 750 } 1501*bebae9c0SAndroid Build Coastguard Worker 1502*bebae9c0SAndroid Build Coastguard Worker 1503*bebae9c0SAndroid Build Coastguard Worker typedef struct SLEnvironmentalReverbSettings_ { 1504*bebae9c0SAndroid Build Coastguard Worker SLmillibel roomLevel; 1505*bebae9c0SAndroid Build Coastguard Worker SLmillibel roomHFLevel; 1506*bebae9c0SAndroid Build Coastguard Worker SLmillisecond decayTime; 1507*bebae9c0SAndroid Build Coastguard Worker SLpermille decayHFRatio; 1508*bebae9c0SAndroid Build Coastguard Worker SLmillibel reflectionsLevel; 1509*bebae9c0SAndroid Build Coastguard Worker SLmillisecond reflectionsDelay; 1510*bebae9c0SAndroid Build Coastguard Worker SLmillibel reverbLevel; 1511*bebae9c0SAndroid Build Coastguard Worker SLmillisecond reverbDelay; 1512*bebae9c0SAndroid Build Coastguard Worker SLpermille diffusion; 1513*bebae9c0SAndroid Build Coastguard Worker SLpermille density; 1514*bebae9c0SAndroid Build Coastguard Worker } SLEnvironmentalReverbSettings; 1515*bebae9c0SAndroid Build Coastguard Worker 1516*bebae9c0SAndroid Build Coastguard Worker 1517*bebae9c0SAndroid Build Coastguard Worker 1518*bebae9c0SAndroid Build Coastguard Worker 1519*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_ENVIRONMENTALREVERB; 1520*bebae9c0SAndroid Build Coastguard Worker 1521*bebae9c0SAndroid Build Coastguard Worker 1522*bebae9c0SAndroid Build Coastguard Worker struct SLEnvironmentalReverbItf_; 1523*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLEnvironmentalReverbItf_ * const * SLEnvironmentalReverbItf; 1524*bebae9c0SAndroid Build Coastguard Worker 1525*bebae9c0SAndroid Build Coastguard Worker struct SLEnvironmentalReverbItf_ { 1526*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRoomLevel) ( 1527*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1528*bebae9c0SAndroid Build Coastguard Worker SLmillibel room 1529*bebae9c0SAndroid Build Coastguard Worker ); 1530*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRoomLevel) ( 1531*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1532*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pRoom 1533*bebae9c0SAndroid Build Coastguard Worker ); 1534*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRoomHFLevel) ( 1535*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1536*bebae9c0SAndroid Build Coastguard Worker SLmillibel roomHF 1537*bebae9c0SAndroid Build Coastguard Worker ); 1538*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRoomHFLevel) ( 1539*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1540*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pRoomHF 1541*bebae9c0SAndroid Build Coastguard Worker ); 1542*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetDecayTime) ( 1543*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1544*bebae9c0SAndroid Build Coastguard Worker SLmillisecond decayTime 1545*bebae9c0SAndroid Build Coastguard Worker ); 1546*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDecayTime) ( 1547*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1548*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pDecayTime 1549*bebae9c0SAndroid Build Coastguard Worker ); 1550*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetDecayHFRatio) ( 1551*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1552*bebae9c0SAndroid Build Coastguard Worker SLpermille decayHFRatio 1553*bebae9c0SAndroid Build Coastguard Worker ); 1554*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDecayHFRatio) ( 1555*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1556*bebae9c0SAndroid Build Coastguard Worker SLpermille *pDecayHFRatio 1557*bebae9c0SAndroid Build Coastguard Worker ); 1558*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetReflectionsLevel) ( 1559*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1560*bebae9c0SAndroid Build Coastguard Worker SLmillibel reflectionsLevel 1561*bebae9c0SAndroid Build Coastguard Worker ); 1562*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetReflectionsLevel) ( 1563*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1564*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pReflectionsLevel 1565*bebae9c0SAndroid Build Coastguard Worker ); 1566*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetReflectionsDelay) ( 1567*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1568*bebae9c0SAndroid Build Coastguard Worker SLmillisecond reflectionsDelay 1569*bebae9c0SAndroid Build Coastguard Worker ); 1570*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetReflectionsDelay) ( 1571*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1572*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pReflectionsDelay 1573*bebae9c0SAndroid Build Coastguard Worker ); 1574*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetReverbLevel) ( 1575*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1576*bebae9c0SAndroid Build Coastguard Worker SLmillibel reverbLevel 1577*bebae9c0SAndroid Build Coastguard Worker ); 1578*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetReverbLevel) ( 1579*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1580*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pReverbLevel 1581*bebae9c0SAndroid Build Coastguard Worker ); 1582*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetReverbDelay) ( 1583*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1584*bebae9c0SAndroid Build Coastguard Worker SLmillisecond reverbDelay 1585*bebae9c0SAndroid Build Coastguard Worker ); 1586*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetReverbDelay) ( 1587*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1588*bebae9c0SAndroid Build Coastguard Worker SLmillisecond *pReverbDelay 1589*bebae9c0SAndroid Build Coastguard Worker ); 1590*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetDiffusion) ( 1591*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1592*bebae9c0SAndroid Build Coastguard Worker SLpermille diffusion 1593*bebae9c0SAndroid Build Coastguard Worker ); 1594*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDiffusion) ( 1595*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1596*bebae9c0SAndroid Build Coastguard Worker SLpermille *pDiffusion 1597*bebae9c0SAndroid Build Coastguard Worker ); 1598*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetDensity) ( 1599*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1600*bebae9c0SAndroid Build Coastguard Worker SLpermille density 1601*bebae9c0SAndroid Build Coastguard Worker ); 1602*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDensity) ( 1603*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1604*bebae9c0SAndroid Build Coastguard Worker SLpermille *pDensity 1605*bebae9c0SAndroid Build Coastguard Worker ); 1606*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetEnvironmentalReverbProperties) ( 1607*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1608*bebae9c0SAndroid Build Coastguard Worker const SLEnvironmentalReverbSettings *pProperties 1609*bebae9c0SAndroid Build Coastguard Worker ); 1610*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetEnvironmentalReverbProperties) ( 1611*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbItf self, 1612*bebae9c0SAndroid Build Coastguard Worker SLEnvironmentalReverbSettings *pProperties 1613*bebae9c0SAndroid Build Coastguard Worker ); 1614*bebae9c0SAndroid Build Coastguard Worker }; 1615*bebae9c0SAndroid Build Coastguard Worker 1616*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1617*bebae9c0SAndroid Build Coastguard Worker /* Effects Send Interface */ 1618*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1619*bebae9c0SAndroid Build Coastguard Worker 1620*bebae9c0SAndroid Build Coastguard Worker 1621*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_EFFECTSEND; 1622*bebae9c0SAndroid Build Coastguard Worker 1623*bebae9c0SAndroid Build Coastguard Worker struct SLEffectSendItf_; 1624*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLEffectSendItf_ * const * SLEffectSendItf; 1625*bebae9c0SAndroid Build Coastguard Worker 1626*bebae9c0SAndroid Build Coastguard Worker struct SLEffectSendItf_ { 1627*bebae9c0SAndroid Build Coastguard Worker SLresult (*EnableEffectSend) ( 1628*bebae9c0SAndroid Build Coastguard Worker SLEffectSendItf self, 1629*bebae9c0SAndroid Build Coastguard Worker const void *pAuxEffect, 1630*bebae9c0SAndroid Build Coastguard Worker SLboolean enable, 1631*bebae9c0SAndroid Build Coastguard Worker SLmillibel initialLevel 1632*bebae9c0SAndroid Build Coastguard Worker ); 1633*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsEnabled) ( 1634*bebae9c0SAndroid Build Coastguard Worker SLEffectSendItf self, 1635*bebae9c0SAndroid Build Coastguard Worker const void * pAuxEffect, 1636*bebae9c0SAndroid Build Coastguard Worker SLboolean *pEnable 1637*bebae9c0SAndroid Build Coastguard Worker ); 1638*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetDirectLevel) ( 1639*bebae9c0SAndroid Build Coastguard Worker SLEffectSendItf self, 1640*bebae9c0SAndroid Build Coastguard Worker SLmillibel directLevel 1641*bebae9c0SAndroid Build Coastguard Worker ); 1642*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDirectLevel) ( 1643*bebae9c0SAndroid Build Coastguard Worker SLEffectSendItf self, 1644*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pDirectLevel 1645*bebae9c0SAndroid Build Coastguard Worker ); 1646*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetSendLevel) ( 1647*bebae9c0SAndroid Build Coastguard Worker SLEffectSendItf self, 1648*bebae9c0SAndroid Build Coastguard Worker const void *pAuxEffect, 1649*bebae9c0SAndroid Build Coastguard Worker SLmillibel sendLevel 1650*bebae9c0SAndroid Build Coastguard Worker ); 1651*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetSendLevel)( 1652*bebae9c0SAndroid Build Coastguard Worker SLEffectSendItf self, 1653*bebae9c0SAndroid Build Coastguard Worker const void *pAuxEffect, 1654*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pSendLevel 1655*bebae9c0SAndroid Build Coastguard Worker ); 1656*bebae9c0SAndroid Build Coastguard Worker }; 1657*bebae9c0SAndroid Build Coastguard Worker 1658*bebae9c0SAndroid Build Coastguard Worker 1659*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1660*bebae9c0SAndroid Build Coastguard Worker /* 3D Grouping Interface */ 1661*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1662*bebae9c0SAndroid Build Coastguard Worker 1663*bebae9c0SAndroid Build Coastguard Worker 1664*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_3DGROUPING; 1665*bebae9c0SAndroid Build Coastguard Worker 1666*bebae9c0SAndroid Build Coastguard Worker 1667*bebae9c0SAndroid Build Coastguard Worker struct SL3DGroupingItf_ ; 1668*bebae9c0SAndroid Build Coastguard Worker typedef const struct SL3DGroupingItf_ * const * SL3DGroupingItf; 1669*bebae9c0SAndroid Build Coastguard Worker 1670*bebae9c0SAndroid Build Coastguard Worker struct SL3DGroupingItf_ { 1671*bebae9c0SAndroid Build Coastguard Worker SLresult (*Set3DGroup) ( 1672*bebae9c0SAndroid Build Coastguard Worker SL3DGroupingItf self, 1673*bebae9c0SAndroid Build Coastguard Worker SLObjectItf group 1674*bebae9c0SAndroid Build Coastguard Worker ); 1675*bebae9c0SAndroid Build Coastguard Worker SLresult (*Get3DGroup) ( 1676*bebae9c0SAndroid Build Coastguard Worker SL3DGroupingItf self, 1677*bebae9c0SAndroid Build Coastguard Worker SLObjectItf *pGroup 1678*bebae9c0SAndroid Build Coastguard Worker ); 1679*bebae9c0SAndroid Build Coastguard Worker }; 1680*bebae9c0SAndroid Build Coastguard Worker 1681*bebae9c0SAndroid Build Coastguard Worker 1682*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1683*bebae9c0SAndroid Build Coastguard Worker /* 3D Commit Interface */ 1684*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1685*bebae9c0SAndroid Build Coastguard Worker 1686*bebae9c0SAndroid Build Coastguard Worker 1687*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_3DCOMMIT; 1688*bebae9c0SAndroid Build Coastguard Worker 1689*bebae9c0SAndroid Build Coastguard Worker struct SL3DCommitItf_; 1690*bebae9c0SAndroid Build Coastguard Worker typedef const struct SL3DCommitItf_* const * SL3DCommitItf; 1691*bebae9c0SAndroid Build Coastguard Worker 1692*bebae9c0SAndroid Build Coastguard Worker struct SL3DCommitItf_ { 1693*bebae9c0SAndroid Build Coastguard Worker SLresult (*Commit) ( 1694*bebae9c0SAndroid Build Coastguard Worker SL3DCommitItf self 1695*bebae9c0SAndroid Build Coastguard Worker ); 1696*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetDeferred) ( 1697*bebae9c0SAndroid Build Coastguard Worker SL3DCommitItf self, 1698*bebae9c0SAndroid Build Coastguard Worker SLboolean deferred 1699*bebae9c0SAndroid Build Coastguard Worker ); 1700*bebae9c0SAndroid Build Coastguard Worker }; 1701*bebae9c0SAndroid Build Coastguard Worker 1702*bebae9c0SAndroid Build Coastguard Worker 1703*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1704*bebae9c0SAndroid Build Coastguard Worker /* 3D Location Interface */ 1705*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1706*bebae9c0SAndroid Build Coastguard Worker 1707*bebae9c0SAndroid Build Coastguard Worker typedef struct SLVec3D_ { 1708*bebae9c0SAndroid Build Coastguard Worker SLint32 x; 1709*bebae9c0SAndroid Build Coastguard Worker SLint32 y; 1710*bebae9c0SAndroid Build Coastguard Worker SLint32 z; 1711*bebae9c0SAndroid Build Coastguard Worker } SLVec3D; 1712*bebae9c0SAndroid Build Coastguard Worker 1713*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_3DLOCATION; 1714*bebae9c0SAndroid Build Coastguard Worker 1715*bebae9c0SAndroid Build Coastguard Worker struct SL3DLocationItf_; 1716*bebae9c0SAndroid Build Coastguard Worker typedef const struct SL3DLocationItf_ * const * SL3DLocationItf; 1717*bebae9c0SAndroid Build Coastguard Worker 1718*bebae9c0SAndroid Build Coastguard Worker struct SL3DLocationItf_ { 1719*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetLocationCartesian) ( 1720*bebae9c0SAndroid Build Coastguard Worker SL3DLocationItf self, 1721*bebae9c0SAndroid Build Coastguard Worker const SLVec3D *pLocation 1722*bebae9c0SAndroid Build Coastguard Worker ); 1723*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetLocationSpherical) ( 1724*bebae9c0SAndroid Build Coastguard Worker SL3DLocationItf self, 1725*bebae9c0SAndroid Build Coastguard Worker SLmillidegree azimuth, 1726*bebae9c0SAndroid Build Coastguard Worker SLmillidegree elevation, 1727*bebae9c0SAndroid Build Coastguard Worker SLmillimeter distance 1728*bebae9c0SAndroid Build Coastguard Worker ); 1729*bebae9c0SAndroid Build Coastguard Worker SLresult (*Move) ( 1730*bebae9c0SAndroid Build Coastguard Worker SL3DLocationItf self, 1731*bebae9c0SAndroid Build Coastguard Worker const SLVec3D *pMovement 1732*bebae9c0SAndroid Build Coastguard Worker ); 1733*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetLocationCartesian) ( 1734*bebae9c0SAndroid Build Coastguard Worker SL3DLocationItf self, 1735*bebae9c0SAndroid Build Coastguard Worker SLVec3D *pLocation 1736*bebae9c0SAndroid Build Coastguard Worker ); 1737*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetOrientationVectors) ( 1738*bebae9c0SAndroid Build Coastguard Worker SL3DLocationItf self, 1739*bebae9c0SAndroid Build Coastguard Worker const SLVec3D *pFront, 1740*bebae9c0SAndroid Build Coastguard Worker const SLVec3D *pAbove 1741*bebae9c0SAndroid Build Coastguard Worker ); 1742*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetOrientationAngles) ( 1743*bebae9c0SAndroid Build Coastguard Worker SL3DLocationItf self, 1744*bebae9c0SAndroid Build Coastguard Worker SLmillidegree heading, 1745*bebae9c0SAndroid Build Coastguard Worker SLmillidegree pitch, 1746*bebae9c0SAndroid Build Coastguard Worker SLmillidegree roll 1747*bebae9c0SAndroid Build Coastguard Worker ); 1748*bebae9c0SAndroid Build Coastguard Worker SLresult (*Rotate) ( 1749*bebae9c0SAndroid Build Coastguard Worker SL3DLocationItf self, 1750*bebae9c0SAndroid Build Coastguard Worker SLmillidegree theta, 1751*bebae9c0SAndroid Build Coastguard Worker const SLVec3D *pAxis 1752*bebae9c0SAndroid Build Coastguard Worker ); 1753*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetOrientationVectors) ( 1754*bebae9c0SAndroid Build Coastguard Worker SL3DLocationItf self, 1755*bebae9c0SAndroid Build Coastguard Worker SLVec3D *pFront, 1756*bebae9c0SAndroid Build Coastguard Worker SLVec3D *pUp 1757*bebae9c0SAndroid Build Coastguard Worker ); 1758*bebae9c0SAndroid Build Coastguard Worker }; 1759*bebae9c0SAndroid Build Coastguard Worker 1760*bebae9c0SAndroid Build Coastguard Worker 1761*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1762*bebae9c0SAndroid Build Coastguard Worker /* 3D Doppler Interface */ 1763*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1764*bebae9c0SAndroid Build Coastguard Worker 1765*bebae9c0SAndroid Build Coastguard Worker 1766*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_3DDOPPLER; 1767*bebae9c0SAndroid Build Coastguard Worker 1768*bebae9c0SAndroid Build Coastguard Worker struct SL3DDopplerItf_; 1769*bebae9c0SAndroid Build Coastguard Worker typedef const struct SL3DDopplerItf_ * const * SL3DDopplerItf; 1770*bebae9c0SAndroid Build Coastguard Worker 1771*bebae9c0SAndroid Build Coastguard Worker struct SL3DDopplerItf_ { 1772*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetVelocityCartesian) ( 1773*bebae9c0SAndroid Build Coastguard Worker SL3DDopplerItf self, 1774*bebae9c0SAndroid Build Coastguard Worker const SLVec3D *pVelocity 1775*bebae9c0SAndroid Build Coastguard Worker ); 1776*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetVelocitySpherical) ( 1777*bebae9c0SAndroid Build Coastguard Worker SL3DDopplerItf self, 1778*bebae9c0SAndroid Build Coastguard Worker SLmillidegree azimuth, 1779*bebae9c0SAndroid Build Coastguard Worker SLmillidegree elevation, 1780*bebae9c0SAndroid Build Coastguard Worker SLmillimeter speed 1781*bebae9c0SAndroid Build Coastguard Worker ); 1782*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetVelocityCartesian) ( 1783*bebae9c0SAndroid Build Coastguard Worker SL3DDopplerItf self, 1784*bebae9c0SAndroid Build Coastguard Worker SLVec3D *pVelocity 1785*bebae9c0SAndroid Build Coastguard Worker ); 1786*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetDopplerFactor) ( 1787*bebae9c0SAndroid Build Coastguard Worker SL3DDopplerItf self, 1788*bebae9c0SAndroid Build Coastguard Worker SLpermille dopplerFactor 1789*bebae9c0SAndroid Build Coastguard Worker ); 1790*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDopplerFactor) ( 1791*bebae9c0SAndroid Build Coastguard Worker SL3DDopplerItf self, 1792*bebae9c0SAndroid Build Coastguard Worker SLpermille *pDopplerFactor 1793*bebae9c0SAndroid Build Coastguard Worker ); 1794*bebae9c0SAndroid Build Coastguard Worker }; 1795*bebae9c0SAndroid Build Coastguard Worker 1796*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1797*bebae9c0SAndroid Build Coastguard Worker /* 3D Source Interface and associated defines */ 1798*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 1799*bebae9c0SAndroid Build Coastguard Worker 1800*bebae9c0SAndroid Build Coastguard Worker #define SL_ROLLOFFMODEL_EXPONENTIAL ((SLuint32) 0x00000000) 1801*bebae9c0SAndroid Build Coastguard Worker #define SL_ROLLOFFMODEL_LINEAR ((SLuint32) 0x00000001) 1802*bebae9c0SAndroid Build Coastguard Worker 1803*bebae9c0SAndroid Build Coastguard Worker 1804*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_3DSOURCE; 1805*bebae9c0SAndroid Build Coastguard Worker 1806*bebae9c0SAndroid Build Coastguard Worker struct SL3DSourceItf_; 1807*bebae9c0SAndroid Build Coastguard Worker typedef const struct SL3DSourceItf_ * const * SL3DSourceItf; 1808*bebae9c0SAndroid Build Coastguard Worker 1809*bebae9c0SAndroid Build Coastguard Worker struct SL3DSourceItf_ { 1810*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetHeadRelative) ( 1811*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1812*bebae9c0SAndroid Build Coastguard Worker SLboolean headRelative 1813*bebae9c0SAndroid Build Coastguard Worker ); 1814*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetHeadRelative) ( 1815*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1816*bebae9c0SAndroid Build Coastguard Worker SLboolean *pHeadRelative 1817*bebae9c0SAndroid Build Coastguard Worker ); 1818*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRolloffDistances) ( 1819*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1820*bebae9c0SAndroid Build Coastguard Worker SLmillimeter minDistance, 1821*bebae9c0SAndroid Build Coastguard Worker SLmillimeter maxDistance 1822*bebae9c0SAndroid Build Coastguard Worker ); 1823*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRolloffDistances) ( 1824*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1825*bebae9c0SAndroid Build Coastguard Worker SLmillimeter *pMinDistance, 1826*bebae9c0SAndroid Build Coastguard Worker SLmillimeter *pMaxDistance 1827*bebae9c0SAndroid Build Coastguard Worker ); 1828*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRolloffMaxDistanceMute) ( 1829*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1830*bebae9c0SAndroid Build Coastguard Worker SLboolean mute 1831*bebae9c0SAndroid Build Coastguard Worker ); 1832*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRolloffMaxDistanceMute) ( 1833*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1834*bebae9c0SAndroid Build Coastguard Worker SLboolean *pMute 1835*bebae9c0SAndroid Build Coastguard Worker ); 1836*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRolloffFactor) ( 1837*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1838*bebae9c0SAndroid Build Coastguard Worker SLpermille rolloffFactor 1839*bebae9c0SAndroid Build Coastguard Worker ); 1840*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRolloffFactor) ( 1841*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1842*bebae9c0SAndroid Build Coastguard Worker SLpermille *pRolloffFactor 1843*bebae9c0SAndroid Build Coastguard Worker ); 1844*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRoomRolloffFactor) ( 1845*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1846*bebae9c0SAndroid Build Coastguard Worker SLpermille roomRolloffFactor 1847*bebae9c0SAndroid Build Coastguard Worker ); 1848*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRoomRolloffFactor) ( 1849*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1850*bebae9c0SAndroid Build Coastguard Worker SLpermille *pRoomRolloffFactor 1851*bebae9c0SAndroid Build Coastguard Worker ); 1852*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRolloffModel) ( 1853*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1854*bebae9c0SAndroid Build Coastguard Worker SLuint8 model 1855*bebae9c0SAndroid Build Coastguard Worker ); 1856*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRolloffModel) ( 1857*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1858*bebae9c0SAndroid Build Coastguard Worker SLuint8 *pModel 1859*bebae9c0SAndroid Build Coastguard Worker ); 1860*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetCone) ( 1861*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1862*bebae9c0SAndroid Build Coastguard Worker SLmillidegree innerAngle, 1863*bebae9c0SAndroid Build Coastguard Worker SLmillidegree outerAngle, 1864*bebae9c0SAndroid Build Coastguard Worker SLmillibel outerLevel 1865*bebae9c0SAndroid Build Coastguard Worker ); 1866*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetCone) ( 1867*bebae9c0SAndroid Build Coastguard Worker SL3DSourceItf self, 1868*bebae9c0SAndroid Build Coastguard Worker SLmillidegree *pInnerAngle, 1869*bebae9c0SAndroid Build Coastguard Worker SLmillidegree *pOuterAngle, 1870*bebae9c0SAndroid Build Coastguard Worker SLmillibel *pOuterLevel 1871*bebae9c0SAndroid Build Coastguard Worker ); 1872*bebae9c0SAndroid Build Coastguard Worker }; 1873*bebae9c0SAndroid Build Coastguard Worker 1874*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1875*bebae9c0SAndroid Build Coastguard Worker /* 3D Macroscopic Interface */ 1876*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 1877*bebae9c0SAndroid Build Coastguard Worker 1878*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_3DMACROSCOPIC; 1879*bebae9c0SAndroid Build Coastguard Worker 1880*bebae9c0SAndroid Build Coastguard Worker struct SL3DMacroscopicItf_; 1881*bebae9c0SAndroid Build Coastguard Worker typedef const struct SL3DMacroscopicItf_ * const * SL3DMacroscopicItf; 1882*bebae9c0SAndroid Build Coastguard Worker 1883*bebae9c0SAndroid Build Coastguard Worker struct SL3DMacroscopicItf_ { 1884*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetSize) ( 1885*bebae9c0SAndroid Build Coastguard Worker SL3DMacroscopicItf self, 1886*bebae9c0SAndroid Build Coastguard Worker SLmillimeter width, 1887*bebae9c0SAndroid Build Coastguard Worker SLmillimeter height, 1888*bebae9c0SAndroid Build Coastguard Worker SLmillimeter depth 1889*bebae9c0SAndroid Build Coastguard Worker ); 1890*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetSize) ( 1891*bebae9c0SAndroid Build Coastguard Worker SL3DMacroscopicItf self, 1892*bebae9c0SAndroid Build Coastguard Worker SLmillimeter *pWidth, 1893*bebae9c0SAndroid Build Coastguard Worker SLmillimeter *pHeight, 1894*bebae9c0SAndroid Build Coastguard Worker SLmillimeter *pDepth 1895*bebae9c0SAndroid Build Coastguard Worker ); 1896*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetOrientationAngles) ( 1897*bebae9c0SAndroid Build Coastguard Worker SL3DMacroscopicItf self, 1898*bebae9c0SAndroid Build Coastguard Worker SLmillidegree heading, 1899*bebae9c0SAndroid Build Coastguard Worker SLmillidegree pitch, 1900*bebae9c0SAndroid Build Coastguard Worker SLmillidegree roll 1901*bebae9c0SAndroid Build Coastguard Worker ); 1902*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetOrientationVectors) ( 1903*bebae9c0SAndroid Build Coastguard Worker SL3DMacroscopicItf self, 1904*bebae9c0SAndroid Build Coastguard Worker const SLVec3D *pFront, 1905*bebae9c0SAndroid Build Coastguard Worker const SLVec3D *pAbove 1906*bebae9c0SAndroid Build Coastguard Worker ); 1907*bebae9c0SAndroid Build Coastguard Worker SLresult (*Rotate) ( 1908*bebae9c0SAndroid Build Coastguard Worker SL3DMacroscopicItf self, 1909*bebae9c0SAndroid Build Coastguard Worker SLmillidegree theta, 1910*bebae9c0SAndroid Build Coastguard Worker const SLVec3D *pAxis 1911*bebae9c0SAndroid Build Coastguard Worker ); 1912*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetOrientationVectors) ( 1913*bebae9c0SAndroid Build Coastguard Worker SL3DMacroscopicItf self, 1914*bebae9c0SAndroid Build Coastguard Worker SLVec3D *pFront, 1915*bebae9c0SAndroid Build Coastguard Worker SLVec3D *pUp 1916*bebae9c0SAndroid Build Coastguard Worker ); 1917*bebae9c0SAndroid Build Coastguard Worker }; 1918*bebae9c0SAndroid Build Coastguard Worker 1919*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1920*bebae9c0SAndroid Build Coastguard Worker /* Mute Solo Interface */ 1921*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 1922*bebae9c0SAndroid Build Coastguard Worker 1923*bebae9c0SAndroid Build Coastguard Worker 1924*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_MUTESOLO; 1925*bebae9c0SAndroid Build Coastguard Worker 1926*bebae9c0SAndroid Build Coastguard Worker struct SLMuteSoloItf_; 1927*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLMuteSoloItf_ * const * SLMuteSoloItf; 1928*bebae9c0SAndroid Build Coastguard Worker 1929*bebae9c0SAndroid Build Coastguard Worker struct SLMuteSoloItf_ { 1930*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetChannelMute) ( 1931*bebae9c0SAndroid Build Coastguard Worker SLMuteSoloItf self, 1932*bebae9c0SAndroid Build Coastguard Worker SLuint8 chan, 1933*bebae9c0SAndroid Build Coastguard Worker SLboolean mute 1934*bebae9c0SAndroid Build Coastguard Worker ); 1935*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetChannelMute) ( 1936*bebae9c0SAndroid Build Coastguard Worker SLMuteSoloItf self, 1937*bebae9c0SAndroid Build Coastguard Worker SLuint8 chan, 1938*bebae9c0SAndroid Build Coastguard Worker SLboolean *pMute 1939*bebae9c0SAndroid Build Coastguard Worker ); 1940*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetChannelSolo) ( 1941*bebae9c0SAndroid Build Coastguard Worker SLMuteSoloItf self, 1942*bebae9c0SAndroid Build Coastguard Worker SLuint8 chan, 1943*bebae9c0SAndroid Build Coastguard Worker SLboolean solo 1944*bebae9c0SAndroid Build Coastguard Worker ); 1945*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetChannelSolo) ( 1946*bebae9c0SAndroid Build Coastguard Worker SLMuteSoloItf self, 1947*bebae9c0SAndroid Build Coastguard Worker SLuint8 chan, 1948*bebae9c0SAndroid Build Coastguard Worker SLboolean *pSolo 1949*bebae9c0SAndroid Build Coastguard Worker ); 1950*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetNumChannels) ( 1951*bebae9c0SAndroid Build Coastguard Worker SLMuteSoloItf self, 1952*bebae9c0SAndroid Build Coastguard Worker SLuint8 *pNumChannels 1953*bebae9c0SAndroid Build Coastguard Worker ); 1954*bebae9c0SAndroid Build Coastguard Worker }; 1955*bebae9c0SAndroid Build Coastguard Worker 1956*bebae9c0SAndroid Build Coastguard Worker 1957*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 1958*bebae9c0SAndroid Build Coastguard Worker /* Dynamic Interface Management Interface and associated types and macros */ 1959*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 1960*bebae9c0SAndroid Build Coastguard Worker 1961*bebae9c0SAndroid Build Coastguard Worker #define SL_DYNAMIC_ITF_EVENT_RUNTIME_ERROR ((SLuint32) 0x00000001) 1962*bebae9c0SAndroid Build Coastguard Worker #define SL_DYNAMIC_ITF_EVENT_ASYNC_TERMINATION ((SLuint32) 0x00000002) 1963*bebae9c0SAndroid Build Coastguard Worker #define SL_DYNAMIC_ITF_EVENT_RESOURCES_LOST ((SLuint32) 0x00000003) 1964*bebae9c0SAndroid Build Coastguard Worker #define SL_DYNAMIC_ITF_EVENT_RESOURCES_LOST_PERMANENTLY ((SLuint32) 0x00000004) 1965*bebae9c0SAndroid Build Coastguard Worker #define SL_DYNAMIC_ITF_EVENT_RESOURCES_AVAILABLE ((SLuint32) 0x00000005) 1966*bebae9c0SAndroid Build Coastguard Worker 1967*bebae9c0SAndroid Build Coastguard Worker 1968*bebae9c0SAndroid Build Coastguard Worker 1969*bebae9c0SAndroid Build Coastguard Worker 1970*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_DYNAMICINTERFACEMANAGEMENT; 1971*bebae9c0SAndroid Build Coastguard Worker 1972*bebae9c0SAndroid Build Coastguard Worker struct SLDynamicInterfaceManagementItf_; 1973*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLDynamicInterfaceManagementItf_ * const * SLDynamicInterfaceManagementItf; 1974*bebae9c0SAndroid Build Coastguard Worker 1975*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slDynamicInterfaceManagementCallback) ( 1976*bebae9c0SAndroid Build Coastguard Worker SLDynamicInterfaceManagementItf caller, 1977*bebae9c0SAndroid Build Coastguard Worker void * pContext, 1978*bebae9c0SAndroid Build Coastguard Worker SLuint32 event, 1979*bebae9c0SAndroid Build Coastguard Worker SLresult result, 1980*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID iid 1981*bebae9c0SAndroid Build Coastguard Worker ); 1982*bebae9c0SAndroid Build Coastguard Worker 1983*bebae9c0SAndroid Build Coastguard Worker 1984*bebae9c0SAndroid Build Coastguard Worker struct SLDynamicInterfaceManagementItf_ { 1985*bebae9c0SAndroid Build Coastguard Worker SLresult (*AddInterface) ( 1986*bebae9c0SAndroid Build Coastguard Worker SLDynamicInterfaceManagementItf self, 1987*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID iid, 1988*bebae9c0SAndroid Build Coastguard Worker SLboolean async 1989*bebae9c0SAndroid Build Coastguard Worker ); 1990*bebae9c0SAndroid Build Coastguard Worker SLresult (*RemoveInterface) ( 1991*bebae9c0SAndroid Build Coastguard Worker SLDynamicInterfaceManagementItf self, 1992*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID iid 1993*bebae9c0SAndroid Build Coastguard Worker ); 1994*bebae9c0SAndroid Build Coastguard Worker SLresult (*ResumeInterface) ( 1995*bebae9c0SAndroid Build Coastguard Worker SLDynamicInterfaceManagementItf self, 1996*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID iid, 1997*bebae9c0SAndroid Build Coastguard Worker SLboolean async 1998*bebae9c0SAndroid Build Coastguard Worker ); 1999*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterCallback) ( 2000*bebae9c0SAndroid Build Coastguard Worker SLDynamicInterfaceManagementItf self, 2001*bebae9c0SAndroid Build Coastguard Worker slDynamicInterfaceManagementCallback callback, 2002*bebae9c0SAndroid Build Coastguard Worker void * pContext 2003*bebae9c0SAndroid Build Coastguard Worker ); 2004*bebae9c0SAndroid Build Coastguard Worker }; 2005*bebae9c0SAndroid Build Coastguard Worker 2006*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2007*bebae9c0SAndroid Build Coastguard Worker /* Midi Message Interface and associated types */ 2008*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2009*bebae9c0SAndroid Build Coastguard Worker 2010*bebae9c0SAndroid Build Coastguard Worker #define SL_MIDIMESSAGETYPE_NOTE_ON_OFF ((SLuint32) 0x00000001) 2011*bebae9c0SAndroid Build Coastguard Worker #define SL_MIDIMESSAGETYPE_POLY_PRESSURE ((SLuint32) 0x00000002) 2012*bebae9c0SAndroid Build Coastguard Worker #define SL_MIDIMESSAGETYPE_CONTROL_CHANGE ((SLuint32) 0x00000003) 2013*bebae9c0SAndroid Build Coastguard Worker #define SL_MIDIMESSAGETYPE_PROGRAM_CHANGE ((SLuint32) 0x00000004) 2014*bebae9c0SAndroid Build Coastguard Worker #define SL_MIDIMESSAGETYPE_CHANNEL_PRESSURE ((SLuint32) 0x00000005) 2015*bebae9c0SAndroid Build Coastguard Worker #define SL_MIDIMESSAGETYPE_PITCH_BEND ((SLuint32) 0x00000006) 2016*bebae9c0SAndroid Build Coastguard Worker #define SL_MIDIMESSAGETYPE_SYSTEM_MESSAGE ((SLuint32) 0x00000007) 2017*bebae9c0SAndroid Build Coastguard Worker 2018*bebae9c0SAndroid Build Coastguard Worker 2019*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_MIDIMESSAGE; 2020*bebae9c0SAndroid Build Coastguard Worker 2021*bebae9c0SAndroid Build Coastguard Worker struct SLMIDIMessageItf_; 2022*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLMIDIMessageItf_ * const * SLMIDIMessageItf; 2023*bebae9c0SAndroid Build Coastguard Worker 2024*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slMetaEventCallback) ( 2025*bebae9c0SAndroid Build Coastguard Worker SLMIDIMessageItf caller, 2026*bebae9c0SAndroid Build Coastguard Worker void *pContext, 2027*bebae9c0SAndroid Build Coastguard Worker SLuint8 type, 2028*bebae9c0SAndroid Build Coastguard Worker SLuint32 length, 2029*bebae9c0SAndroid Build Coastguard Worker const SLuint8 *pData, 2030*bebae9c0SAndroid Build Coastguard Worker SLuint32 tick, 2031*bebae9c0SAndroid Build Coastguard Worker SLuint16 track 2032*bebae9c0SAndroid Build Coastguard Worker ); 2033*bebae9c0SAndroid Build Coastguard Worker 2034*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slMIDIMessageCallback) ( 2035*bebae9c0SAndroid Build Coastguard Worker SLMIDIMessageItf caller, 2036*bebae9c0SAndroid Build Coastguard Worker void *pContext, 2037*bebae9c0SAndroid Build Coastguard Worker SLuint8 statusByte, 2038*bebae9c0SAndroid Build Coastguard Worker SLuint32 length, 2039*bebae9c0SAndroid Build Coastguard Worker const SLuint8 *pData, 2040*bebae9c0SAndroid Build Coastguard Worker SLuint32 tick, 2041*bebae9c0SAndroid Build Coastguard Worker SLuint16 track 2042*bebae9c0SAndroid Build Coastguard Worker ); 2043*bebae9c0SAndroid Build Coastguard Worker 2044*bebae9c0SAndroid Build Coastguard Worker struct SLMIDIMessageItf_ { 2045*bebae9c0SAndroid Build Coastguard Worker SLresult (*SendMessage) ( 2046*bebae9c0SAndroid Build Coastguard Worker SLMIDIMessageItf self, 2047*bebae9c0SAndroid Build Coastguard Worker const SLuint8 *data, 2048*bebae9c0SAndroid Build Coastguard Worker SLuint32 length 2049*bebae9c0SAndroid Build Coastguard Worker ); 2050*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterMetaEventCallback) ( 2051*bebae9c0SAndroid Build Coastguard Worker SLMIDIMessageItf self, 2052*bebae9c0SAndroid Build Coastguard Worker slMetaEventCallback callback, 2053*bebae9c0SAndroid Build Coastguard Worker void *pContext 2054*bebae9c0SAndroid Build Coastguard Worker ); 2055*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterMIDIMessageCallback) ( 2056*bebae9c0SAndroid Build Coastguard Worker SLMIDIMessageItf self, 2057*bebae9c0SAndroid Build Coastguard Worker slMIDIMessageCallback callback, 2058*bebae9c0SAndroid Build Coastguard Worker void *pContext 2059*bebae9c0SAndroid Build Coastguard Worker ); 2060*bebae9c0SAndroid Build Coastguard Worker SLresult (*AddMIDIMessageCallbackFilter) ( 2061*bebae9c0SAndroid Build Coastguard Worker SLMIDIMessageItf self, 2062*bebae9c0SAndroid Build Coastguard Worker SLuint32 messageType 2063*bebae9c0SAndroid Build Coastguard Worker ); 2064*bebae9c0SAndroid Build Coastguard Worker SLresult (*ClearMIDIMessageCallbackFilter) ( 2065*bebae9c0SAndroid Build Coastguard Worker SLMIDIMessageItf self 2066*bebae9c0SAndroid Build Coastguard Worker ); 2067*bebae9c0SAndroid Build Coastguard Worker }; 2068*bebae9c0SAndroid Build Coastguard Worker 2069*bebae9c0SAndroid Build Coastguard Worker 2070*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2071*bebae9c0SAndroid Build Coastguard Worker /* Midi Mute Solo interface */ 2072*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2073*bebae9c0SAndroid Build Coastguard Worker 2074*bebae9c0SAndroid Build Coastguard Worker 2075*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_MIDIMUTESOLO; 2076*bebae9c0SAndroid Build Coastguard Worker 2077*bebae9c0SAndroid Build Coastguard Worker struct SLMIDIMuteSoloItf_; 2078*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLMIDIMuteSoloItf_ * const * SLMIDIMuteSoloItf; 2079*bebae9c0SAndroid Build Coastguard Worker 2080*bebae9c0SAndroid Build Coastguard Worker struct SLMIDIMuteSoloItf_ { 2081*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetChannelMute) ( 2082*bebae9c0SAndroid Build Coastguard Worker SLMIDIMuteSoloItf self, 2083*bebae9c0SAndroid Build Coastguard Worker SLuint8 channel, 2084*bebae9c0SAndroid Build Coastguard Worker SLboolean mute 2085*bebae9c0SAndroid Build Coastguard Worker ); 2086*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetChannelMute) ( 2087*bebae9c0SAndroid Build Coastguard Worker SLMIDIMuteSoloItf self, 2088*bebae9c0SAndroid Build Coastguard Worker SLuint8 channel, 2089*bebae9c0SAndroid Build Coastguard Worker SLboolean *pMute 2090*bebae9c0SAndroid Build Coastguard Worker ); 2091*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetChannelSolo) ( 2092*bebae9c0SAndroid Build Coastguard Worker SLMIDIMuteSoloItf self, 2093*bebae9c0SAndroid Build Coastguard Worker SLuint8 channel, 2094*bebae9c0SAndroid Build Coastguard Worker SLboolean solo 2095*bebae9c0SAndroid Build Coastguard Worker ); 2096*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetChannelSolo) ( 2097*bebae9c0SAndroid Build Coastguard Worker SLMIDIMuteSoloItf self, 2098*bebae9c0SAndroid Build Coastguard Worker SLuint8 channel, 2099*bebae9c0SAndroid Build Coastguard Worker SLboolean *pSolo 2100*bebae9c0SAndroid Build Coastguard Worker ); 2101*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetTrackCount) ( 2102*bebae9c0SAndroid Build Coastguard Worker SLMIDIMuteSoloItf self, 2103*bebae9c0SAndroid Build Coastguard Worker SLuint16 *pCount 2104*bebae9c0SAndroid Build Coastguard Worker ); 2105*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetTrackMute) ( 2106*bebae9c0SAndroid Build Coastguard Worker SLMIDIMuteSoloItf self, 2107*bebae9c0SAndroid Build Coastguard Worker SLuint16 track, 2108*bebae9c0SAndroid Build Coastguard Worker SLboolean mute 2109*bebae9c0SAndroid Build Coastguard Worker ); 2110*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetTrackMute) ( 2111*bebae9c0SAndroid Build Coastguard Worker SLMIDIMuteSoloItf self, 2112*bebae9c0SAndroid Build Coastguard Worker SLuint16 track, 2113*bebae9c0SAndroid Build Coastguard Worker SLboolean *pMute 2114*bebae9c0SAndroid Build Coastguard Worker ); 2115*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetTrackSolo) ( 2116*bebae9c0SAndroid Build Coastguard Worker SLMIDIMuteSoloItf self, 2117*bebae9c0SAndroid Build Coastguard Worker SLuint16 track, 2118*bebae9c0SAndroid Build Coastguard Worker SLboolean solo 2119*bebae9c0SAndroid Build Coastguard Worker ); 2120*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetTrackSolo) ( 2121*bebae9c0SAndroid Build Coastguard Worker SLMIDIMuteSoloItf self, 2122*bebae9c0SAndroid Build Coastguard Worker SLuint16 track, 2123*bebae9c0SAndroid Build Coastguard Worker SLboolean *pSolo 2124*bebae9c0SAndroid Build Coastguard Worker ); 2125*bebae9c0SAndroid Build Coastguard Worker }; 2126*bebae9c0SAndroid Build Coastguard Worker 2127*bebae9c0SAndroid Build Coastguard Worker 2128*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2129*bebae9c0SAndroid Build Coastguard Worker /* Midi Tempo interface */ 2130*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2131*bebae9c0SAndroid Build Coastguard Worker 2132*bebae9c0SAndroid Build Coastguard Worker 2133*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_MIDITEMPO; 2134*bebae9c0SAndroid Build Coastguard Worker 2135*bebae9c0SAndroid Build Coastguard Worker struct SLMIDITempoItf_; 2136*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLMIDITempoItf_ * const * SLMIDITempoItf; 2137*bebae9c0SAndroid Build Coastguard Worker 2138*bebae9c0SAndroid Build Coastguard Worker struct SLMIDITempoItf_ { 2139*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetTicksPerQuarterNote) ( 2140*bebae9c0SAndroid Build Coastguard Worker SLMIDITempoItf self, 2141*bebae9c0SAndroid Build Coastguard Worker SLuint32 tpqn 2142*bebae9c0SAndroid Build Coastguard Worker ); 2143*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetTicksPerQuarterNote) ( 2144*bebae9c0SAndroid Build Coastguard Worker SLMIDITempoItf self, 2145*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pTpqn 2146*bebae9c0SAndroid Build Coastguard Worker ); 2147*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetMicrosecondsPerQuarterNote) ( 2148*bebae9c0SAndroid Build Coastguard Worker SLMIDITempoItf self, 2149*bebae9c0SAndroid Build Coastguard Worker SLmicrosecond uspqn 2150*bebae9c0SAndroid Build Coastguard Worker ); 2151*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetMicrosecondsPerQuarterNote) ( 2152*bebae9c0SAndroid Build Coastguard Worker SLMIDITempoItf self, 2153*bebae9c0SAndroid Build Coastguard Worker SLmicrosecond *uspqn 2154*bebae9c0SAndroid Build Coastguard Worker ); 2155*bebae9c0SAndroid Build Coastguard Worker }; 2156*bebae9c0SAndroid Build Coastguard Worker 2157*bebae9c0SAndroid Build Coastguard Worker 2158*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2159*bebae9c0SAndroid Build Coastguard Worker /* Midi Time interface */ 2160*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2161*bebae9c0SAndroid Build Coastguard Worker 2162*bebae9c0SAndroid Build Coastguard Worker 2163*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_MIDITIME; 2164*bebae9c0SAndroid Build Coastguard Worker 2165*bebae9c0SAndroid Build Coastguard Worker struct SLMIDITimeItf_; 2166*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLMIDITimeItf_ * const * SLMIDITimeItf; 2167*bebae9c0SAndroid Build Coastguard Worker 2168*bebae9c0SAndroid Build Coastguard Worker struct SLMIDITimeItf_ { 2169*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetDuration) ( 2170*bebae9c0SAndroid Build Coastguard Worker SLMIDITimeItf self, 2171*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pDuration 2172*bebae9c0SAndroid Build Coastguard Worker ); 2173*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetPosition) ( 2174*bebae9c0SAndroid Build Coastguard Worker SLMIDITimeItf self, 2175*bebae9c0SAndroid Build Coastguard Worker SLuint32 position 2176*bebae9c0SAndroid Build Coastguard Worker ); 2177*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPosition) ( 2178*bebae9c0SAndroid Build Coastguard Worker SLMIDITimeItf self, 2179*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pPosition 2180*bebae9c0SAndroid Build Coastguard Worker ); 2181*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetLoopPoints) ( 2182*bebae9c0SAndroid Build Coastguard Worker SLMIDITimeItf self, 2183*bebae9c0SAndroid Build Coastguard Worker SLuint32 startTick, 2184*bebae9c0SAndroid Build Coastguard Worker SLuint32 numTicks 2185*bebae9c0SAndroid Build Coastguard Worker ); 2186*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetLoopPoints) ( 2187*bebae9c0SAndroid Build Coastguard Worker SLMIDITimeItf self, 2188*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pStartTick, 2189*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pNumTicks 2190*bebae9c0SAndroid Build Coastguard Worker ); 2191*bebae9c0SAndroid Build Coastguard Worker }; 2192*bebae9c0SAndroid Build Coastguard Worker 2193*bebae9c0SAndroid Build Coastguard Worker 2194*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2195*bebae9c0SAndroid Build Coastguard Worker /* Audio Decoder Capabilities Interface */ 2196*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2197*bebae9c0SAndroid Build Coastguard Worker 2198*bebae9c0SAndroid Build Coastguard Worker /*Audio Codec related defines*/ 2199*bebae9c0SAndroid Build Coastguard Worker 2200*bebae9c0SAndroid Build Coastguard Worker #define SL_RATECONTROLMODE_CONSTANTBITRATE ((SLuint32) 0x00000001) 2201*bebae9c0SAndroid Build Coastguard Worker #define SL_RATECONTROLMODE_VARIABLEBITRATE ((SLuint32) 0x00000002) 2202*bebae9c0SAndroid Build Coastguard Worker 2203*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCODEC_PCM ((SLuint32) 0x00000001) 2204*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCODEC_MP3 ((SLuint32) 0x00000002) 2205*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCODEC_AMR ((SLuint32) 0x00000003) 2206*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCODEC_AMRWB ((SLuint32) 0x00000004) 2207*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCODEC_AMRWBPLUS ((SLuint32) 0x00000005) 2208*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCODEC_AAC ((SLuint32) 0x00000006) 2209*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCODEC_WMA ((SLuint32) 0x00000007) 2210*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCODEC_REAL ((SLuint32) 0x00000008) 2211*bebae9c0SAndroid Build Coastguard Worker 2212*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_PCM ((SLuint32) 0x00000001) 2213*bebae9c0SAndroid Build Coastguard Worker 2214*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_MPEG1_L3 ((SLuint32) 0x00000001) 2215*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_MPEG2_L3 ((SLuint32) 0x00000002) 2216*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_MPEG25_L3 ((SLuint32) 0x00000003) 2217*bebae9c0SAndroid Build Coastguard Worker 2218*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCHANMODE_MP3_MONO ((SLuint32) 0x00000001) 2219*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCHANMODE_MP3_STEREO ((SLuint32) 0x00000002) 2220*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCHANMODE_MP3_JOINTSTEREO ((SLuint32) 0x00000003) 2221*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOCHANMODE_MP3_DUAL ((SLuint32) 0x00000004) 2222*bebae9c0SAndroid Build Coastguard Worker 2223*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_AMR ((SLuint32) 0x00000001) 2224*bebae9c0SAndroid Build Coastguard Worker 2225*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_CONFORMANCE ((SLuint32) 0x00000001) 2226*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_IF1 ((SLuint32) 0x00000002) 2227*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_IF2 ((SLuint32) 0x00000003) 2228*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_FSF ((SLuint32) 0x00000004) 2229*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_RTPPAYLOAD ((SLuint32) 0x00000005) 2230*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_ITU ((SLuint32) 0x00000006) 2231*bebae9c0SAndroid Build Coastguard Worker 2232*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_AMRWB ((SLuint32) 0x00000001) 2233*bebae9c0SAndroid Build Coastguard Worker 2234*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_AMRWBPLUS ((SLuint32) 0x00000001) 2235*bebae9c0SAndroid Build Coastguard Worker 2236*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_AAC_AAC ((SLuint32) 0x00000001) 2237*bebae9c0SAndroid Build Coastguard Worker 2238*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_MAIN ((SLuint32) 0x00000001) 2239*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_LC ((SLuint32) 0x00000002) 2240*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_SSR ((SLuint32) 0x00000003) 2241*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_LTP ((SLuint32) 0x00000004) 2242*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_HE ((SLuint32) 0x00000005) 2243*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_SCALABLE ((SLuint32) 0x00000006) 2244*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_ERLC ((SLuint32) 0x00000007) 2245*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_LD ((SLuint32) 0x00000008) 2246*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_HE_PS ((SLuint32) 0x00000009) 2247*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_AAC_HE_MPS ((SLuint32) 0x0000000A) 2248*bebae9c0SAndroid Build Coastguard Worker 2249*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_MP2ADTS ((SLuint32) 0x00000001) 2250*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_MP4ADTS ((SLuint32) 0x00000002) 2251*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_MP4LOAS ((SLuint32) 0x00000003) 2252*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_MP4LATM ((SLuint32) 0x00000004) 2253*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_ADIF ((SLuint32) 0x00000005) 2254*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_MP4FF ((SLuint32) 0x00000006) 2255*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOSTREAMFORMAT_RAW ((SLuint32) 0x00000007) 2256*bebae9c0SAndroid Build Coastguard Worker 2257*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_WMA7 ((SLuint32) 0x00000001) 2258*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_WMA8 ((SLuint32) 0x00000002) 2259*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_WMA9 ((SLuint32) 0x00000003) 2260*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_WMA10 ((SLuint32) 0x00000004) 2261*bebae9c0SAndroid Build Coastguard Worker 2262*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_WMA_LEVEL1 ((SLuint32) 0x00000001) 2263*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_WMA_LEVEL2 ((SLuint32) 0x00000002) 2264*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_WMA_LEVEL3 ((SLuint32) 0x00000003) 2265*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_WMA_LEVEL4 ((SLuint32) 0x00000004) 2266*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_WMAPRO_LEVELM0 ((SLuint32) 0x00000005) 2267*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_WMAPRO_LEVELM1 ((SLuint32) 0x00000006) 2268*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_WMAPRO_LEVELM2 ((SLuint32) 0x00000007) 2269*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_WMAPRO_LEVELM3 ((SLuint32) 0x00000008) 2270*bebae9c0SAndroid Build Coastguard Worker 2271*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOPROFILE_REALAUDIO ((SLuint32) 0x00000001) 2272*bebae9c0SAndroid Build Coastguard Worker 2273*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_REALAUDIO_G2 ((SLuint32) 0x00000001) 2274*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_REALAUDIO_8 ((SLuint32) 0x00000002) 2275*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_REALAUDIO_10 ((SLuint32) 0x00000003) 2276*bebae9c0SAndroid Build Coastguard Worker #define SL_AUDIOMODE_REALAUDIO_SURROUND ((SLuint32) 0x00000004) 2277*bebae9c0SAndroid Build Coastguard Worker 2278*bebae9c0SAndroid Build Coastguard Worker typedef struct SLAudioCodecDescriptor_ { 2279*bebae9c0SAndroid Build Coastguard Worker SLuint32 maxChannels; 2280*bebae9c0SAndroid Build Coastguard Worker SLuint32 minBitsPerSample; 2281*bebae9c0SAndroid Build Coastguard Worker SLuint32 maxBitsPerSample; 2282*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz minSampleRate; 2283*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz maxSampleRate; 2284*bebae9c0SAndroid Build Coastguard Worker SLboolean isFreqRangeContinuous; 2285*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz *pSampleRatesSupported; 2286*bebae9c0SAndroid Build Coastguard Worker SLuint32 numSampleRatesSupported; 2287*bebae9c0SAndroid Build Coastguard Worker SLuint32 minBitRate; 2288*bebae9c0SAndroid Build Coastguard Worker SLuint32 maxBitRate; 2289*bebae9c0SAndroid Build Coastguard Worker SLboolean isBitrateRangeContinuous; 2290*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pBitratesSupported; 2291*bebae9c0SAndroid Build Coastguard Worker SLuint32 numBitratesSupported; 2292*bebae9c0SAndroid Build Coastguard Worker SLuint32 profileSetting; 2293*bebae9c0SAndroid Build Coastguard Worker SLuint32 modeSetting; 2294*bebae9c0SAndroid Build Coastguard Worker } SLAudioCodecDescriptor; 2295*bebae9c0SAndroid Build Coastguard Worker 2296*bebae9c0SAndroid Build Coastguard Worker /*Structure used to retrieve the profile and level settings supported by an audio encoder */ 2297*bebae9c0SAndroid Build Coastguard Worker 2298*bebae9c0SAndroid Build Coastguard Worker typedef struct SLAudioCodecProfileMode_ { 2299*bebae9c0SAndroid Build Coastguard Worker SLuint32 profileSetting; 2300*bebae9c0SAndroid Build Coastguard Worker SLuint32 modeSetting; 2301*bebae9c0SAndroid Build Coastguard Worker } SLAudioCodecProfileMode; 2302*bebae9c0SAndroid Build Coastguard Worker 2303*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_AUDIODECODERCAPABILITIES; 2304*bebae9c0SAndroid Build Coastguard Worker 2305*bebae9c0SAndroid Build Coastguard Worker struct SLAudioDecoderCapabilitiesItf_; 2306*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLAudioDecoderCapabilitiesItf_ * const * SLAudioDecoderCapabilitiesItf; 2307*bebae9c0SAndroid Build Coastguard Worker 2308*bebae9c0SAndroid Build Coastguard Worker struct SLAudioDecoderCapabilitiesItf_ { 2309*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetAudioDecoders) ( 2310*bebae9c0SAndroid Build Coastguard Worker SLAudioDecoderCapabilitiesItf self, 2311*bebae9c0SAndroid Build Coastguard Worker SLuint32 * pNumDecoders , 2312*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pDecoderIds 2313*bebae9c0SAndroid Build Coastguard Worker ); 2314*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetAudioDecoderCapabilities) ( 2315*bebae9c0SAndroid Build Coastguard Worker SLAudioDecoderCapabilitiesItf self, 2316*bebae9c0SAndroid Build Coastguard Worker SLuint32 decoderId, 2317*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pIndex, 2318*bebae9c0SAndroid Build Coastguard Worker SLAudioCodecDescriptor *pDescriptor 2319*bebae9c0SAndroid Build Coastguard Worker ); 2320*bebae9c0SAndroid Build Coastguard Worker }; 2321*bebae9c0SAndroid Build Coastguard Worker 2322*bebae9c0SAndroid Build Coastguard Worker 2323*bebae9c0SAndroid Build Coastguard Worker 2324*bebae9c0SAndroid Build Coastguard Worker 2325*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2326*bebae9c0SAndroid Build Coastguard Worker /* Audio Encoder Capabilities Interface */ 2327*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2328*bebae9c0SAndroid Build Coastguard Worker 2329*bebae9c0SAndroid Build Coastguard Worker /* Structure used when setting audio encoding parameters */ 2330*bebae9c0SAndroid Build Coastguard Worker 2331*bebae9c0SAndroid Build Coastguard Worker typedef struct SLAudioEncoderSettings_ { 2332*bebae9c0SAndroid Build Coastguard Worker SLuint32 encoderId; 2333*bebae9c0SAndroid Build Coastguard Worker SLuint32 channelsIn; 2334*bebae9c0SAndroid Build Coastguard Worker SLuint32 channelsOut; 2335*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz sampleRate; 2336*bebae9c0SAndroid Build Coastguard Worker SLuint32 bitRate; 2337*bebae9c0SAndroid Build Coastguard Worker SLuint32 bitsPerSample; 2338*bebae9c0SAndroid Build Coastguard Worker SLuint32 rateControl; 2339*bebae9c0SAndroid Build Coastguard Worker SLuint32 profileSetting; 2340*bebae9c0SAndroid Build Coastguard Worker SLuint32 levelSetting; 2341*bebae9c0SAndroid Build Coastguard Worker SLuint32 channelMode; 2342*bebae9c0SAndroid Build Coastguard Worker SLuint32 streamFormat; 2343*bebae9c0SAndroid Build Coastguard Worker SLuint32 encodeOptions; 2344*bebae9c0SAndroid Build Coastguard Worker SLuint32 blockAlignment; 2345*bebae9c0SAndroid Build Coastguard Worker } SLAudioEncoderSettings; 2346*bebae9c0SAndroid Build Coastguard Worker 2347*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_AUDIOENCODERCAPABILITIES; 2348*bebae9c0SAndroid Build Coastguard Worker 2349*bebae9c0SAndroid Build Coastguard Worker struct SLAudioEncoderCapabilitiesItf_; 2350*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLAudioEncoderCapabilitiesItf_ * const * SLAudioEncoderCapabilitiesItf; 2351*bebae9c0SAndroid Build Coastguard Worker 2352*bebae9c0SAndroid Build Coastguard Worker struct SLAudioEncoderCapabilitiesItf_ { 2353*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetAudioEncoders) ( 2354*bebae9c0SAndroid Build Coastguard Worker SLAudioEncoderCapabilitiesItf self, 2355*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pNumEncoders , 2356*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pEncoderIds 2357*bebae9c0SAndroid Build Coastguard Worker ); 2358*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetAudioEncoderCapabilities) ( 2359*bebae9c0SAndroid Build Coastguard Worker SLAudioEncoderCapabilitiesItf self, 2360*bebae9c0SAndroid Build Coastguard Worker SLuint32 encoderId, 2361*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pIndex, 2362*bebae9c0SAndroid Build Coastguard Worker SLAudioCodecDescriptor * pDescriptor 2363*bebae9c0SAndroid Build Coastguard Worker ); 2364*bebae9c0SAndroid Build Coastguard Worker }; 2365*bebae9c0SAndroid Build Coastguard Worker 2366*bebae9c0SAndroid Build Coastguard Worker 2367*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2368*bebae9c0SAndroid Build Coastguard Worker /* Audio Encoder Interface */ 2369*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2370*bebae9c0SAndroid Build Coastguard Worker 2371*bebae9c0SAndroid Build Coastguard Worker 2372*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_AUDIOENCODER; 2373*bebae9c0SAndroid Build Coastguard Worker 2374*bebae9c0SAndroid Build Coastguard Worker struct SLAudioEncoderItf_; 2375*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLAudioEncoderItf_ * const * SLAudioEncoderItf; 2376*bebae9c0SAndroid Build Coastguard Worker 2377*bebae9c0SAndroid Build Coastguard Worker struct SLAudioEncoderItf_ { 2378*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetEncoderSettings) ( 2379*bebae9c0SAndroid Build Coastguard Worker SLAudioEncoderItf self, 2380*bebae9c0SAndroid Build Coastguard Worker SLAudioEncoderSettings *pSettings 2381*bebae9c0SAndroid Build Coastguard Worker ); 2382*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetEncoderSettings) ( 2383*bebae9c0SAndroid Build Coastguard Worker SLAudioEncoderItf self, 2384*bebae9c0SAndroid Build Coastguard Worker SLAudioEncoderSettings *pSettings 2385*bebae9c0SAndroid Build Coastguard Worker ); 2386*bebae9c0SAndroid Build Coastguard Worker }; 2387*bebae9c0SAndroid Build Coastguard Worker 2388*bebae9c0SAndroid Build Coastguard Worker 2389*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2390*bebae9c0SAndroid Build Coastguard Worker /* Bass Boost Interface */ 2391*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2392*bebae9c0SAndroid Build Coastguard Worker 2393*bebae9c0SAndroid Build Coastguard Worker 2394*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_BASSBOOST; 2395*bebae9c0SAndroid Build Coastguard Worker 2396*bebae9c0SAndroid Build Coastguard Worker struct SLBassBoostItf_; 2397*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLBassBoostItf_ * const * SLBassBoostItf; 2398*bebae9c0SAndroid Build Coastguard Worker 2399*bebae9c0SAndroid Build Coastguard Worker struct SLBassBoostItf_ { 2400*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetEnabled)( 2401*bebae9c0SAndroid Build Coastguard Worker SLBassBoostItf self, 2402*bebae9c0SAndroid Build Coastguard Worker SLboolean enabled 2403*bebae9c0SAndroid Build Coastguard Worker ); 2404*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsEnabled)( 2405*bebae9c0SAndroid Build Coastguard Worker SLBassBoostItf self, 2406*bebae9c0SAndroid Build Coastguard Worker SLboolean *pEnabled 2407*bebae9c0SAndroid Build Coastguard Worker ); 2408*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetStrength)( 2409*bebae9c0SAndroid Build Coastguard Worker SLBassBoostItf self, 2410*bebae9c0SAndroid Build Coastguard Worker SLpermille strength 2411*bebae9c0SAndroid Build Coastguard Worker ); 2412*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRoundedStrength)( 2413*bebae9c0SAndroid Build Coastguard Worker SLBassBoostItf self, 2414*bebae9c0SAndroid Build Coastguard Worker SLpermille *pStrength 2415*bebae9c0SAndroid Build Coastguard Worker ); 2416*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsStrengthSupported)( 2417*bebae9c0SAndroid Build Coastguard Worker SLBassBoostItf self, 2418*bebae9c0SAndroid Build Coastguard Worker SLboolean *pSupported 2419*bebae9c0SAndroid Build Coastguard Worker ); 2420*bebae9c0SAndroid Build Coastguard Worker }; 2421*bebae9c0SAndroid Build Coastguard Worker 2422*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2423*bebae9c0SAndroid Build Coastguard Worker /* Pitch Interface */ 2424*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2425*bebae9c0SAndroid Build Coastguard Worker 2426*bebae9c0SAndroid Build Coastguard Worker 2427*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_PITCH; 2428*bebae9c0SAndroid Build Coastguard Worker 2429*bebae9c0SAndroid Build Coastguard Worker struct SLPitchItf_; 2430*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLPitchItf_ * const * SLPitchItf; 2431*bebae9c0SAndroid Build Coastguard Worker 2432*bebae9c0SAndroid Build Coastguard Worker struct SLPitchItf_ { 2433*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetPitch) ( 2434*bebae9c0SAndroid Build Coastguard Worker SLPitchItf self, 2435*bebae9c0SAndroid Build Coastguard Worker SLpermille pitch 2436*bebae9c0SAndroid Build Coastguard Worker ); 2437*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPitch) ( 2438*bebae9c0SAndroid Build Coastguard Worker SLPitchItf self, 2439*bebae9c0SAndroid Build Coastguard Worker SLpermille *pPitch 2440*bebae9c0SAndroid Build Coastguard Worker ); 2441*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetPitchCapabilities) ( 2442*bebae9c0SAndroid Build Coastguard Worker SLPitchItf self, 2443*bebae9c0SAndroid Build Coastguard Worker SLpermille *pMinPitch, 2444*bebae9c0SAndroid Build Coastguard Worker SLpermille *pMaxPitch 2445*bebae9c0SAndroid Build Coastguard Worker ); 2446*bebae9c0SAndroid Build Coastguard Worker }; 2447*bebae9c0SAndroid Build Coastguard Worker 2448*bebae9c0SAndroid Build Coastguard Worker 2449*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2450*bebae9c0SAndroid Build Coastguard Worker /* Rate Pitch Interface */ 2451*bebae9c0SAndroid Build Coastguard Worker /* RatePitchItf is an interface for controlling the rate a sound is played */ 2452*bebae9c0SAndroid Build Coastguard Worker /* back. A change in rate will cause a change in pitch. */ 2453*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2454*bebae9c0SAndroid Build Coastguard Worker 2455*bebae9c0SAndroid Build Coastguard Worker 2456*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_RATEPITCH; 2457*bebae9c0SAndroid Build Coastguard Worker 2458*bebae9c0SAndroid Build Coastguard Worker struct SLRatePitchItf_; 2459*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLRatePitchItf_ * const * SLRatePitchItf; 2460*bebae9c0SAndroid Build Coastguard Worker 2461*bebae9c0SAndroid Build Coastguard Worker struct SLRatePitchItf_ { 2462*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetRate) ( 2463*bebae9c0SAndroid Build Coastguard Worker SLRatePitchItf self, 2464*bebae9c0SAndroid Build Coastguard Worker SLpermille rate 2465*bebae9c0SAndroid Build Coastguard Worker ); 2466*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRate) ( 2467*bebae9c0SAndroid Build Coastguard Worker SLRatePitchItf self, 2468*bebae9c0SAndroid Build Coastguard Worker SLpermille *pRate 2469*bebae9c0SAndroid Build Coastguard Worker ); 2470*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRatePitchCapabilities) ( 2471*bebae9c0SAndroid Build Coastguard Worker SLRatePitchItf self, 2472*bebae9c0SAndroid Build Coastguard Worker SLpermille *pMinRate, 2473*bebae9c0SAndroid Build Coastguard Worker SLpermille *pMaxRate 2474*bebae9c0SAndroid Build Coastguard Worker ); 2475*bebae9c0SAndroid Build Coastguard Worker }; 2476*bebae9c0SAndroid Build Coastguard Worker 2477*bebae9c0SAndroid Build Coastguard Worker 2478*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2479*bebae9c0SAndroid Build Coastguard Worker /* Virtualizer Interface */ 2480*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2481*bebae9c0SAndroid Build Coastguard Worker 2482*bebae9c0SAndroid Build Coastguard Worker 2483*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_VIRTUALIZER; 2484*bebae9c0SAndroid Build Coastguard Worker 2485*bebae9c0SAndroid Build Coastguard Worker struct SLVirtualizerItf_; 2486*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLVirtualizerItf_ * const * SLVirtualizerItf; 2487*bebae9c0SAndroid Build Coastguard Worker 2488*bebae9c0SAndroid Build Coastguard Worker struct SLVirtualizerItf_ { 2489*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetEnabled)( 2490*bebae9c0SAndroid Build Coastguard Worker SLVirtualizerItf self, 2491*bebae9c0SAndroid Build Coastguard Worker SLboolean enabled 2492*bebae9c0SAndroid Build Coastguard Worker ); 2493*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsEnabled)( 2494*bebae9c0SAndroid Build Coastguard Worker SLVirtualizerItf self, 2495*bebae9c0SAndroid Build Coastguard Worker SLboolean *pEnabled 2496*bebae9c0SAndroid Build Coastguard Worker ); 2497*bebae9c0SAndroid Build Coastguard Worker SLresult (*SetStrength)( 2498*bebae9c0SAndroid Build Coastguard Worker SLVirtualizerItf self, 2499*bebae9c0SAndroid Build Coastguard Worker SLpermille strength 2500*bebae9c0SAndroid Build Coastguard Worker ); 2501*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetRoundedStrength)( 2502*bebae9c0SAndroid Build Coastguard Worker SLVirtualizerItf self, 2503*bebae9c0SAndroid Build Coastguard Worker SLpermille *pStrength 2504*bebae9c0SAndroid Build Coastguard Worker ); 2505*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsStrengthSupported)( 2506*bebae9c0SAndroid Build Coastguard Worker SLVirtualizerItf self, 2507*bebae9c0SAndroid Build Coastguard Worker SLboolean *pSupported 2508*bebae9c0SAndroid Build Coastguard Worker ); 2509*bebae9c0SAndroid Build Coastguard Worker }; 2510*bebae9c0SAndroid Build Coastguard Worker 2511*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2512*bebae9c0SAndroid Build Coastguard Worker /* Visualization Interface */ 2513*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2514*bebae9c0SAndroid Build Coastguard Worker 2515*bebae9c0SAndroid Build Coastguard Worker 2516*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_VISUALIZATION; 2517*bebae9c0SAndroid Build Coastguard Worker 2518*bebae9c0SAndroid Build Coastguard Worker struct SLVisualizationItf_; 2519*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLVisualizationItf_ * const * SLVisualizationItf; 2520*bebae9c0SAndroid Build Coastguard Worker 2521*bebae9c0SAndroid Build Coastguard Worker typedef void (SLAPIENTRY *slVisualizationCallback) ( 2522*bebae9c0SAndroid Build Coastguard Worker void *pContext, 2523*bebae9c0SAndroid Build Coastguard Worker const SLuint8 waveform[], 2524*bebae9c0SAndroid Build Coastguard Worker const SLuint8 fft[], 2525*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz samplerate 2526*bebae9c0SAndroid Build Coastguard Worker ); 2527*bebae9c0SAndroid Build Coastguard Worker 2528*bebae9c0SAndroid Build Coastguard Worker struct SLVisualizationItf_{ 2529*bebae9c0SAndroid Build Coastguard Worker SLresult (*RegisterVisualizationCallback)( 2530*bebae9c0SAndroid Build Coastguard Worker SLVisualizationItf self, 2531*bebae9c0SAndroid Build Coastguard Worker slVisualizationCallback callback, 2532*bebae9c0SAndroid Build Coastguard Worker void *pContext, 2533*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz rate 2534*bebae9c0SAndroid Build Coastguard Worker ); 2535*bebae9c0SAndroid Build Coastguard Worker SLresult (*GetMaxRate)( 2536*bebae9c0SAndroid Build Coastguard Worker SLVisualizationItf self, 2537*bebae9c0SAndroid Build Coastguard Worker SLmilliHertz* pRate 2538*bebae9c0SAndroid Build Coastguard Worker ); 2539*bebae9c0SAndroid Build Coastguard Worker }; 2540*bebae9c0SAndroid Build Coastguard Worker 2541*bebae9c0SAndroid Build Coastguard Worker 2542*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2543*bebae9c0SAndroid Build Coastguard Worker /* Engine Interface */ 2544*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2545*bebae9c0SAndroid Build Coastguard Worker 2546*bebae9c0SAndroid Build Coastguard Worker 2547*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_ENGINE; 2548*bebae9c0SAndroid Build Coastguard Worker 2549*bebae9c0SAndroid Build Coastguard Worker struct SLEngineItf_; 2550*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLEngineItf_ * const * SLEngineItf; 2551*bebae9c0SAndroid Build Coastguard Worker 2552*bebae9c0SAndroid Build Coastguard Worker 2553*bebae9c0SAndroid Build Coastguard Worker struct SLEngineItf_ { 2554*bebae9c0SAndroid Build Coastguard Worker 2555*bebae9c0SAndroid Build Coastguard Worker SLresult (*CreateLEDDevice) ( 2556*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2557*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pDevice, 2558*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceID, 2559*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2560*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2561*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2562*bebae9c0SAndroid Build Coastguard Worker ); 2563*bebae9c0SAndroid Build Coastguard Worker SLresult (*CreateVibraDevice) ( 2564*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2565*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pDevice, 2566*bebae9c0SAndroid Build Coastguard Worker SLuint32 deviceID, 2567*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2568*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2569*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2570*bebae9c0SAndroid Build Coastguard Worker ); 2571*bebae9c0SAndroid Build Coastguard Worker SLresult (*CreateAudioPlayer) ( 2572*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2573*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pPlayer, 2574*bebae9c0SAndroid Build Coastguard Worker SLDataSource *pAudioSrc, 2575*bebae9c0SAndroid Build Coastguard Worker SLDataSink *pAudioSnk, 2576*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2577*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2578*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2579*bebae9c0SAndroid Build Coastguard Worker ); 2580*bebae9c0SAndroid Build Coastguard Worker SLresult (*CreateAudioRecorder) ( 2581*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2582*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pRecorder, 2583*bebae9c0SAndroid Build Coastguard Worker SLDataSource *pAudioSrc, 2584*bebae9c0SAndroid Build Coastguard Worker SLDataSink *pAudioSnk, 2585*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2586*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2587*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2588*bebae9c0SAndroid Build Coastguard Worker ); 2589*bebae9c0SAndroid Build Coastguard Worker SLresult (*CreateMidiPlayer) ( 2590*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2591*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pPlayer, 2592*bebae9c0SAndroid Build Coastguard Worker SLDataSource *pMIDISrc, 2593*bebae9c0SAndroid Build Coastguard Worker SLDataSource *pBankSrc, 2594*bebae9c0SAndroid Build Coastguard Worker SLDataSink *pAudioOutput, 2595*bebae9c0SAndroid Build Coastguard Worker SLDataSink *pVibra, 2596*bebae9c0SAndroid Build Coastguard Worker SLDataSink *pLEDArray, 2597*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2598*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2599*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2600*bebae9c0SAndroid Build Coastguard Worker ); 2601*bebae9c0SAndroid Build Coastguard Worker SLresult (*CreateListener) ( 2602*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2603*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pListener, 2604*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2605*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2606*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2607*bebae9c0SAndroid Build Coastguard Worker ); 2608*bebae9c0SAndroid Build Coastguard Worker SLresult (*Create3DGroup) ( 2609*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2610*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pGroup, 2611*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2612*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2613*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2614*bebae9c0SAndroid Build Coastguard Worker ); 2615*bebae9c0SAndroid Build Coastguard Worker SLresult (*CreateOutputMix) ( 2616*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2617*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pMix, 2618*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2619*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2620*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2621*bebae9c0SAndroid Build Coastguard Worker ); 2622*bebae9c0SAndroid Build Coastguard Worker SLresult (*CreateMetadataExtractor) ( 2623*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2624*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pMetadataExtractor, 2625*bebae9c0SAndroid Build Coastguard Worker SLDataSource * pDataSource, 2626*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2627*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2628*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2629*bebae9c0SAndroid Build Coastguard Worker ); 2630*bebae9c0SAndroid Build Coastguard Worker SLresult (*CreateExtensionObject) ( 2631*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2632*bebae9c0SAndroid Build Coastguard Worker SLObjectItf * pObject, 2633*bebae9c0SAndroid Build Coastguard Worker void * pParameters, 2634*bebae9c0SAndroid Build Coastguard Worker SLuint32 objectID, 2635*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2636*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID * pInterfaceIds, 2637*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2638*bebae9c0SAndroid Build Coastguard Worker ); 2639*bebae9c0SAndroid Build Coastguard Worker SLresult (*QueryNumSupportedInterfaces) ( 2640*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2641*bebae9c0SAndroid Build Coastguard Worker SLuint32 objectID, 2642*bebae9c0SAndroid Build Coastguard Worker SLuint32 * pNumSupportedInterfaces 2643*bebae9c0SAndroid Build Coastguard Worker ); 2644*bebae9c0SAndroid Build Coastguard Worker SLresult (*QuerySupportedInterfaces) ( 2645*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2646*bebae9c0SAndroid Build Coastguard Worker SLuint32 objectID, 2647*bebae9c0SAndroid Build Coastguard Worker SLuint32 index, 2648*bebae9c0SAndroid Build Coastguard Worker SLInterfaceID * pInterfaceId 2649*bebae9c0SAndroid Build Coastguard Worker ); 2650*bebae9c0SAndroid Build Coastguard Worker SLresult (*QueryNumSupportedExtensions) ( 2651*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2652*bebae9c0SAndroid Build Coastguard Worker SLuint32 * pNumExtensions 2653*bebae9c0SAndroid Build Coastguard Worker ); 2654*bebae9c0SAndroid Build Coastguard Worker SLresult (*QuerySupportedExtension) ( 2655*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2656*bebae9c0SAndroid Build Coastguard Worker SLuint32 index, 2657*bebae9c0SAndroid Build Coastguard Worker SLchar * pExtensionName, 2658*bebae9c0SAndroid Build Coastguard Worker SLint16 * pNameLength 2659*bebae9c0SAndroid Build Coastguard Worker ); 2660*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsExtensionSupported) ( 2661*bebae9c0SAndroid Build Coastguard Worker SLEngineItf self, 2662*bebae9c0SAndroid Build Coastguard Worker const SLchar * pExtensionName, 2663*bebae9c0SAndroid Build Coastguard Worker SLboolean * pSupported 2664*bebae9c0SAndroid Build Coastguard Worker ); 2665*bebae9c0SAndroid Build Coastguard Worker }; 2666*bebae9c0SAndroid Build Coastguard Worker 2667*bebae9c0SAndroid Build Coastguard Worker 2668*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2669*bebae9c0SAndroid Build Coastguard Worker /* Engine Capabilities Interface */ 2670*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2671*bebae9c0SAndroid Build Coastguard Worker 2672*bebae9c0SAndroid Build Coastguard Worker 2673*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_ENGINECAPABILITIES; 2674*bebae9c0SAndroid Build Coastguard Worker 2675*bebae9c0SAndroid Build Coastguard Worker struct SLEngineCapabilitiesItf_; 2676*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLEngineCapabilitiesItf_ * const * SLEngineCapabilitiesItf; 2677*bebae9c0SAndroid Build Coastguard Worker 2678*bebae9c0SAndroid Build Coastguard Worker struct SLEngineCapabilitiesItf_ { 2679*bebae9c0SAndroid Build Coastguard Worker SLresult (*QuerySupportedProfiles) ( 2680*bebae9c0SAndroid Build Coastguard Worker SLEngineCapabilitiesItf self, 2681*bebae9c0SAndroid Build Coastguard Worker SLuint16 *pProfilesSupported 2682*bebae9c0SAndroid Build Coastguard Worker ); 2683*bebae9c0SAndroid Build Coastguard Worker SLresult (*QueryAvailableVoices) ( 2684*bebae9c0SAndroid Build Coastguard Worker SLEngineCapabilitiesItf self, 2685*bebae9c0SAndroid Build Coastguard Worker SLuint16 voiceType, 2686*bebae9c0SAndroid Build Coastguard Worker SLint16 *pNumMaxVoices, 2687*bebae9c0SAndroid Build Coastguard Worker SLboolean *pIsAbsoluteMax, 2688*bebae9c0SAndroid Build Coastguard Worker SLint16 *pNumFreeVoices 2689*bebae9c0SAndroid Build Coastguard Worker ); 2690*bebae9c0SAndroid Build Coastguard Worker SLresult (*QueryNumberOfMIDISynthesizers) ( 2691*bebae9c0SAndroid Build Coastguard Worker SLEngineCapabilitiesItf self, 2692*bebae9c0SAndroid Build Coastguard Worker SLint16 *pNumMIDIsynthesizers 2693*bebae9c0SAndroid Build Coastguard Worker ); 2694*bebae9c0SAndroid Build Coastguard Worker SLresult (*QueryAPIVersion) ( 2695*bebae9c0SAndroid Build Coastguard Worker SLEngineCapabilitiesItf self, 2696*bebae9c0SAndroid Build Coastguard Worker SLint16 *pMajor, 2697*bebae9c0SAndroid Build Coastguard Worker SLint16 *pMinor, 2698*bebae9c0SAndroid Build Coastguard Worker SLint16 *pStep 2699*bebae9c0SAndroid Build Coastguard Worker ); 2700*bebae9c0SAndroid Build Coastguard Worker SLresult (*QueryLEDCapabilities) ( 2701*bebae9c0SAndroid Build Coastguard Worker SLEngineCapabilitiesItf self, 2702*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pIndex, 2703*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pLEDDeviceID, 2704*bebae9c0SAndroid Build Coastguard Worker SLLEDDescriptor *pDescriptor 2705*bebae9c0SAndroid Build Coastguard Worker ); 2706*bebae9c0SAndroid Build Coastguard Worker SLresult (*QueryVibraCapabilities) ( 2707*bebae9c0SAndroid Build Coastguard Worker SLEngineCapabilitiesItf self, 2708*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pIndex, 2709*bebae9c0SAndroid Build Coastguard Worker SLuint32 *pVibraDeviceID, 2710*bebae9c0SAndroid Build Coastguard Worker SLVibraDescriptor *pDescriptor 2711*bebae9c0SAndroid Build Coastguard Worker ); 2712*bebae9c0SAndroid Build Coastguard Worker SLresult (*IsThreadSafe) ( 2713*bebae9c0SAndroid Build Coastguard Worker SLEngineCapabilitiesItf self, 2714*bebae9c0SAndroid Build Coastguard Worker SLboolean *pIsThreadSafe 2715*bebae9c0SAndroid Build Coastguard Worker ); 2716*bebae9c0SAndroid Build Coastguard Worker }; 2717*bebae9c0SAndroid Build Coastguard Worker 2718*bebae9c0SAndroid Build Coastguard Worker /*---------------------------------------------------------------------------*/ 2719*bebae9c0SAndroid Build Coastguard Worker /* Thread Sync Interface */ 2720*bebae9c0SAndroid Build Coastguard Worker /* --------------------------------------------------------------------------*/ 2721*bebae9c0SAndroid Build Coastguard Worker 2722*bebae9c0SAndroid Build Coastguard Worker 2723*bebae9c0SAndroid Build Coastguard Worker extern SL_API const SLInterfaceID SL_IID_THREADSYNC; 2724*bebae9c0SAndroid Build Coastguard Worker 2725*bebae9c0SAndroid Build Coastguard Worker struct SLThreadSyncItf_; 2726*bebae9c0SAndroid Build Coastguard Worker typedef const struct SLThreadSyncItf_ * const * SLThreadSyncItf; 2727*bebae9c0SAndroid Build Coastguard Worker 2728*bebae9c0SAndroid Build Coastguard Worker 2729*bebae9c0SAndroid Build Coastguard Worker struct SLThreadSyncItf_ { 2730*bebae9c0SAndroid Build Coastguard Worker SLresult (*EnterCriticalSection) ( 2731*bebae9c0SAndroid Build Coastguard Worker SLThreadSyncItf self 2732*bebae9c0SAndroid Build Coastguard Worker ); 2733*bebae9c0SAndroid Build Coastguard Worker SLresult (*ExitCriticalSection) ( 2734*bebae9c0SAndroid Build Coastguard Worker SLThreadSyncItf self 2735*bebae9c0SAndroid Build Coastguard Worker ); 2736*bebae9c0SAndroid Build Coastguard Worker }; 2737*bebae9c0SAndroid Build Coastguard Worker 2738*bebae9c0SAndroid Build Coastguard Worker 2739*bebae9c0SAndroid Build Coastguard Worker /*****************************************************************************/ 2740*bebae9c0SAndroid Build Coastguard Worker /* SL engine constructor */ 2741*bebae9c0SAndroid Build Coastguard Worker /*****************************************************************************/ 2742*bebae9c0SAndroid Build Coastguard Worker 2743*bebae9c0SAndroid Build Coastguard Worker #define SL_ENGINEOPTION_THREADSAFE ((SLuint32) 0x00000001) 2744*bebae9c0SAndroid Build Coastguard Worker #define SL_ENGINEOPTION_LOSSOFCONTROL ((SLuint32) 0x00000002) 2745*bebae9c0SAndroid Build Coastguard Worker 2746*bebae9c0SAndroid Build Coastguard Worker typedef struct SLEngineOption_ { 2747*bebae9c0SAndroid Build Coastguard Worker SLuint32 feature; 2748*bebae9c0SAndroid Build Coastguard Worker SLuint32 data; 2749*bebae9c0SAndroid Build Coastguard Worker } SLEngineOption; 2750*bebae9c0SAndroid Build Coastguard Worker 2751*bebae9c0SAndroid Build Coastguard Worker 2752*bebae9c0SAndroid Build Coastguard Worker SL_API SLresult SLAPIENTRY slCreateEngine( 2753*bebae9c0SAndroid Build Coastguard Worker SLObjectItf *pEngine, 2754*bebae9c0SAndroid Build Coastguard Worker SLuint32 numOptions, 2755*bebae9c0SAndroid Build Coastguard Worker const SLEngineOption *pEngineOptions, 2756*bebae9c0SAndroid Build Coastguard Worker SLuint32 numInterfaces, 2757*bebae9c0SAndroid Build Coastguard Worker const SLInterfaceID *pInterfaceIds, 2758*bebae9c0SAndroid Build Coastguard Worker const SLboolean * pInterfaceRequired 2759*bebae9c0SAndroid Build Coastguard Worker ) SL_API_DEPRECATED(30); 2760*bebae9c0SAndroid Build Coastguard Worker 2761*bebae9c0SAndroid Build Coastguard Worker SL_API SLresult SLAPIENTRY slQueryNumSupportedEngineInterfaces( 2762*bebae9c0SAndroid Build Coastguard Worker SLuint32 * pNumSupportedInterfaces 2763*bebae9c0SAndroid Build Coastguard Worker ) SL_API_DEPRECATED(30); 2764*bebae9c0SAndroid Build Coastguard Worker 2765*bebae9c0SAndroid Build Coastguard Worker SL_API SLresult SLAPIENTRY slQuerySupportedEngineInterfaces( 2766*bebae9c0SAndroid Build Coastguard Worker SLuint32 index, 2767*bebae9c0SAndroid Build Coastguard Worker SLInterfaceID * pInterfaceId 2768*bebae9c0SAndroid Build Coastguard Worker ) SL_API_DEPRECATED(30); 2769*bebae9c0SAndroid Build Coastguard Worker 2770*bebae9c0SAndroid Build Coastguard Worker #ifdef __cplusplus 2771*bebae9c0SAndroid Build Coastguard Worker } /* extern "C" */ 2772*bebae9c0SAndroid Build Coastguard Worker #endif 2773*bebae9c0SAndroid Build Coastguard Worker 2774*bebae9c0SAndroid Build Coastguard Worker #endif /* OPENSL_ES_H_ */ 2775