18ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*
28ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * Copyright (c) 2007-2009 The Khronos Group Inc.
38ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner *
48ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * Permission is hereby granted, free of charge, to any person obtaining a copy of
58ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * this software and /or associated documentation files (the "Materials "), to
68ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * deal in the Materials without restriction, including without limitation the
78ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
88ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * sell copies of the Materials, and to permit persons to whom the Materials are
98ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * furnished to do so, subject to
108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * the following conditions:
118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner *
128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * The above copyright notice and this permission notice shall be included
138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * in all copies or substantial portions of the Materials.
148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner *
158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE
218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * MATERIALS.
228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner *
238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner * OpenSLES.h - OpenSL ES version 1.0.1
248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner *
258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner */
268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/****************************************************************************/
288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* NOTE: This file is a standard OpenSL ES header file and should not be    */
298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* modified in any way.                                                     */
308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/****************************************************************************/
318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#ifndef OPENSL_ES_H_
338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define OPENSL_ES_H_
348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#ifdef __cplusplus
368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern "C" {
378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#endif
388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#include "OpenSLES_Platform.h"
408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*****************************************************************************/
438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Common types, structures, and defines                                */
448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*****************************************************************************/
458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#ifndef _KHRONOS_KEYS_
478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define _KHRONOS_KEYS_
488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_TITLE "KhronosTitle"
508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_ALBUM "KhronosAlbum"
518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_TRACK_NUMBER "KhronosTrackNumber"
528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_ARTIST "KhronosArtist"
538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_GENRE "KhronosGenre"
548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_YEAR "KhronosYear"
558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_COMMENT "KhronosComment"
568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_ARTIST_URL "KhronosArtistURL"
578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_CONTENT_URL "KhronosContentURL"
588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_RATING "KhronosRating"
598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_ALBUM_ART "KhronosAlbumArt"
608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define KHRONOS_COPYRIGHT "KhronosCopyright"
618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#endif
638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* remap common types to SL types for clarity */
668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef sl_int8_t              SLint8;          /* 8 bit signed integer  */
678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef sl_uint8_t             SLuint8;         /* 8 bit unsigned integer */
688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef sl_int16_t             SLint16;         /* 16 bit signed integer */
698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef sl_uint16_t            SLuint16;        /* 16 bit unsigned integer */
708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef sl_int32_t             SLint32;           /* 32 bit signed integer */
718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef sl_uint32_t            SLuint32;          /* 32 bit unsigned integer */
728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLuint32                    SLboolean;
748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_BOOLEAN_FALSE            ((SLboolean) 0x00000000)
758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_BOOLEAN_TRUE             ((SLboolean) 0x00000001)
768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLuint8						SLchar;			/* UTF-8 is to be used */
788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLint16						SLmillibel;
798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLuint32					SLmillisecond;
808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLuint32					SLmilliHertz;
818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLint32						SLmillimeter;
828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLint32						SLmillidegree;
838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLint16						SLpermille;
848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLuint32					SLmicrosecond;
858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef SLuint32					SLresult;
868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MILLIBEL_MAX 	((SLmillibel) 0x7FFF)
888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MILLIBEL_MIN 	((SLmillibel) (-SL_MILLIBEL_MAX-1))
898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MILLIHERTZ_MAX	((SLmilliHertz) 0xFFFFFFFF)
918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MILLIMETER_MAX	((SLmillimeter) 0x7FFFFFFF)
928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Interface ID defined as a UUID */
948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLInterfaceID_ {
958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 time_low;
968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint16 time_mid;
978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint16 time_hi_and_version;
988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint16 clock_seq;
998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint8  node[6];
1008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} * SLInterfaceID;
1018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Forward declaration for the object interface */
1038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLObjectItf_;
1048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLObjectItf_ * const * SLObjectItf;
1068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Objects ID's */
1088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_ENGINE			((SLuint32) 0x00001001)
1108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_LEDDEVICE		((SLuint32) 0x00001002)
1118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_VIBRADEVICE		((SLuint32) 0x00001003)
1128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_AUDIOPLAYER		((SLuint32) 0x00001004)
1138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_AUDIORECORDER	((SLuint32) 0x00001005)
1148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_MIDIPLAYER		((SLuint32) 0x00001006)
1158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_LISTENER		((SLuint32) 0x00001007)
1168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_3DGROUP			((SLuint32) 0x00001008)
1178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_OUTPUTMIX		((SLuint32) 0x00001009)
1188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECTID_METADATAEXTRACTOR	((SLuint32) 0x0000100A)
1198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* SL Profiles */
1228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PROFILES_PHONE	((SLuint16) 0x0001)
1248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PROFILES_MUSIC	((SLuint16) 0x0002)
1258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PROFILES_GAME	((SLuint16) 0x0004)
1268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Types of voices supported by the system */
1288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_VOICETYPE_2D_AUDIO		((SLuint16) 0x0001)
1308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_VOICETYPE_MIDI			((SLuint16) 0x0002)
1318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_VOICETYPE_3D_AUDIO 		((SLuint16) 0x0004)
1328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_VOICETYPE_3D_MIDIOUTPUT 	((SLuint16) 0x0008)
1338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Convenient macros representing various different priority levels, for use with the SetPriority method */
1358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PRIORITY_LOWEST		((SLint32) (-0x7FFFFFFF-1))
1378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PRIORITY_VERYLOW		((SLint32) -0x60000000)
1388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PRIORITY_LOW			((SLint32) -0x40000000)
1398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PRIORITY_BELOWNORMAL	((SLint32) -0x20000000)
1408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PRIORITY_NORMAL		((SLint32) 0x00000000)
1418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PRIORITY_ABOVENORMAL	((SLint32) 0x20000000)
1428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PRIORITY_HIGH		((SLint32) 0x40000000)
1438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PRIORITY_VERYHIGH	((SLint32) 0x60000000)
1448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PRIORITY_HIGHEST	((SLint32) 0x7FFFFFFF)
1458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** These macros list the various sample formats that are possible on audio input and output devices. */
1488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PCMSAMPLEFORMAT_FIXED_8	((SLuint16) 0x0008)
1508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PCMSAMPLEFORMAT_FIXED_16	((SLuint16) 0x0010)
1518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PCMSAMPLEFORMAT_FIXED_20 	((SLuint16) 0x0014)
1528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PCMSAMPLEFORMAT_FIXED_24	((SLuint16) 0x0018)
1538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PCMSAMPLEFORMAT_FIXED_28 	((SLuint16) 0x001C)
1548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PCMSAMPLEFORMAT_FIXED_32	((SLuint16) 0x0020)
1558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** These macros specify the commonly used sampling rates (in milliHertz) supported by most audio I/O devices. */
1588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_8		((SLuint32) 8000000)
1608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_11_025	((SLuint32) 11025000)
1618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_12		((SLuint32) 12000000)
1628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_16		((SLuint32) 16000000)
1638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_22_05	((SLuint32) 22050000)
1648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_24		((SLuint32) 24000000)
1658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_32		((SLuint32) 32000000)
1668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_44_1	((SLuint32) 44100000)
1678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_48		((SLuint32) 48000000)
1688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_64		((SLuint32) 64000000)
1698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_88_2	((SLuint32) 88200000)
1708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_96		((SLuint32) 96000000)
1718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SAMPLINGRATE_192	((SLuint32) 192000000)
1728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_FRONT_LEFT			((SLuint32) 0x00000001)
1748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_FRONT_RIGHT			((SLuint32) 0x00000002)
1758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_FRONT_CENTER			((SLuint32) 0x00000004)
1768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_LOW_FREQUENCY			((SLuint32) 0x00000008)
1778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_BACK_LEFT			((SLuint32) 0x00000010)
1788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_BACK_RIGHT			((SLuint32) 0x00000020)
1798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_FRONT_LEFT_OF_CENTER	((SLuint32) 0x00000040)
1808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_FRONT_RIGHT_OF_CENTER	((SLuint32) 0x00000080)
1818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_BACK_CENTER			((SLuint32) 0x00000100)
1828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_SIDE_LEFT			((SLuint32) 0x00000200)
1838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_SIDE_RIGHT			((SLuint32) 0x00000400)
1848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_TOP_CENTER			((SLuint32) 0x00000800)
1858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_TOP_FRONT_LEFT		((SLuint32) 0x00001000)
1868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_TOP_FRONT_CENTER		((SLuint32) 0x00002000)
1878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_TOP_FRONT_RIGHT		((SLuint32) 0x00004000)
1888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_TOP_BACK_LEFT			((SLuint32) 0x00008000)
1898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_TOP_BACK_CENTER		((SLuint32) 0x00010000)
1908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SPEAKER_TOP_BACK_RIGHT		((SLuint32) 0x00020000)
1918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*****************************************************************************/
1948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Errors                                                                    */
1958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*                                                                           */
1968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*****************************************************************************/
1978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
1988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_SUCCESS				((SLuint32) 0x00000000)
1998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_PRECONDITIONS_VIOLATED	((SLuint32) 0x00000001)
2008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_PARAMETER_INVALID		((SLuint32) 0x00000002)
2018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_MEMORY_FAILURE			((SLuint32) 0x00000003)
2028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_RESOURCE_ERROR			((SLuint32) 0x00000004)
2038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_RESOURCE_LOST			((SLuint32) 0x00000005)
2048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_IO_ERROR				((SLuint32) 0x00000006)
2058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_BUFFER_INSUFFICIENT		((SLuint32) 0x00000007)
2068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_CONTENT_CORRUPTED		((SLuint32) 0x00000008)
2078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_CONTENT_UNSUPPORTED		((SLuint32) 0x00000009)
2088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_CONTENT_NOT_FOUND		((SLuint32) 0x0000000A)
2098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_PERMISSION_DENIED		((SLuint32) 0x0000000B)
2108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_FEATURE_UNSUPPORTED		((SLuint32) 0x0000000C)
2118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_INTERNAL_ERROR			((SLuint32) 0x0000000D)
2128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_UNKNOWN_ERROR			((SLuint32) 0x0000000E)
2138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_OPERATION_ABORTED		((SLuint32) 0x0000000F)
2148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RESULT_CONTROL_LOST			((SLuint32) 0x00000010)
2158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Object state definitions */
2188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_STATE_UNREALIZED	((SLuint32) 0x00000001)
2208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_STATE_REALIZED		((SLuint32) 0x00000002)
2218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_STATE_SUSPENDED	((SLuint32) 0x00000003)
2228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Object event definitions */
2248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_EVENT_RUNTIME_ERROR			((SLuint32) 0x00000001)
2268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_EVENT_ASYNC_TERMINATION		((SLuint32) 0x00000002)
2278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_EVENT_RESOURCES_LOST			((SLuint32) 0x00000003)
2288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_EVENT_RESOURCES_AVAILABLE		((SLuint32) 0x00000004)
2298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_EVENT_ITF_CONTROL_TAKEN		((SLuint32) 0x00000005)
2308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_EVENT_ITF_CONTROL_RETURNED		((SLuint32) 0x00000006)
2318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_OBJECT_EVENT_ITF_PARAMETERS_CHANGED	((SLuint32) 0x00000007)
2328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*****************************************************************************/
2358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Interface definitions                                                     */
2368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*****************************************************************************/
2378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** NULL Interface */
2398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_NULL;
2418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
2438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Data Source and Data Sink Structures                                      */
2448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
2458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Data locator macros  */
2478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATALOCATOR_URI			((SLuint32) 0x00000001)
2488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATALOCATOR_ADDRESS		((SLuint32) 0x00000002)
2498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATALOCATOR_IODEVICE		((SLuint32) 0x00000003)
2508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATALOCATOR_OUTPUTMIX		((SLuint32) 0x00000004)
2518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATALOCATOR_RESERVED5		((SLuint32) 0x00000005)
2528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATALOCATOR_BUFFERQUEUE	((SLuint32) 0x00000006)
2538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATALOCATOR_MIDIBUFFERQUEUE	((SLuint32) 0x00000007)
2548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATALOCATOR_RESERVED8		((SLuint32) 0x00000008)
2558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** URI-based data locator definition where locatorType must be SL_DATALOCATOR_URI*/
2598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataLocator_URI_ {
2608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 		locatorType;
2618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLchar *		URI;
2628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataLocator_URI;
2638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Address-based data locator definition where locatorType must be SL_DATALOCATOR_ADDRESS*/
2658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataLocator_Address_ {
2668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 	locatorType;
2678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void 		*pAddress;
2688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	length;
2698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataLocator_Address;
2708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** IODevice-types */
2728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_IODEVICE_AUDIOINPUT	((SLuint32) 0x00000001)
2738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_IODEVICE_LEDARRAY	((SLuint32) 0x00000002)
2748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_IODEVICE_VIBRA		((SLuint32) 0x00000003)
2758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_IODEVICE_RESERVED4	((SLuint32) 0x00000004)
2768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_IODEVICE_RESERVED5	((SLuint32) 0x00000005)
2778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** IODevice-based data locator definition where locatorType must be SL_DATALOCATOR_IODEVICE*/
2798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataLocator_IODevice_ {
2808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	locatorType;
2818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	deviceType;
2828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	deviceID;
2838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLObjectItf	device;
2848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataLocator_IODevice;
2858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** OutputMix-based data locator definition where locatorType must be SL_DATALOCATOR_OUTPUTMIX*/
2878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataLocator_OutputMix {
2888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 		locatorType;
2898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLObjectItf		outputMix;
2908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataLocator_OutputMix;
2918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** BufferQueue-based data locator definition where locatorType must be SL_DATALOCATOR_BUFFERQUEUE*/
2948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataLocator_BufferQueue {
2958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	locatorType;
2968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	numBuffers;
2978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataLocator_BufferQueue;
2988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
2998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** MidiBufferQueue-based data locator definition where locatorType must be SL_DATALOCATOR_MIDIBUFFERQUEUE*/
3008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataLocator_MIDIBufferQueue {
3018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	locatorType;
3028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	tpqn;
3038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	numBuffers;
3048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataLocator_MIDIBufferQueue;
3058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Data format defines */
3078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATAFORMAT_MIME		((SLuint32) 0x00000001)
3088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATAFORMAT_PCM		((SLuint32) 0x00000002)
3098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DATAFORMAT_RESERVED3	((SLuint32) 0x00000003)
3108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** MIME-type-based data format definition where formatType must be SL_DATAFORMAT_MIME*/
3138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataFormat_MIME_ {
3148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 		formatType;
3158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLchar * 		mimeType;
3168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32		containerType;
3178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataFormat_MIME;
3188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Byte order of a block of 16- or 32-bit data */
3208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_BYTEORDER_BIGENDIAN				((SLuint32) 0x00000001)
3218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_BYTEORDER_LITTLEENDIAN			((SLuint32) 0x00000002)
3228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Container type */
3248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_UNSPECIFIED	((SLuint32) 0x00000001)
3258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_RAW		((SLuint32) 0x00000002)
3268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_ASF		((SLuint32) 0x00000003)
3278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_AVI		((SLuint32) 0x00000004)
3288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_BMP		((SLuint32) 0x00000005)
3298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_JPG		((SLuint32) 0x00000006)
3308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_JPG2000		((SLuint32) 0x00000007)
3318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_M4A		((SLuint32) 0x00000008)
3328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_MP3		((SLuint32) 0x00000009)
3338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_MP4		((SLuint32) 0x0000000A)
3348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_MPEG_ES		((SLuint32) 0x0000000B)
3358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_MPEG_PS		((SLuint32) 0x0000000C)
3368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_MPEG_TS		((SLuint32) 0x0000000D)
3378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_QT		((SLuint32) 0x0000000E)
3388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_WAV		((SLuint32) 0x0000000F)
3398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_XMF_0		((SLuint32) 0x00000010)
3408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_XMF_1		((SLuint32) 0x00000011)
3418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_XMF_2		((SLuint32) 0x00000012)
3428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_XMF_3		((SLuint32) 0x00000013)
3438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_XMF_GENERIC	((SLuint32) 0x00000014)
3448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_AMR  		((SLuint32) 0x00000015)
3458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_AAC		((SLuint32) 0x00000016)
3468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_3GPP		((SLuint32) 0x00000017)
3478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_3GA		((SLuint32) 0x00000018)
3488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_RM		((SLuint32) 0x00000019)
3498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_DMF		((SLuint32) 0x0000001A)
3508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_SMF		((SLuint32) 0x0000001B)
3518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_MOBILE_DLS	((SLuint32) 0x0000001C)
3528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CONTAINERTYPE_OGG	((SLuint32) 0x0000001D)
3538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** PCM-type-based data format definition where formatType must be SL_DATAFORMAT_PCM*/
3568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataFormat_PCM_ {
3578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 		formatType;
3588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 		numChannels;
3598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 		samplesPerSec;
3608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 		bitsPerSample;
3618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 		containerSize;
3628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 		channelMask;
3638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32		endianness;
3648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataFormat_PCM;
3658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataSource_ {
3678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pLocator;
3688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pFormat;
3698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataSource;
3708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLDataSink_ {
3738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pLocator;
3748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pFormat;
3758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLDataSink;
3768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
3838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Standard Object Interface                                                 */
3848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
3858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_OBJECT;
3878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Object callback */
3898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
3918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slObjectCallback) (
3928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLObjectItf caller,
3938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	const void * pContext,
3948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 event,
3958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult result,
3968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 param,
3978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    void *pInterface
3988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
3998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLObjectItf_ {
4028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Realize) (
4038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self,
4048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean async
4058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Resume) (
4078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self,
4088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean async
4098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetState) (
4118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self,
4128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 * pState
4138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetInterface) (
4158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self,
4168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID iid,
4178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void * pInterface
4188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterCallback) (
4208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self,
4218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slObjectCallback callback,
4228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void * pContext
4238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void (*AbortAsyncOperation) (
4258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self
4268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void (*Destroy) (
4288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self
4298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetPriority) (
4318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self,
4328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 priority,
4338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean preemptable
4348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPriority) (
4368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self,
4378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pPriority,
4388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pPreemptable
4398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetLossOfControlInterfaces) (
4418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf self,
4428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint16 numInterfaces,
4438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLInterfaceID * pInterfaceIDs,
4448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean enabled
4458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
4468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
4478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
4508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Audio IO Device capabilities interface                                    */
4518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
4528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEFAULTDEVICEID_AUDIOINPUT 	((SLuint32) 0xFFFFFFFF)
4548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEFAULTDEVICEID_AUDIOOUTPUT 	((SLuint32) 0xFFFFFFFE)
4558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEFAULTDEVICEID_LED          ((SLuint32) 0xFFFFFFFD)
4568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEFAULTDEVICEID_VIBRA        ((SLuint32) 0xFFFFFFFC)
4578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEFAULTDEVICEID_RESERVED1    ((SLuint32) 0xFFFFFFFB)
4588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVCONNECTION_INTEGRATED         ((SLint16) 0x0001)
4618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVCONNECTION_ATTACHED_WIRED     ((SLint16) 0x0100)
4628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVCONNECTION_ATTACHED_WIRELESS  ((SLint16) 0x0200)
4638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVCONNECTION_NETWORK 		    ((SLint16) 0x0400)
4648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVLOCATION_HANDSET 	((SLuint16) 0x0001)
4678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVLOCATION_HEADSET 	((SLuint16) 0x0002)
4688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVLOCATION_CARKIT 	((SLuint16) 0x0003)
4698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVLOCATION_DOCK 	((SLuint16) 0x0004)
4708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVLOCATION_REMOTE 	((SLuint16) 0x0005)
4718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Note: SL_DEVLOCATION_RESLTE is deprecated, use SL_DEVLOCATION_REMOTE instead. */
4728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVLOCATION_RESLTE 	((SLuint16) 0x0005)
4738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVSCOPE_UNKNOWN     ((SLuint16) 0x0001)
4768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVSCOPE_ENVIRONMENT ((SLuint16) 0x0002)
4778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DEVSCOPE_USER        ((SLuint16) 0x0003)
4788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLAudioInputDescriptor_ {
4818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLchar *deviceName;
4828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 deviceConnection;
4838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 deviceScope;
4848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 deviceLocation;
4858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLboolean isForTelephony;
4868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmilliHertz minSampleRate;
4878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmilliHertz maxSampleRate;
4888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLboolean isFreqRangeContinuous;
4898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmilliHertz *samplingRatesSupported;
4908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 numOfSamplingRatesSupported;
4918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 maxChannels;
4928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLAudioInputDescriptor;
4938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
4958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLAudioOutputDescriptor_ {
4968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLchar *pDeviceName;
4978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 deviceConnection;
4988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 deviceScope;
4998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 deviceLocation;
5008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLboolean isForTelephony;
5018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmilliHertz minSampleRate;
5028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmilliHertz maxSampleRate;
5038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLboolean isFreqRangeContinuous;
5048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmilliHertz *samplingRatesSupported;
5058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 numOfSamplingRatesSupported;
5068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint16 maxChannels;
5078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLAudioOutputDescriptor;
5088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_AUDIOIODEVICECAPABILITIES;
5128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLAudioIODeviceCapabilitiesItf_;
5148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLAudioIODeviceCapabilitiesItf_ * const * SLAudioIODeviceCapabilitiesItf;
5158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slAvailableAudioInputsChangedCallback) (
5188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLAudioIODeviceCapabilitiesItf caller,
5198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext,
5208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 deviceID,
5218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint32 numInputs,
5228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLboolean isNew
5238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
5248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slAvailableAudioOutputsChangedCallback) (
5278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLAudioIODeviceCapabilitiesItf caller,
5288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext,
5298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 deviceID,
5308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint32 numOutputs,
5318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLboolean isNew
5328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
5338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slDefaultDeviceIDMapChangedCallback) (
5358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLAudioIODeviceCapabilitiesItf caller,
5368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext,
5378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLboolean isOutput,
5388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint32 numDevices
5398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
5408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
5428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLAudioIODeviceCapabilitiesItf_ {
5438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetAvailableAudioInputs)(
5448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32  *pNumInputs,
5468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pInputDeviceIDs
5478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QueryAudioInputCapabilities)(
5498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceId,
5518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioInputDescriptor *pDescriptor
5528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterAvailableAudioInputsChangedCallback) (
5548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slAvailableAudioInputsChangedCallback callback,
5568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext
5578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetAvailableAudioOutputs)(
5598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pNumOutputs,
5618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pOutputDeviceIDs
5628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QueryAudioOutputCapabilities)(
5648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceId,
5668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioOutputDescriptor *pDescriptor
5678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterAvailableAudioOutputsChangedCallback) (
5698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slAvailableAudioOutputsChangedCallback callback,
5718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext
5728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterDefaultDeviceIDMapChangedCallback) (
5748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slDefaultDeviceIDMapChangedCallback callback,
5768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext
5778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetAssociatedAudioInputs) (
5798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceId,
5818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pNumAudioInputs,
5828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pAudioInputDeviceIDs
5838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetAssociatedAudioOutputs) (
5858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceId,
5878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pNumAudioOutputs,
5888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pAudioOutputDeviceIDs
5898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDefaultAudioDevices) (
5918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 defaultDeviceID,
5938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pNumAudioDevices,
5948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pAudioDeviceIDs
5958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
5968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QuerySampleFormatsSupported)(
5978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLAudioIODeviceCapabilitiesItf self,
5988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceId,
5998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmilliHertz samplingRate,
6008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pSampleFormats,
6018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pNumOfSampleFormats
6028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
6038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
6048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
6088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Capabilities of the LED array IODevice                                    */
6098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
6108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLLEDDescriptor_ {
6128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint8   ledCount;
6138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint8   primaryLED;
6148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32  colorMask;
6158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLLEDDescriptor;
6168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
6198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* LED Array interface                                                       */
6208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
6218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLHSL_ {
6238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLmillidegree  hue;
6248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLpermille     saturation;
6258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLpermille     lightness;
6268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLHSL;
6278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_LED;
6308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLLEDArrayItf_;
6328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLLEDArrayItf_ * const * SLLEDArrayItf;
6338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLLEDArrayItf_ {
6358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*ActivateLEDArray) (
6368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLLEDArrayItf self,
6378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 lightMask
6388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
6398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsLEDArrayActivated) (
6408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLLEDArrayItf self,
6418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *lightMask
6428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
6438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetColor) (
6448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLLEDArrayItf self,
6458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 index,
6468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLHSL *color
6478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
6488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetColor) (
6498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLLEDArrayItf self,
6508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 index,
6518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLHSL *color
6528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
6538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
6548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
6568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Capabilities of the Vibra IODevice                                        */
6578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
6588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLVibraDescriptor_ {
6608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLboolean supportsFrequency;
6618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLboolean supportsIntensity;
6628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmilliHertz  minFrequency;
6638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmilliHertz  maxFrequency;
6648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLVibraDescriptor;
6658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
6698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Vibra interface                                                           */
6708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
6718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_VIBRA;
6748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLVibraItf_;
6778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLVibraItf_ * const * SLVibraItf;
6788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
6798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLVibraItf_ {
6808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Vibrate) (
6818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVibraItf self,
6828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean vibrate
6838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
6848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsVibrating) (
6858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVibraItf self,
6868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pVibrating
6878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
6888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetFrequency) (
6898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVibraItf self,
6908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmilliHertz frequency
6918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
6928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetFrequency) (
6938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVibraItf self,
6948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmilliHertz *pFrequency
6958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
6968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetIntensity) (
6978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVibraItf self,
6988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille intensity
6998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
7008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetIntensity) (
7018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVibraItf self,
7028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pIntensity
7038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
7048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
7058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
7088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Meta data extraction related types and interface                          */
7098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
7108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_UNKNOWN			((SLuint32) 0x00000000)
7128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_BINARY       ((SLuint32) 0x00000001)
7138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ASCII        ((SLuint32) 0x00000002)
7148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_BIG5         ((SLuint32) 0x00000003)
7158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_CODEPAGE1252		((SLuint32) 0x00000004)
7168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_GB2312			((SLuint32) 0x00000005)
7178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_HZGB2312			((SLuint32) 0x00000006)
7188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_GB12345			((SLuint32) 0x00000007)
7198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_GB18030			((SLuint32) 0x00000008)
7208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_GBK				((SLuint32) 0x00000009)
7218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_IMAPUTF7			((SLuint32) 0x0000000A)
7228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO2022JP			((SLuint32) 0x0000000B)
7238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO2022JP1		((SLuint32) 0x0000000B)
7248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO88591			((SLuint32) 0x0000000C)
7258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO885910			((SLuint32) 0x0000000D)
7268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO885913			((SLuint32) 0x0000000E)
7278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO885914			((SLuint32) 0x0000000F)
7288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO885915			((SLuint32) 0x00000010)
7298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO88592			((SLuint32) 0x00000011)
7308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO88593			((SLuint32) 0x00000012)
7318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO88594			((SLuint32) 0x00000013)
7328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO88595			((SLuint32) 0x00000014)
7338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO88596			((SLuint32) 0x00000015)
7348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO88597			((SLuint32) 0x00000016)
7358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO88598			((SLuint32) 0x00000017)
7368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISO88599			((SLuint32) 0x00000018)
7378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_ISOEUCJP			((SLuint32) 0x00000019)
7388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_SHIFTJIS			((SLuint32) 0x0000001A)
7398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_SMS7BIT			((SLuint32) 0x0000001B)
7408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_UTF7			((SLuint32) 0x0000001C)
7418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_UTF8			((SLuint32) 0x0000001D)
7428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_JAVACONFORMANTUTF8	((SLuint32) 0x0000001E)
7438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_UTF16BE			((SLuint32) 0x0000001F)
7448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_CHARACTERENCODING_UTF16LE			((SLuint32) 0x00000020)
7458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_METADATA_FILTER_KEY		((SLuint8) 0x01)
7488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_METADATA_FILTER_LANG		((SLuint8) 0x02)
7498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_METADATA_FILTER_ENCODING	((SLuint8) 0x04)
7508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLMetadataInfo_ {
7538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32     size;
7548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32     encoding;
7558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLchar       langCountry[16];
7568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint8      data[1];
7578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLMetadataInfo;
7588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_METADATAEXTRACTION;
7608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMetadataExtractionItf_;
7628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLMetadataExtractionItf_ * const * SLMetadataExtractionItf;
7638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
7658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMetadataExtractionItf_ {
7668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetItemCount) (
7678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataExtractionItf self,
7688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pItemCount
7698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
7708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetKeySize) (
7718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataExtractionItf self,
7728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 index,
7738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pKeySize
7748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
7758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetKey) (
7768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataExtractionItf self,
7778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 index,
7788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 keySize,
7798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataInfo *pKey
7808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
7818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetValueSize) (
7828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataExtractionItf self,
7838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 index,
7848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pValueSize
7858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
7868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetValue) (
7878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataExtractionItf self,
7888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 index,
7898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 valueSize,
7908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataInfo *pValue
7918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
7928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*AddKeyFilter) (
7938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataExtractionItf self,
7948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 keySize,
7958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const void *pKey,
7968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 keyEncoding,
7978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLchar *pValueLangCountry,
7988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 valueEncoding,
7998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 filterMask
8008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
8018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*ClearKeyFilter) (
8028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataExtractionItf self
8038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
8048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
8058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
8088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Meta data traversal related types and interface                          */
8098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
8108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_METADATATRAVERSALMODE_ALL	((SLuint32) 0x00000001)
8128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_METADATATRAVERSALMODE_NODE	((SLuint32) 0x00000002)
8138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_NODETYPE_UNSPECIFIED	((SLuint32) 0x00000001)
8168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_NODETYPE_AUDIO		((SLuint32) 0x00000002)
8178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_NODETYPE_VIDEO		((SLuint32) 0x00000003)
8188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_NODETYPE_IMAGE		((SLuint32) 0x00000004)
8198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_NODE_PARENT 0xFFFFFFFF
8218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_METADATATRAVERSAL;
8238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMetadataTraversalItf_;
8258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLMetadataTraversalItf_ * const * SLMetadataTraversalItf;
8268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMetadataTraversalItf_ {
8288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetMode) (
8298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataTraversalItf self,
8308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 mode
8318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
8328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetChildCount) (
8338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataTraversalItf self,
8348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pCount
8358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
8368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetChildMIMETypeSize) (
8378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataTraversalItf self,
8388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 index,
8398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pSize
8408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
8418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetChildInfo) (
8428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataTraversalItf self,
8438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 index,
8448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pNodeID,
8458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pType,
8468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 size,
8478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLchar *pMimeType
8488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
8498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetActiveNode) (
8508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMetadataTraversalItf self,
8518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 index
8528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
8538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
8548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
8568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Dynamic Source types and interface                                        */
8578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
8588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_DYNAMICSOURCE;
8608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLDynamicSourceItf_;
8628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLDynamicSourceItf_ * const * SLDynamicSourceItf;
8638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLDynamicSourceItf_ {
8658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetSource) (
8668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDynamicSourceItf self,
8678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSource *pDataSource
8688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
8698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
8708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
8728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Output Mix interface                                                      */
8738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
8748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_OUTPUTMIX;
8768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLOutputMixItf_;
8788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLOutputMixItf_ * const * SLOutputMixItf;
8798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slMixDeviceChangeCallback) (
8818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLOutputMixItf caller,
8828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    void *pContext
8838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
8848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
8868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLOutputMixItf_ {
8878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDestinationOutputDeviceIDs) (
8888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLOutputMixItf self,
8898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pNumDevices,
8908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pDeviceIDs
8918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
8928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterDeviceChangeCallback) (
8938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLOutputMixItf self,
8948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slMixDeviceChangeCallback callback,
8958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext
8968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
8978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*ReRoute)(
8988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLOutputMixItf self,
8998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLint32 numOutputDevices,
9008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 *pOutputDeviceIDs
9018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
9028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
9038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
9068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Playback interface                                                        */
9078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
9088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Playback states */
9108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PLAYSTATE_STOPPED	((SLuint32) 0x00000001)
9118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PLAYSTATE_PAUSED	((SLuint32) 0x00000002)
9128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PLAYSTATE_PLAYING	((SLuint32) 0x00000003)
9138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Play events **/
9158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PLAYEVENT_HEADATEND		((SLuint32) 0x00000001)
9168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PLAYEVENT_HEADATMARKER	((SLuint32) 0x00000002)
9178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PLAYEVENT_HEADATNEWPOS	((SLuint32) 0x00000004)
9188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PLAYEVENT_HEADMOVING		((SLuint32) 0x00000008)
9198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PLAYEVENT_HEADSTALLED	((SLuint32) 0x00000010)
9208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_TIME_UNKNOWN	((SLuint32) 0xFFFFFFFF)
9228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_PLAY;
9258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Playback interface methods */
9278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPlayItf_;
9298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLPlayItf_ * const * SLPlayItf;
9308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slPlayCallback) (
9328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLPlayItf caller,
9338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext,
9348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 event
9358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
9368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPlayItf_ {
9388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetPlayState) (
9398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 state
9418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPlayState) (
9438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pState
9458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDuration) (
9478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pMsec
9498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPosition) (
9518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pMsec
9538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterCallback) (
9558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slPlayCallback callback,
9578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext
9588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetCallbackEventsMask) (
9608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 eventFlags
9628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetCallbackEventsMask) (
9648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pEventFlags
9668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetMarkerPosition) (
9688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond mSec
9708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*ClearMarkerPosition) (
9728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self
9738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetMarkerPosition) (
9758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pMsec
9778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetPositionUpdatePeriod) (
9798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond mSec
9818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPositionUpdatePeriod) (
9838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlayItf self,
9848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pMsec
9858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
9868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
9878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
9898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Prefetch status interface                                                 */
9908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
9918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PREFETCHEVENT_STATUSCHANGE		((SLuint32) 0x00000001)
9938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PREFETCHEVENT_FILLLEVELCHANGE	((SLuint32) 0x00000002)
9948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PREFETCHSTATUS_UNDERFLOW		((SLuint32) 0x00000001)
9968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PREFETCHSTATUS_SUFFICIENTDATA	((SLuint32) 0x00000002)
9978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_PREFETCHSTATUS_OVERFLOW		((SLuint32) 0x00000003)
9988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
9998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_PREFETCHSTATUS;
10018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Prefetch status interface methods */
10048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPrefetchStatusItf_;
10068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLPrefetchStatusItf_ * const * SLPrefetchStatusItf;
10078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slPrefetchCallback) (
10098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLPrefetchStatusItf caller,
10108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext,
10118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 event
10128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
10138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPrefetchStatusItf_ {
10158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPrefetchStatus) (
10168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPrefetchStatusItf self,
10178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pStatus
10188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetFillLevel) (
10208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPrefetchStatusItf self,
10218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pLevel
10228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterCallback) (
10248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPrefetchStatusItf self,
10258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slPrefetchCallback callback,
10268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext
10278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetCallbackEventsMask) (
10298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPrefetchStatusItf self,
10308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 eventFlags
10318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetCallbackEventsMask) (
10338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPrefetchStatusItf self,
10348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pEventFlags
10358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetFillUpdatePeriod) (
10378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPrefetchStatusItf self,
10388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille period
10398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetFillUpdatePeriod) (
10418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPrefetchStatusItf self,
10428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pPeriod
10438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
10458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
10478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Playback Rate interface                                                   */
10488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
10498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RATEPROP_RESERVED1		  		((SLuint32) 0x00000001)
10518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RATEPROP_RESERVED2		  		((SLuint32) 0x00000002)
10528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RATEPROP_SILENTAUDIO				((SLuint32) 0x00000100)
10538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RATEPROP_STAGGEREDAUDIO	((SLuint32) 0x00000200)
10548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RATEPROP_NOPITCHCORAUDIO	((SLuint32) 0x00000400)
10558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RATEPROP_PITCHCORAUDIO	((SLuint32) 0x00000800)
10568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_PLAYBACKRATE;
10598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPlaybackRateItf_;
10618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLPlaybackRateItf_ * const * SLPlaybackRateItf;
10628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPlaybackRateItf_ {
10648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRate)(
10658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlaybackRateItf self,
10668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille rate
10678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRate)(
10698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlaybackRateItf self,
10708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pRate
10718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetPropertyConstraints)(
10738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlaybackRateItf self,
10748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 constraints
10758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetProperties)(
10778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlaybackRateItf self,
10788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pProperties
10798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetCapabilitiesOfRate)(
10818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlaybackRateItf self,
10828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille rate,
10838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pCapabilities
10848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRateRange) (
10868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPlaybackRateItf self,
10878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 index,
10888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pMinRate,
10898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pMaxRate,
10908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pStepSize,
10918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pCapabilities
10928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
10938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
10948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
10968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Seek Interface                                                            */
10978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
10988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
10998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SEEKMODE_FAST		((SLuint32) 0x0001)
11008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_SEEKMODE_ACCURATE	((SLuint32) 0x0002)
11018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_SEEK;
11038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLSeekItf_;
11058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLSeekItf_ * const * SLSeekItf;
11068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLSeekItf_ {
11088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetPosition)(
11098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLSeekItf self,
11108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond pos,
11118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 seekMode
11128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetLoop)(
11148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLSeekItf self,
11158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean loopEnable,
11168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond startPos,
11178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond endPos
11188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetLoop)(
11208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLSeekItf self,
11218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pLoopEnabled,
11228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pStartPos,
11238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pEndPos
11248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
11268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
11288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Standard Recording Interface                                              */
11298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
11308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Recording states */
11328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDSTATE_STOPPED 	((SLuint32) 0x00000001)
11338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDSTATE_PAUSED	((SLuint32) 0x00000002)
11348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDSTATE_RECORDING	((SLuint32) 0x00000003)
11358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Record event **/
11388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDEVENT_HEADATLIMIT	((SLuint32) 0x00000001)
11398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDEVENT_HEADATMARKER	((SLuint32) 0x00000002)
11408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDEVENT_HEADATNEWPOS	((SLuint32) 0x00000004)
11418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDEVENT_HEADMOVING	((SLuint32) 0x00000008)
11428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDEVENT_HEADSTALLED 	((SLuint32) 0x00000010)
11438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Note: SL_RECORDEVENT_BUFFER_INSUFFICIENT is deprecated, use SL_RECORDEVENT_BUFFER_FULL instead. */
11448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDEVENT_BUFFER_INSUFFICIENT      ((SLuint32) 0x00000020)
11458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RECORDEVENT_BUFFER_FULL	((SLuint32) 0x00000020)
11468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_RECORD;
11498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLRecordItf_;
11518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLRecordItf_ * const * SLRecordItf;
11528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slRecordCallback) (
11548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLRecordItf caller,
11558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext,
11568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 event
11578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
11588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
11598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Recording interface methods */
11608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLRecordItf_ {
11618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRecordState) (
11628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
11638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 state
11648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRecordState) (
11668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
11678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pState
11688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetDurationLimit) (
11708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
11718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond msec
11728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPosition) (
11748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
11758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pMsec
11768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterCallback) (
11788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
11798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slRecordCallback callback,
11808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext
11818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetCallbackEventsMask) (
11838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
11848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 eventFlags
11858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetCallbackEventsMask) (
11878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
11888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pEventFlags
11898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetMarkerPosition) (
11918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
11928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond mSec
11938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*ClearMarkerPosition) (
11958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self
11968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
11978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetMarkerPosition) (
11988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
11998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pMsec
12008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetPositionUpdatePeriod) (
12028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
12038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond mSec
12048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPositionUpdatePeriod) (
12068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRecordItf self,
12078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pMsec
12088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
12108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
12118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
12128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Equalizer interface                                                       */
12138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
12148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
12158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_EQUALIZER_UNDEFINED				((SLuint16) 0xFFFF)
12168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
12178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_EQUALIZER;
12188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
12198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEqualizerItf_;
12208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLEqualizerItf_ * const * SLEqualizerItf;
12218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
12228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEqualizerItf_ {
12238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetEnabled)(
12248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean enabled
12268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsEnabled)(
12288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pEnabled
12308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetNumberOfBands)(
12328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 *pAmount
12348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetBandLevelRange)(
12368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pMin,
12388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pMax
12398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetBandLevel)(
12418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 band,
12438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel level
12448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetBandLevel)(
12468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 band,
12488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pLevel
12498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetCenterFreq)(
12518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 band,
12538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmilliHertz *pCenter
12548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetBandFreqRange)(
12568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 band,
12588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmilliHertz *pMin,
12598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmilliHertz *pMax
12608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetBand)(
12628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmilliHertz frequency,
12648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 *pBand
12658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetCurrentPreset)(
12678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 *pPreset
12698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*UsePreset)(
12718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 index
12738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetNumberOfPresets)(
12758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 *pNumPresets
12778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPresetName)(
12798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEqualizerItf self,
12808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 index,
12818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLchar ** ppName
12828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
12848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
12858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
12868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Volume Interface                                                           */
12878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
12888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
12898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_VOLUME;
12908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
12918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLVolumeItf_;
12928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLVolumeItf_ * const * SLVolumeItf;
12938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
12948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLVolumeItf_ {
12958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetVolumeLevel) (
12968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVolumeItf self,
12978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel level
12988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
12998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetVolumeLevel) (
13008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVolumeItf self,
13018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pLevel
13028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetMaxVolumeLevel) (
13048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVolumeItf  self,
13058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pMaxLevel
13068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetMute) (
13088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVolumeItf self,
13098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean mute
13108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetMute) (
13128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVolumeItf self,
13138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pMute
13148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*EnableStereoPosition) (
13168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVolumeItf self,
13178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean enable
13188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsEnabledStereoPosition) (
13208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVolumeItf self,
13218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pEnable
13228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetStereoPosition) (
13248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVolumeItf self,
13258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille stereoPosition
13268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetStereoPosition) (
13288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVolumeItf self,
13298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pStereoPosition
13308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
13328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
13358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Device Volume Interface                                                   */
13368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
13378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_DEVICEVOLUME;
13398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLDeviceVolumeItf_;
13418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLDeviceVolumeItf_ * const * SLDeviceVolumeItf;
13428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLDeviceVolumeItf_ {
13448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetVolumeScale) (
13458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDeviceVolumeItf self,
13468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceID,
13478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pMinValue,
13488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pMaxValue,
13498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pIsMillibelScale
13508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetVolume) (
13528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDeviceVolumeItf self,
13538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceID,
13548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 volume
13558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetVolume) (
13578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDeviceVolumeItf self,
13588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceID,
13598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint32 *pVolume
13608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
13628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
13658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Buffer Queue Interface                                                    */
13668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
13678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_BUFFERQUEUE;
13698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLBufferQueueItf_;
13718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLBufferQueueItf_ * const * SLBufferQueueItf;
13728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slBufferQueueCallback)(
13748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLBufferQueueItf caller,
13758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext
13768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
13778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/** Buffer queue state **/
13798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLBufferQueueState_ {
13818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	count;
13828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32	playIndex;
13838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLBufferQueueState;
13848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
13868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLBufferQueueItf_ {
13878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Enqueue) (
13888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBufferQueueItf self,
13898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const void *pBuffer,
13908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 size
13918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Clear) (
13938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBufferQueueItf self
13948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetState) (
13968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBufferQueueItf self,
13978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBufferQueueState *pState
13988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
13998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterCallback) (
14008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBufferQueueItf self,
14018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slBufferQueueCallback callback,
14028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void* pContext
14038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
14048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
14058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
14088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* PresetReverb                                                              */
14098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
14108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_REVERBPRESET_NONE		((SLuint16) 0x0000)
14128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_REVERBPRESET_SMALLROOM	((SLuint16) 0x0001)
14138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_REVERBPRESET_MEDIUMROOM	((SLuint16) 0x0002)
14148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_REVERBPRESET_LARGEROOM	((SLuint16) 0x0003)
14158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_REVERBPRESET_MEDIUMHALL	((SLuint16) 0x0004)
14168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_REVERBPRESET_LARGEHALL	((SLuint16) 0x0005)
14178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_REVERBPRESET_PLATE 		((SLuint16) 0x0006)
14188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_PRESETREVERB;
14218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPresetReverbItf_;
14238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLPresetReverbItf_ * const * SLPresetReverbItf;
14248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPresetReverbItf_ {
14268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetPreset) (
14278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPresetReverbItf self,
14288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 preset
14298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
14308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPreset) (
14318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPresetReverbItf self,
14328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 *pPreset
14338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
14348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
14358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
14388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* EnvironmentalReverb                                                       */
14398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
14408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
14418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_DEFAULT \
14428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ SL_MILLIBEL_MIN,    0,  1000,   500, SL_MILLIBEL_MIN,  20, SL_MILLIBEL_MIN,  40, 1000,1000 }
14438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_GENERIC \
14448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -100, 1490,  830, -2602,   7,   200,  11, 1000,1000 }
14458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL \
14468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-6000,  170,  100, -1204,   1,   207,   2, 1000,1000 }
14478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_ROOM \
14488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -454,  400,  830, -1646,   2,    53,   3, 1000,1000 }
14498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_BATHROOM \
14508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-1200, 1490,  540,  -370,   7,  1030,  11, 1000, 600 }
14518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM \
14528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-6000,  500,  100, -1376,   3, -1104,   4, 1000,1000 }
14538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_STONEROOM \
14548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -300, 2310,  640,  -711,  12,    83,  17, 1000,1000 }
14558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM \
14568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -476, 4320,  590,  -789,  20,  -289,  30, 1000,1000 }
14578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL \
14588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -500, 3920,  700, -1230,  20,    -2,  29, 1000,1000 }
14598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_CAVE \
14608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,    0, 2910, 1300,  -602,  15,  -302,  22, 1000,1000 }
14618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_ARENA \
14628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -698, 7240,  330, -1166,  20,    16,  30, 1000,1000 }
14638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_HANGAR \
14648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-1000, 10050,  230,  -602,  20,   198,  30, 1000,1000 }
14658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY \
14668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-4000,  300,  100, -1831,   2, -1630,  30, 1000,1000 }
14678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_HALLWAY \
14688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -300, 1490,  590, -1219,   7,   441,  11, 1000,1000 }
14698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR \
14708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -237, 2700,  790, -1214,  13,   395,  20, 1000,1000 }
14718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_ALLEY \
14728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -270, 1490,  860, -1204,   7,    -4,  11, 1000,1000 }
14738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_FOREST \
14748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-3300, 1490,  540, -2560, 162,  -613,  88,  790,1000 }
14758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_CITY \
14768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000, -800, 1490,  670, -2273,   7, -2217,  11,  500,1000 }
14778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS \
14788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-2500, 1490,  210, -2780, 300, -2014, 100,  270,1000 }
14798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_QUARRY \
14808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-1000, 1490,  830, SL_MILLIBEL_MIN,  61,   500,  25, 1000,1000 }
14818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_PLAIN \
14828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-2000, 1490,  500, -2466, 179, -2514, 100,  210,1000 }
14838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT \
14848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,    0, 1650, 1500, -1363,   8, -1153,  12, 1000,1000 }
14858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE \
14868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-1000, 2810,  140,   429,  14,   648,  21,  800, 600 }
14878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_UNDERWATER \
14888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-4000, 1490,  100,  -449,   7,  1700,  11, 1000,1000 }
14898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_SMALLROOM \
14908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-600, 1100, 830, -400, 5, 500, 10, 1000, 1000 }
14918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM \
14928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-600, 1300, 830, -1000, 20, -200, 20, 1000, 1000 }
14938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_LARGEROOM \
14948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-600, 1500, 830, -1600, 5, -1000, 40, 1000, 1000 }
14958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL \
14968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-600, 1800, 700, -1300, 15, -800, 30, 1000, 1000 }
14978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_LARGEHALL \
14988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-600, 1800, 700, -2000, 30, -1400, 60, 1000, 1000 }
14998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_I3DL2_ENVIRONMENT_PRESET_PLATE \
15008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	{ -1000,-200, 1300, 900, 0, 2, 0, 10, 1000, 750 }
15018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
15028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
15038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLEnvironmentalReverbSettings_ {
15048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmillibel    roomLevel;
15058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmillibel    roomHFLevel;
15068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmillisecond decayTime;
15078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLpermille    decayHFRatio;
15088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmillibel    reflectionsLevel;
15098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmillisecond reflectionsDelay;
15108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmillibel    reverbLevel;
15118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmillisecond reverbDelay;
15128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLpermille    diffusion;
15138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLpermille    density;
15148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLEnvironmentalReverbSettings;
15158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
15168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
15178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
15188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
15198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_ENVIRONMENTALREVERB;
15208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
15218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
15228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEnvironmentalReverbItf_;
15238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLEnvironmentalReverbItf_ * const * SLEnvironmentalReverbItf;
15248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
15258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEnvironmentalReverbItf_ {
15268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRoomLevel) (
15278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel room
15298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRoomLevel) (
15318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pRoom
15338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRoomHFLevel) (
15358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel roomHF
15378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRoomHFLevel) (
15398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pRoomHF
15418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetDecayTime) (
15438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond decayTime
15458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDecayTime) (
15478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pDecayTime
15498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetDecayHFRatio) (
15518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille decayHFRatio
15538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDecayHFRatio) (
15558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pDecayHFRatio
15578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetReflectionsLevel) (
15598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel reflectionsLevel
15618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetReflectionsLevel) (
15638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pReflectionsLevel
15658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetReflectionsDelay) (
15678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond reflectionsDelay
15698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetReflectionsDelay) (
15718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pReflectionsDelay
15738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetReverbLevel) (
15758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel reverbLevel
15778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetReverbLevel) (
15798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pReverbLevel
15818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetReverbDelay) (
15838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond reverbDelay
15858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetReverbDelay) (
15878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillisecond *pReverbDelay
15898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetDiffusion) (
15918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille diffusion
15938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDiffusion) (
15958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
15968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pDiffusion
15978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
15988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetDensity) (
15998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
16008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille density
16018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDensity) (
16038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
16048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pDensity
16058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetEnvironmentalReverbProperties) (
16078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
16088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLEnvironmentalReverbSettings *pProperties
16098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetEnvironmentalReverbProperties) (
16118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbItf self,
16128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEnvironmentalReverbSettings *pProperties
16138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
16158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
16178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Effects Send Interface                                                    */
16188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
16198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_EFFECTSEND;
16228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEffectSendItf_;
16248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLEffectSendItf_ * const * SLEffectSendItf;
16258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEffectSendItf_ {
16278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*EnableEffectSend) (
16288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEffectSendItf self,
16298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const void *pAuxEffect,
16308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean enable,
16318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel initialLevel
16328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsEnabled) (
16348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEffectSendItf self,
16358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const void * pAuxEffect,
16368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pEnable
16378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetDirectLevel) (
16398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEffectSendItf self,
16408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel directLevel
16418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDirectLevel) (
16438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEffectSendItf self,
16448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pDirectLevel
16458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetSendLevel) (
16478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEffectSendItf self,
16488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const void *pAuxEffect,
16498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel sendLevel
16508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetSendLevel)(
16528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEffectSendItf self,
16538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const void *pAuxEffect,
16548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pSendLevel
16558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
16578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
16608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* 3D Grouping Interface                                                     */
16618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
16628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_3DGROUPING;
16658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DGroupingItf_ ;
16688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SL3DGroupingItf_ * const * SL3DGroupingItf;
16698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DGroupingItf_ {
16718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Set3DGroup) (
16728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DGroupingItf self,
16738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf group
16748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Get3DGroup) (
16768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DGroupingItf self,
16778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf *pGroup
16788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
16808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
16838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* 3D Commit Interface                                                       */
16848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
16858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_3DCOMMIT;
16888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DCommitItf_;
16908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SL3DCommitItf_* const * SL3DCommitItf;
16918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
16928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DCommitItf_ {
16938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Commit) (
16948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DCommitItf self
16958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
16968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetDeferred) (
16978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DCommitItf self,
16988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean deferred
16998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
17018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
17048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* 3D Location Interface                                                     */
17058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
17068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLVec3D_ {
17088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint32	x;
17098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint32	y;
17108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLint32	z;
17118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLVec3D;
17128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_3DLOCATION;
17148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DLocationItf_;
17168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SL3DLocationItf_ * const * SL3DLocationItf;
17178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DLocationItf_ {
17198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetLocationCartesian) (
17208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DLocationItf self,
17218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLVec3D *pLocation
17228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetLocationSpherical) (
17248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DLocationItf self,
17258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree azimuth,
17268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree elevation,
17278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter distance
17288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Move) (
17308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DLocationItf self,
17318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLVec3D *pMovement
17328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetLocationCartesian) (
17348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DLocationItf self,
17358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVec3D *pLocation
17368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetOrientationVectors) (
17388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DLocationItf self,
17398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLVec3D *pFront,
17408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLVec3D *pAbove
17418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetOrientationAngles) (
17438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DLocationItf self,
17448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree heading,
17458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree pitch,
17468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree roll
17478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Rotate) (
17498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DLocationItf self,
17508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree theta,
17518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLVec3D *pAxis
17528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetOrientationVectors) (
17548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DLocationItf self,
17558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVec3D *pFront,
17568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVec3D *pUp
17578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
17598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
17628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* 3D Doppler Interface                                                      */
17638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
17648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_3DDOPPLER;
17678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DDopplerItf_;
17698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SL3DDopplerItf_ * const * SL3DDopplerItf;
17708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DDopplerItf_ {
17728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetVelocityCartesian) (
17738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DDopplerItf self,
17748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLVec3D *pVelocity
17758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetVelocitySpherical) (
17778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DDopplerItf self,
17788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree azimuth,
17798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree elevation,
17808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter speed
17818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetVelocityCartesian) (
17838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DDopplerItf self,
17848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVec3D *pVelocity
17858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetDopplerFactor) (
17878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DDopplerItf self,
17888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille dopplerFactor
17898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDopplerFactor) (
17918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DDopplerItf self,
17928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pDopplerFactor
17938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
17948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
17958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
17968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
17978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* 3D Source Interface and associated defines                                */
17988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
17998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
18008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_ROLLOFFMODEL_EXPONENTIAL	((SLuint32) 0x00000000)
18018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_ROLLOFFMODEL_LINEAR		((SLuint32) 0x00000001)
18028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
18038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
18048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_3DSOURCE;
18058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
18068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DSourceItf_;
18078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SL3DSourceItf_ * const * SL3DSourceItf;
18088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
18098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DSourceItf_ {
18108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetHeadRelative) (
18118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean headRelative
18138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetHeadRelative) (
18158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pHeadRelative
18178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRolloffDistances) (
18198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter minDistance,
18218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter maxDistance
18228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRolloffDistances) (
18248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter *pMinDistance,
18268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter *pMaxDistance
18278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRolloffMaxDistanceMute) (
18298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean mute
18318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRolloffMaxDistanceMute) (
18338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pMute
18358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRolloffFactor) (
18378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille rolloffFactor
18398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRolloffFactor) (
18418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pRolloffFactor
18438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRoomRolloffFactor) (
18458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille roomRolloffFactor
18478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRoomRolloffFactor) (
18498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pRoomRolloffFactor
18518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRolloffModel) (
18538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 model
18558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRolloffModel) (
18578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 *pModel
18598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetCone) (
18618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree innerAngle,
18638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree outerAngle,
18648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel outerLevel
18658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetCone) (
18678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DSourceItf self,
18688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree *pInnerAngle,
18698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree *pOuterAngle,
18708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillibel *pOuterLevel
18718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
18738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
18748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
18758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* 3D Macroscopic Interface                                                  */
18768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
18778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
18788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_3DMACROSCOPIC;
18798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
18808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DMacroscopicItf_;
18818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SL3DMacroscopicItf_ * const * SL3DMacroscopicItf;
18828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
18838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SL3DMacroscopicItf_ {
18848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetSize) (
18858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DMacroscopicItf self,
18868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter width,
18878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter height,
18888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter depth
18898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetSize) (
18918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DMacroscopicItf self,
18928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter *pWidth,
18938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter *pHeight,
18948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillimeter *pDepth
18958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
18968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetOrientationAngles) (
18978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DMacroscopicItf self,
18988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree heading,
18998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree pitch,
19008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree roll
19018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetOrientationVectors) (
19038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DMacroscopicItf self,
19048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLVec3D *pFront,
19058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLVec3D *pAbove
19068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Rotate) (
19088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DMacroscopicItf self,
19098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmillidegree theta,
19108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLVec3D *pAxis
19118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetOrientationVectors) (
19138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SL3DMacroscopicItf self,
19148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVec3D *pFront,
19158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVec3D *pUp
19168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
19188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
19208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Mute Solo Interface                                                       */
19218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
19228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_MUTESOLO;
19258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMuteSoloItf_;
19278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLMuteSoloItf_ * const * SLMuteSoloItf;
19288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMuteSoloItf_ {
19308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetChannelMute) (
19318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMuteSoloItf self,
19328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 chan,
19338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean mute
19348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetChannelMute) (
19368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMuteSoloItf self,
19378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 chan,
19388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pMute
19398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetChannelSolo) (
19418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMuteSoloItf self,
19428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 chan,
19438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean solo
19448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetChannelSolo) (
19468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMuteSoloItf self,
19478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 chan,
19488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pSolo
19498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetNumChannels) (
19518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMuteSoloItf self,
19528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 *pNumChannels
19538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
19558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
19588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Dynamic Interface Management Interface and associated types and macros    */
19598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
19608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DYNAMIC_ITF_EVENT_RUNTIME_ERROR			((SLuint32) 0x00000001)
19628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DYNAMIC_ITF_EVENT_ASYNC_TERMINATION		((SLuint32) 0x00000002)
19638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DYNAMIC_ITF_EVENT_RESOURCES_LOST			((SLuint32) 0x00000003)
19648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DYNAMIC_ITF_EVENT_RESOURCES_LOST_PERMANENTLY	((SLuint32) 0x00000004)
19658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_DYNAMIC_ITF_EVENT_RESOURCES_AVAILABLE		((SLuint32) 0x00000005)
19668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_DYNAMICINTERFACEMANAGEMENT;
19718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLDynamicInterfaceManagementItf_;
19738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLDynamicInterfaceManagementItf_ * const * SLDynamicInterfaceManagementItf;
19748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slDynamicInterfaceManagementCallback) (
19768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLDynamicInterfaceManagementItf caller,
19778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void * pContext,
19788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 event,
19798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult result,
19808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    const SLInterfaceID iid
19818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
19828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
19848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLDynamicInterfaceManagementItf_ {
19858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*AddInterface) (
19868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDynamicInterfaceManagementItf self,
19878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID iid,
19888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean async
19898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RemoveInterface) (
19918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDynamicInterfaceManagementItf self,
19928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID iid
19938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*ResumeInterface) (
19958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDynamicInterfaceManagementItf self,
19968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID iid,
19978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean async
19988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
19998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterCallback) (
20008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDynamicInterfaceManagementItf self,
20018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slDynamicInterfaceManagementCallback callback,
20028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void * pContext
20038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
20048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
20058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
20078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Midi Message Interface and associated types                               */
20088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
20098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MIDIMESSAGETYPE_NOTE_ON_OFF		((SLuint32) 0x00000001)
20118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MIDIMESSAGETYPE_POLY_PRESSURE	((SLuint32) 0x00000002)
20128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MIDIMESSAGETYPE_CONTROL_CHANGE	((SLuint32) 0x00000003)
20138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MIDIMESSAGETYPE_PROGRAM_CHANGE	((SLuint32) 0x00000004)
20148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MIDIMESSAGETYPE_CHANNEL_PRESSURE	((SLuint32) 0x00000005)
20158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MIDIMESSAGETYPE_PITCH_BEND		((SLuint32) 0x00000006)
20168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_MIDIMESSAGETYPE_SYSTEM_MESSAGE	((SLuint32) 0x00000007)
20178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_MIDIMESSAGE;
20208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMIDIMessageItf_;
20228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLMIDIMessageItf_ * const * SLMIDIMessageItf;
20238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slMetaEventCallback) (
20258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLMIDIMessageItf caller,
20268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext,
20278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint8 type,
20288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 length,
20298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	const SLuint8 *pData,
20308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 tick,
20318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint16 track
20328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
20338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slMIDIMessageCallback) (
20358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLMIDIMessageItf caller,
20368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext,
20378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint8 statusByte,
20388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 length,
20398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	const SLuint8 *pData,
20408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 tick,
20418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint16 track
20428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
20438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMIDIMessageItf_ {
20458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SendMessage) (
20468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMessageItf self,
20478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLuint8 *data,
20488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 length
20498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
20508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterMetaEventCallback) (
20518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMessageItf self,
20528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slMetaEventCallback callback,
20538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext
20548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
20558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterMIDIMessageCallback) (
20568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMessageItf self,
20578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slMIDIMessageCallback callback,
20588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext
20598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
20608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*AddMIDIMessageCallbackFilter) (
20618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMessageItf self,
20628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 messageType
20638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
20648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*ClearMIDIMessageCallbackFilter) (
20658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMessageItf self
20668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
20678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
20688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
20718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Midi Mute Solo interface                                                  */
20728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
20738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_MIDIMUTESOLO;
20768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMIDIMuteSoloItf_;
20788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLMIDIMuteSoloItf_ * const * SLMIDIMuteSoloItf;
20798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
20808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMIDIMuteSoloItf_ {
20818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetChannelMute) (
20828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMuteSoloItf self,
20838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 channel,
20848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean mute
20858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
20868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetChannelMute) (
20878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMuteSoloItf self,
20888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 channel,
20898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pMute
20908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
20918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetChannelSolo) (
20928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMuteSoloItf self,
20938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 channel,
20948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean solo
20958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
20968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetChannelSolo) (
20978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMuteSoloItf self,
20988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint8 channel,
20998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pSolo
21008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetTrackCount) (
21028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMuteSoloItf self,
21038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 *pCount
21048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetTrackMute) (
21068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMuteSoloItf self,
21078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 track,
21088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean mute
21098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetTrackMute) (
21118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMuteSoloItf self,
21128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 track,
21138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pMute
21148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetTrackSolo) (
21168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMuteSoloItf self,
21178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 track,
21188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean solo
21198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetTrackSolo) (
21218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDIMuteSoloItf self,
21228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 track,
21238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pSolo
21248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
21268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
21298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Midi Tempo interface                                                      */
21308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
21318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_MIDITEMPO;
21348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMIDITempoItf_;
21368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLMIDITempoItf_ * const * SLMIDITempoItf;
21378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMIDITempoItf_ {
21398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetTicksPerQuarterNote) (
21408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDITempoItf self,
21418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 tpqn
21428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetTicksPerQuarterNote) (
21448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDITempoItf self,
21458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pTpqn
21468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetMicrosecondsPerQuarterNote) (
21488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDITempoItf self,
21498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmicrosecond uspqn
21508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetMicrosecondsPerQuarterNote) (
21528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDITempoItf self,
21538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmicrosecond *uspqn
21548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
21568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
21598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Midi Time interface                                                       */
21608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
21618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_MIDITIME;
21648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMIDITimeItf_;
21668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLMIDITimeItf_ * const * SLMIDITimeItf;
21678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLMIDITimeItf_ {
21698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetDuration) (
21708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDITimeItf self,
21718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pDuration
21728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetPosition) (
21748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDITimeItf self,
21758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 position
21768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPosition) (
21788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDITimeItf self,
21798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pPosition
21808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetLoopPoints) (
21828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDITimeItf self,
21838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 startTick,
21848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numTicks
21858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetLoopPoints) (
21878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLMIDITimeItf self,
21888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pStartTick,
21898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pNumTicks
21908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
21918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
21928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
21958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Audio Decoder Capabilities Interface                                      */
21968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
21978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
21988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*Audio Codec related defines*/
21998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RATECONTROLMODE_CONSTANTBITRATE	((SLuint32) 0x00000001)
22018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_RATECONTROLMODE_VARIABLEBITRATE	((SLuint32) 0x00000002)
22028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCODEC_PCM         ((SLuint32) 0x00000001)
22048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCODEC_MP3         ((SLuint32) 0x00000002)
22058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCODEC_AMR         ((SLuint32) 0x00000003)
22068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCODEC_AMRWB       ((SLuint32) 0x00000004)
22078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCODEC_AMRWBPLUS   ((SLuint32) 0x00000005)
22088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCODEC_AAC         ((SLuint32) 0x00000006)
22098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCODEC_WMA         ((SLuint32) 0x00000007)
22108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCODEC_REAL        ((SLuint32) 0x00000008)
22118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_PCM                   ((SLuint32) 0x00000001)
22138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_MPEG1_L3              ((SLuint32) 0x00000001)
22158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_MPEG2_L3              ((SLuint32) 0x00000002)
22168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_MPEG25_L3             ((SLuint32) 0x00000003)
22178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCHANMODE_MP3_MONO             ((SLuint32) 0x00000001)
22198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCHANMODE_MP3_STEREO           ((SLuint32) 0x00000002)
22208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCHANMODE_MP3_JOINTSTEREO      ((SLuint32) 0x00000003)
22218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOCHANMODE_MP3_DUAL             ((SLuint32) 0x00000004)
22228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_AMR			((SLuint32) 0x00000001)
22248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_CONFORMANCE	((SLuint32) 0x00000001)
22268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_IF1			((SLuint32) 0x00000002)
22278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_IF2			((SLuint32) 0x00000003)
22288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_FSF			((SLuint32) 0x00000004)
22298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_RTPPAYLOAD	((SLuint32) 0x00000005)
22308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_ITU			((SLuint32) 0x00000006)
22318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_AMRWB			((SLuint32) 0x00000001)
22338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_AMRWBPLUS		((SLuint32) 0x00000001)
22358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_AAC_AAC			((SLuint32) 0x00000001)
22378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_MAIN			((SLuint32) 0x00000001)
22398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_LC			((SLuint32) 0x00000002)
22408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_SSR			((SLuint32) 0x00000003)
22418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_LTP			((SLuint32) 0x00000004)
22428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_HE			((SLuint32) 0x00000005)
22438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_SCALABLE		((SLuint32) 0x00000006)
22448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_ERLC			((SLuint32) 0x00000007)
22458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_LD			((SLuint32) 0x00000008)
22468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_HE_PS			((SLuint32) 0x00000009)
22478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_AAC_HE_MPS			((SLuint32) 0x0000000A)
22488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_MP2ADTS		((SLuint32) 0x00000001)
22508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_MP4ADTS		((SLuint32) 0x00000002)
22518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_MP4LOAS		((SLuint32) 0x00000003)
22528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_MP4LATM		((SLuint32) 0x00000004)
22538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_ADIF		((SLuint32) 0x00000005)
22548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_MP4FF		((SLuint32) 0x00000006)
22558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOSTREAMFORMAT_RAW			((SLuint32) 0x00000007)
22568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_WMA7		((SLuint32) 0x00000001)
22588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_WMA8		((SLuint32) 0x00000002)
22598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_WMA9		((SLuint32) 0x00000003)
22608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_WMA10		((SLuint32) 0x00000004)
22618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_WMA_LEVEL1		((SLuint32) 0x00000001)
22638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_WMA_LEVEL2		((SLuint32) 0x00000002)
22648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_WMA_LEVEL3		((SLuint32) 0x00000003)
22658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_WMA_LEVEL4		((SLuint32) 0x00000004)
22668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_WMAPRO_LEVELM0	((SLuint32) 0x00000005)
22678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_WMAPRO_LEVELM1	((SLuint32) 0x00000006)
22688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_WMAPRO_LEVELM2	((SLuint32) 0x00000007)
22698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_WMAPRO_LEVELM3	((SLuint32) 0x00000008)
22708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOPROFILE_REALAUDIO		((SLuint32) 0x00000001)
22728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_REALAUDIO_G2		((SLuint32) 0x00000001)
22748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_REALAUDIO_8			((SLuint32) 0x00000002)
22758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_REALAUDIO_10		((SLuint32) 0x00000003)
22768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_AUDIOMODE_REALAUDIO_SURROUND	((SLuint32) 0x00000004)
22778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLAudioCodecDescriptor_ {
22798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32      maxChannels;
22808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32      minBitsPerSample;
22818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32      maxBitsPerSample;
22828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLmilliHertz  minSampleRate;
22838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLmilliHertz  maxSampleRate;
22848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLboolean     isFreqRangeContinuous;
22858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLmilliHertz *pSampleRatesSupported;
22868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32      numSampleRatesSupported;
22878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32      minBitRate;
22888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32      maxBitRate;
22898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLboolean     isBitrateRangeContinuous;
22908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32     *pBitratesSupported;
22918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32      numBitratesSupported;
22928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32	  profileSetting;
22938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32      modeSetting;
22948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLAudioCodecDescriptor;
22958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*Structure used to retrieve the profile and level settings supported by an audio encoder */
22978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
22988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLAudioCodecProfileMode_ {
22998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 profileSetting;
23008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 modeSetting;
23018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLAudioCodecProfileMode;
23028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_AUDIODECODERCAPABILITIES;
23048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLAudioDecoderCapabilitiesItf_;
23068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLAudioDecoderCapabilitiesItf_ * const * SLAudioDecoderCapabilitiesItf;
23078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLAudioDecoderCapabilitiesItf_ {
23098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*GetAudioDecoders) (
23108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioDecoderCapabilitiesItf self,
23118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 * pNumDecoders ,
23128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 *pDecoderIds
23138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
23148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*GetAudioDecoderCapabilities) (
23158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioDecoderCapabilitiesItf self,
23168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 decoderId,
23178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 *pIndex,
23188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioCodecDescriptor *pDescriptor
23198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
23208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
23218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
23268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Audio Encoder Capabilities Interface                                      */
23278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
23288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Structure used when setting audio encoding parameters */
23308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLAudioEncoderSettings_ {
23328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 encoderId;
23338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 channelsIn;
23348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 channelsOut;
23358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLmilliHertz sampleRate;
23368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 bitRate;
23378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 bitsPerSample;
23388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 rateControl;
23398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 profileSetting;
23408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 levelSetting;
23418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 channelMode;
23428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 streamFormat;
23438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 encodeOptions;
23448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLuint32 blockAlignment;
23458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLAudioEncoderSettings;
23468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_AUDIOENCODERCAPABILITIES;
23488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLAudioEncoderCapabilitiesItf_;
23508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLAudioEncoderCapabilitiesItf_ * const * SLAudioEncoderCapabilitiesItf;
23518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLAudioEncoderCapabilitiesItf_ {
23538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*GetAudioEncoders) (
23548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioEncoderCapabilitiesItf self,
23558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 *pNumEncoders ,
23568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 *pEncoderIds
23578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
23588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*GetAudioEncoderCapabilities) (
23598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioEncoderCapabilitiesItf self,
23608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 encoderId,
23618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 *pIndex,
23628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioCodecDescriptor * pDescriptor
23638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
23648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
23658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
23688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Audio Encoder Interface                                                   */
23698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
23708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_AUDIOENCODER;
23738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLAudioEncoderItf_;
23758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLAudioEncoderItf_ * const * SLAudioEncoderItf;
23768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLAudioEncoderItf_ {
23788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*SetEncoderSettings) (
23798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioEncoderItf		self,
23808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioEncoderSettings 	*pSettings
23818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
23828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*GetEncoderSettings) (
23838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioEncoderItf		self,
23848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLAudioEncoderSettings	*pSettings
23858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
23868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
23878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
23908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Bass Boost Interface                                                      */
23918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
23928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_BASSBOOST;
23958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLBassBoostItf_;
23978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLBassBoostItf_ * const * SLBassBoostItf;
23988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
23998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLBassBoostItf_ {
24008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetEnabled)(
24018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBassBoostItf self,
24028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean enabled
24038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsEnabled)(
24058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBassBoostItf self,
24068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pEnabled
24078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetStrength)(
24098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBassBoostItf self,
24108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille strength
24118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRoundedStrength)(
24138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBassBoostItf self,
24148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pStrength
24158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsStrengthSupported)(
24178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLBassBoostItf self,
24188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pSupported
24198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
24218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
24238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Pitch Interface                                                           */
24248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
24258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_PITCH;
24288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPitchItf_;
24308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLPitchItf_ * const * SLPitchItf;
24318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLPitchItf_ {
24338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetPitch) (
24348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPitchItf self,
24358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille pitch
24368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPitch) (
24388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPitchItf self,
24398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pPitch
24408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetPitchCapabilities) (
24428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLPitchItf self,
24438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pMinPitch,
24448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pMaxPitch
24458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
24478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
24508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Rate Pitch Interface                                                      */
24518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* RatePitchItf is an interface for controlling the rate a sound is played   */
24528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* back. A change in rate will cause a change in pitch.                      */
24538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
24548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_RATEPITCH;
24578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLRatePitchItf_;
24598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLRatePitchItf_ * const * SLRatePitchItf;
24608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLRatePitchItf_ {
24628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetRate) (
24638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRatePitchItf self,
24648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille rate
24658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRate) (
24678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRatePitchItf self,
24688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pRate
24698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRatePitchCapabilities) (
24718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLRatePitchItf self,
24728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pMinRate,
24738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pMaxRate
24748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
24768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
24798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Virtualizer Interface                                                      */
24808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
24818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_VIRTUALIZER;
24848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLVirtualizerItf_;
24868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLVirtualizerItf_ * const * SLVirtualizerItf;
24878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
24888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLVirtualizerItf_ {
24898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetEnabled)(
24908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVirtualizerItf self,
24918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean enabled
24928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsEnabled)(
24948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVirtualizerItf self,
24958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pEnabled
24968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
24978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*SetStrength)(
24988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVirtualizerItf self,
24998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille strength
25008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
25018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetRoundedStrength)(
25028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVirtualizerItf self,
25038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLpermille *pStrength
25048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
25058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsStrengthSupported)(
25068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVirtualizerItf self,
25078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pSupported
25088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
25098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
25108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
25128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Visualization Interface                                                   */
25138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
25148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_VISUALIZATION;
25178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLVisualizationItf_;
25198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLVisualizationItf_ * const * SLVisualizationItf;
25208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef void (SLAPIENTRY *slVisualizationCallback) (
25228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	void *pContext,
25238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	const SLuint8 waveform[],
25248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	const SLuint8 fft[],
25258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLmilliHertz samplerate
25268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
25278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLVisualizationItf_{
25298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*RegisterVisualizationCallback)(
25308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVisualizationItf self,
25318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		slVisualizationCallback callback,
25328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		void *pContext,
25338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmilliHertz rate
25348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
25358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*GetMaxRate)(
25368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVisualizationItf self,
25378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLmilliHertz* pRate
25388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
25398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
25408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
25438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Engine Interface                                                          */
25448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
25458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_ENGINE;
25488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEngineItf_;
25508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLEngineItf_ * const * SLEngineItf;
25518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEngineItf_ {
25548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
25558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*CreateLEDDevice) (
25568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
25578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf * pDevice,
25588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceID,
25598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numInterfaces,
25608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID * pInterfaceIds,
25618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLboolean * pInterfaceRequired
25628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
25638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*CreateVibraDevice) (
25648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
25658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf * pDevice,
25668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 deviceID,
25678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numInterfaces,
25688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID * pInterfaceIds,
25698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLboolean * pInterfaceRequired
25708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
25718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*CreateAudioPlayer) (
25728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
25738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf * pPlayer,
25748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSource *pAudioSrc,
25758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSink *pAudioSnk,
25768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numInterfaces,
25778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID * pInterfaceIds,
25788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLboolean * pInterfaceRequired
25798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
25808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*CreateAudioRecorder) (
25818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
25828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf * pRecorder,
25838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSource *pAudioSrc,
25848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSink *pAudioSnk,
25858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numInterfaces,
25868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID * pInterfaceIds,
25878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLboolean * pInterfaceRequired
25888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
25898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*CreateMidiPlayer) (
25908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
25918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf * pPlayer,
25928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSource *pMIDISrc,
25938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSource *pBankSrc,
25948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSink *pAudioOutput,
25958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSink *pVibra,
25968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSink *pLEDArray,
25978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numInterfaces,
25988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID * pInterfaceIds,
25998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLboolean * pInterfaceRequired
26008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*CreateListener) (
26028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
26038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf * pListener,
26048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numInterfaces,
26058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID * pInterfaceIds,
26068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLboolean * pInterfaceRequired
26078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*Create3DGroup) (
26098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
26108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf * pGroup,
26118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numInterfaces,
26128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID * pInterfaceIds,
26138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLboolean * pInterfaceRequired
26148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*CreateOutputMix) (
26168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
26178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf * pMix,
26188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numInterfaces,
26198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID * pInterfaceIds,
26208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLboolean * pInterfaceRequired
26218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*CreateMetadataExtractor) (
26238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
26248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLObjectItf * pMetadataExtractor,
26258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLDataSource * pDataSource,
26268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 numInterfaces,
26278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLInterfaceID * pInterfaceIds,
26288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		const SLboolean * pInterfaceRequired
26298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*CreateExtensionObject) (
26318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLEngineItf self,
26328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLObjectItf * pObject,
26338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        void * pParameters,
26348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 objectID,
26358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 numInterfaces,
26368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        const SLInterfaceID * pInterfaceIds,
26378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        const SLboolean * pInterfaceRequired
26388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
26398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QueryNumSupportedInterfaces) (
26408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
26418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 objectID,
26428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 * pNumSupportedInterfaces
26438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QuerySupportedInterfaces) (
26458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineItf self,
26468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 objectID,
26478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 index,
26488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLInterfaceID * pInterfaceId
26498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*QueryNumSupportedExtensions) (
26518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLEngineItf self,
26528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 * pNumExtensions
26538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
26548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*QuerySupportedExtension) (
26558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLEngineItf self,
26568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 index,
26578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLchar * pExtensionName,
26588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLint16 * pNameLength
26598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
26608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    SLresult (*IsExtensionSupported) (
26618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLEngineItf self,
26628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        const SLchar * pExtensionName,
26638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLboolean * pSupported
26648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner    );
26658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
26668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
26678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
26688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
26698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Engine Capabilities Interface                                             */
26708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
26718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
26728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
26738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_ENGINECAPABILITIES;
26748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
26758ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEngineCapabilitiesItf_;
26768ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLEngineCapabilitiesItf_ * const * SLEngineCapabilitiesItf;
26778ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
26788ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLEngineCapabilitiesItf_ {
26798ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QuerySupportedProfiles) (
26808ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineCapabilitiesItf self,
26818ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 *pProfilesSupported
26828ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26838ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QueryAvailableVoices) (
26848ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineCapabilitiesItf self,
26858ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint16 voiceType,
26868ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint16 *pNumMaxVoices,
26878ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pIsAbsoluteMax,
26888ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint16 *pNumFreeVoices
26898ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26908ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QueryNumberOfMIDISynthesizers) (
26918ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineCapabilitiesItf self,
26928ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint16 *pNumMIDIsynthesizers
26938ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
26948ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QueryAPIVersion) (
26958ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineCapabilitiesItf self,
26968ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint16 *pMajor,
26978ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint16 *pMinor,
26988ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLint16 *pStep
26998ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
27008ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QueryLEDCapabilities) (
27018ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineCapabilitiesItf self,
27028ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 *pIndex,
27038ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pLEDDeviceID,
27048ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLLEDDescriptor *pDescriptor
27058ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
27068ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*QueryVibraCapabilities) (
27078ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineCapabilitiesItf self,
27088ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner        SLuint32 *pIndex,
27098ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLuint32 *pVibraDeviceID,
27108ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLVibraDescriptor *pDescriptor
27118ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
27128ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*IsThreadSafe) (
27138ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLEngineCapabilitiesItf self,
27148ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLboolean *pIsThreadSafe
27158ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
27168ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
27178ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27188ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*---------------------------------------------------------------------------*/
27198ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* Thread Sync Interface                                                     */
27208ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* --------------------------------------------------------------------------*/
27218ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27228ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27238ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerextern SL_API const SLInterfaceID SL_IID_THREADSYNC;
27248ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27258ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLThreadSyncItf_;
27268ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef const struct SLThreadSyncItf_ * const * SLThreadSyncItf;
27278ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27288ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27298ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnerstruct SLThreadSyncItf_ {
27308ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*EnterCriticalSection) (
27318ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLThreadSyncItf self
27328ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
27338ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLresult (*ExitCriticalSection) (
27348ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner		SLThreadSyncItf self
27358ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	);
27368ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner};
27378ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27388ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27398ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*****************************************************************************/
27408ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/* SL engine constructor                                                     */
27418ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner/*****************************************************************************/
27428ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27438ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_ENGINEOPTION_THREADSAFE	((SLuint32) 0x00000001)
27448ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#define SL_ENGINEOPTION_LOSSOFCONTROL	((SLuint32) 0x00000002)
27458ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27468ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turnertypedef struct SLEngineOption_ {
27478ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 feature;
27488ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 data;
27498ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} SLEngineOption;
27508ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27518ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27528ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' TurnerSL_API SLresult SLAPIENTRY slCreateEngine(
27538ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLObjectItf             *pEngine,
27548ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32                numOptions,
27558ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	const SLEngineOption    *pEngineOptions,
27568ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32                numInterfaces,
27578ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	const SLInterfaceID     *pInterfaceIds,
27588ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	const SLboolean         * pInterfaceRequired
27598ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
27608ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27618ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' TurnerSL_API SLresult SLAPIENTRY slQueryNumSupportedEngineInterfaces(
27628ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 * pNumSupportedInterfaces
27638ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
27648ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27658ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' TurnerSL_API SLresult SLAPIENTRY slQuerySupportedEngineInterfaces(
27668ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLuint32 index,
27678ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner	SLInterfaceID * pInterfaceId
27688ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner);
27698ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27708ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#ifdef __cplusplus
27718ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner} /* extern "C" */
27728ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#endif
27738ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner
27748ece910f60e55f44bceec5588a767feef12f639eDavid 'Digit' Turner#endif /* OPENSL_ES_H_ */
2775