summaryrefslogtreecommitdiff
path: root/sysroot/usr/include/SLES/OpenSLES.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysroot/usr/include/SLES/OpenSLES.h')
-rw-r--r--sysroot/usr/include/SLES/OpenSLES.h2774
1 files changed, 0 insertions, 2774 deletions
diff --git a/sysroot/usr/include/SLES/OpenSLES.h b/sysroot/usr/include/SLES/OpenSLES.h
deleted file mode 100644
index 16496f9..0000000
--- a/sysroot/usr/include/SLES/OpenSLES.h
+++ /dev/null
@@ -1,2774 +0,0 @@
-/*
- * Copyright (c) 2007-2009 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
- * this software and /or associated documentation files (the "Materials "), to
- * deal in the Materials without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Materials, and to permit persons to whom the Materials are
- * furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Materials.
- *
- * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE
- * MATERIALS.
- *
- * OpenSLES.h - OpenSL ES version 1.0.1
- *
- */
-
-/****************************************************************************/
-/* NOTE: This file is a standard OpenSL ES header file and should not be */
-/* modified in any way. */
-/****************************************************************************/
-
-#ifndef OPENSL_ES_H_
-#define OPENSL_ES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "OpenSLES_Platform.h"
-
-
-/*****************************************************************************/
-/* Common types, structures, and defines */
-/*****************************************************************************/
-
-#ifndef _KHRONOS_KEYS_
-#define _KHRONOS_KEYS_
-
-#define KHRONOS_TITLE "KhronosTitle"
-#define KHRONOS_ALBUM "KhronosAlbum"
-#define KHRONOS_TRACK_NUMBER "KhronosTrackNumber"
-#define KHRONOS_ARTIST "KhronosArtist"
-#define KHRONOS_GENRE "KhronosGenre"
-#define KHRONOS_YEAR "KhronosYear"
-#define KHRONOS_COMMENT "KhronosComment"
-#define KHRONOS_ARTIST_URL "KhronosArtistURL"
-#define KHRONOS_CONTENT_URL "KhronosContentURL"
-#define KHRONOS_RATING "KhronosRating"
-#define KHRONOS_ALBUM_ART "KhronosAlbumArt"
-#define KHRONOS_COPYRIGHT "KhronosCopyright"
-
-#endif
-
-
-/* remap common types to SL types for clarity */
-typedef sl_int8_t SLint8; /* 8 bit signed integer */
-typedef sl_uint8_t SLuint8; /* 8 bit unsigned integer */
-typedef sl_int16_t SLint16; /* 16 bit signed integer */
-typedef sl_uint16_t SLuint16; /* 16 bit unsigned integer */
-typedef sl_int32_t SLint32; /* 32 bit signed integer */
-typedef sl_uint32_t SLuint32; /* 32 bit unsigned integer */
-
-typedef SLuint32 SLboolean;
-#define SL_BOOLEAN_FALSE ((SLboolean) 0x00000000)
-#define SL_BOOLEAN_TRUE ((SLboolean) 0x00000001)
-
-typedef SLuint8 SLchar; /* UTF-8 is to be used */
-typedef SLint16 SLmillibel;
-typedef SLuint32 SLmillisecond;
-typedef SLuint32 SLmilliHertz;
-typedef SLint32 SLmillimeter;
-typedef SLint32 SLmillidegree;
-typedef SLint16 SLpermille;
-typedef SLuint32 SLmicrosecond;
-typedef SLuint32 SLresult;
-
-#define SL_MILLIBEL_MAX ((SLmillibel) 0x7FFF)
-#define SL_MILLIBEL_MIN ((SLmillibel) (-SL_MILLIBEL_MAX-1))
-
-#define SL_MILLIHERTZ_MAX ((SLmilliHertz) 0xFFFFFFFF)
-#define SL_MILLIMETER_MAX ((SLmillimeter) 0x7FFFFFFF)
-
-/** Interface ID defined as a UUID */
-typedef const struct SLInterfaceID_ {
- SLuint32 time_low;
- SLuint16 time_mid;
- SLuint16 time_hi_and_version;
- SLuint16 clock_seq;
- SLuint8 node[6];
-} * SLInterfaceID;
-
-/* Forward declaration for the object interface */
-struct SLObjectItf_;
-
-typedef const struct SLObjectItf_ * const * SLObjectItf;
-
-/* Objects ID's */
-
-#define SL_OBJECTID_ENGINE ((SLuint32) 0x00001001)
-#define SL_OBJECTID_LEDDEVICE ((SLuint32) 0x00001002)
-#define SL_OBJECTID_VIBRADEVICE ((SLuint32) 0x00001003)
-#define SL_OBJECTID_AUDIOPLAYER ((SLuint32) 0x00001004)
-#define SL_OBJECTID_AUDIORECORDER ((SLuint32) 0x00001005)
-#define SL_OBJECTID_MIDIPLAYER ((SLuint32) 0x00001006)
-#define SL_OBJECTID_LISTENER ((SLuint32) 0x00001007)
-#define SL_OBJECTID_3DGROUP ((SLuint32) 0x00001008)
-#define SL_OBJECTID_OUTPUTMIX ((SLuint32) 0x00001009)
-#define SL_OBJECTID_METADATAEXTRACTOR ((SLuint32) 0x0000100A)
-
-
-/* SL Profiles */
-
-#define SL_PROFILES_PHONE ((SLuint16) 0x0001)
-#define SL_PROFILES_MUSIC ((SLuint16) 0x0002)
-#define SL_PROFILES_GAME ((SLuint16) 0x0004)
-
-/* Types of voices supported by the system */
-
-#define SL_VOICETYPE_2D_AUDIO ((SLuint16) 0x0001)
-#define SL_VOICETYPE_MIDI ((SLuint16) 0x0002)
-#define SL_VOICETYPE_3D_AUDIO ((SLuint16) 0x0004)
-#define SL_VOICETYPE_3D_MIDIOUTPUT ((SLuint16) 0x0008)
-
-/* Convenient macros representing various different priority levels, for use with the SetPriority method */
-
-#define SL_PRIORITY_LOWEST ((SLint32) (-0x7FFFFFFF-1))
-#define SL_PRIORITY_VERYLOW ((SLint32) -0x60000000)
-#define SL_PRIORITY_LOW ((SLint32) -0x40000000)
-#define SL_PRIORITY_BELOWNORMAL ((SLint32) -0x20000000)
-#define SL_PRIORITY_NORMAL ((SLint32) 0x00000000)
-#define SL_PRIORITY_ABOVENORMAL ((SLint32) 0x20000000)
-#define SL_PRIORITY_HIGH ((SLint32) 0x40000000)
-#define SL_PRIORITY_VERYHIGH ((SLint32) 0x60000000)
-#define SL_PRIORITY_HIGHEST ((SLint32) 0x7FFFFFFF)
-
-
-/** These macros list the various sample formats that are possible on audio input and output devices. */
-
-#define SL_PCMSAMPLEFORMAT_FIXED_8 ((SLuint16) 0x0008)
-#define SL_PCMSAMPLEFORMAT_FIXED_16 ((SLuint16) 0x0010)
-#define SL_PCMSAMPLEFORMAT_FIXED_20 ((SLuint16) 0x0014)
-#define SL_PCMSAMPLEFORMAT_FIXED_24 ((SLuint16) 0x0018)
-#define SL_PCMSAMPLEFORMAT_FIXED_28 ((SLuint16) 0x001C)
-#define SL_PCMSAMPLEFORMAT_FIXED_32 ((SLuint16) 0x0020)
-
-
-/** These macros specify the commonly used sampling rates (in milliHertz) supported by most audio I/O devices. */
-
-#define SL_SAMPLINGRATE_8 ((SLuint32) 8000000)
-#define SL_SAMPLINGRATE_11_025 ((SLuint32) 11025000)
-#define SL_SAMPLINGRATE_12 ((SLuint32) 12000000)
-#define SL_SAMPLINGRATE_16 ((SLuint32) 16000000)
-#define SL_SAMPLINGRATE_22_05 ((SLuint32) 22050000)
-#define SL_SAMPLINGRATE_24 ((SLuint32) 24000000)
-#define SL_SAMPLINGRATE_32 ((SLuint32) 32000000)
-#define SL_SAMPLINGRATE_44_1 ((SLuint32) 44100000)
-#define SL_SAMPLINGRATE_48 ((SLuint32) 48000000)
-#define SL_SAMPLINGRATE_64 ((SLuint32) 64000000)
-#define SL_SAMPLINGRATE_88_2 ((SLuint32) 88200000)
-#define SL_SAMPLINGRATE_96 ((SLuint32) 96000000)
-#define SL_SAMPLINGRATE_192 ((SLuint32) 192000000)
-
-#define SL_SPEAKER_FRONT_LEFT ((SLuint32) 0x00000001)
-#define SL_SPEAKER_FRONT_RIGHT ((SLuint32) 0x00000002)
-#define SL_SPEAKER_FRONT_CENTER ((SLuint32) 0x00000004)
-#define SL_SPEAKER_LOW_FREQUENCY ((SLuint32) 0x00000008)
-#define SL_SPEAKER_BACK_LEFT ((SLuint32) 0x00000010)
-#define SL_SPEAKER_BACK_RIGHT ((SLuint32) 0x00000020)
-#define SL_SPEAKER_FRONT_LEFT_OF_CENTER ((SLuint32) 0x00000040)
-#define SL_SPEAKER_FRONT_RIGHT_OF_CENTER ((SLuint32) 0x00000080)
-#define SL_SPEAKER_BACK_CENTER ((SLuint32) 0x00000100)
-#define SL_SPEAKER_SIDE_LEFT ((SLuint32) 0x00000200)
-#define SL_SPEAKER_SIDE_RIGHT ((SLuint32) 0x00000400)
-#define SL_SPEAKER_TOP_CENTER ((SLuint32) 0x00000800)
-#define SL_SPEAKER_TOP_FRONT_LEFT ((SLuint32) 0x00001000)
-#define SL_SPEAKER_TOP_FRONT_CENTER ((SLuint32) 0x00002000)
-#define SL_SPEAKER_TOP_FRONT_RIGHT ((SLuint32) 0x00004000)
-#define SL_SPEAKER_TOP_BACK_LEFT ((SLuint32) 0x00008000)
-#define SL_SPEAKER_TOP_BACK_CENTER ((SLuint32) 0x00010000)
-#define SL_SPEAKER_TOP_BACK_RIGHT ((SLuint32) 0x00020000)
-
-
-/*****************************************************************************/
-/* Errors */
-/* */
-/*****************************************************************************/
-
-#define SL_RESULT_SUCCESS ((SLuint32) 0x00000000)
-#define SL_RESULT_PRECONDITIONS_VIOLATED ((SLuint32) 0x00000001)
-#define SL_RESULT_PARAMETER_INVALID ((SLuint32) 0x00000002)
-#define SL_RESULT_MEMORY_FAILURE ((SLuint32) 0x00000003)
-#define SL_RESULT_RESOURCE_ERROR ((SLuint32) 0x00000004)
-#define SL_RESULT_RESOURCE_LOST ((SLuint32) 0x00000005)
-#define SL_RESULT_IO_ERROR ((SLuint32) 0x00000006)
-#define SL_RESULT_BUFFER_INSUFFICIENT ((SLuint32) 0x00000007)
-#define SL_RESULT_CONTENT_CORRUPTED ((SLuint32) 0x00000008)
-#define SL_RESULT_CONTENT_UNSUPPORTED ((SLuint32) 0x00000009)
-#define SL_RESULT_CONTENT_NOT_FOUND ((SLuint32) 0x0000000A)
-#define SL_RESULT_PERMISSION_DENIED ((SLuint32) 0x0000000B)
-#define SL_RESULT_FEATURE_UNSUPPORTED ((SLuint32) 0x0000000C)
-#define SL_RESULT_INTERNAL_ERROR ((SLuint32) 0x0000000D)
-#define SL_RESULT_UNKNOWN_ERROR ((SLuint32) 0x0000000E)
-#define SL_RESULT_OPERATION_ABORTED ((SLuint32) 0x0000000F)
-#define SL_RESULT_CONTROL_LOST ((SLuint32) 0x00000010)
-
-
-/* Object state definitions */
-
-#define SL_OBJECT_STATE_UNREALIZED ((SLuint32) 0x00000001)
-#define SL_OBJECT_STATE_REALIZED ((SLuint32) 0x00000002)
-#define SL_OBJECT_STATE_SUSPENDED ((SLuint32) 0x00000003)
-
-/* Object event definitions */
-
-#define SL_OBJECT_EVENT_RUNTIME_ERROR ((SLuint32) 0x00000001)
-#define SL_OBJECT_EVENT_ASYNC_TERMINATION ((SLuint32) 0x00000002)
-#define SL_OBJECT_EVENT_RESOURCES_LOST ((SLuint32) 0x00000003)
-#define SL_OBJECT_EVENT_RESOURCES_AVAILABLE ((SLuint32) 0x00000004)
-#define SL_OBJECT_EVENT_ITF_CONTROL_TAKEN ((SLuint32) 0x00000005)
-#define SL_OBJECT_EVENT_ITF_CONTROL_RETURNED ((SLuint32) 0x00000006)
-#define SL_OBJECT_EVENT_ITF_PARAMETERS_CHANGED ((SLuint32) 0x00000007)
-
-
-/*****************************************************************************/
-/* Interface definitions */
-/*****************************************************************************/
-
-/** NULL Interface */
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_NULL;
-
-/*---------------------------------------------------------------------------*/
-/* Data Source and Data Sink Structures */
-/*---------------------------------------------------------------------------*/
-
-/** Data locator macros */
-#define SL_DATALOCATOR_URI ((SLuint32) 0x00000001)
-#define SL_DATALOCATOR_ADDRESS ((SLuint32) 0x00000002)
-#define SL_DATALOCATOR_IODEVICE ((SLuint32) 0x00000003)
-#define SL_DATALOCATOR_OUTPUTMIX ((SLuint32) 0x00000004)
-#define SL_DATALOCATOR_RESERVED5 ((SLuint32) 0x00000005)
-#define SL_DATALOCATOR_BUFFERQUEUE ((SLuint32) 0x00000006)
-#define SL_DATALOCATOR_MIDIBUFFERQUEUE ((SLuint32) 0x00000007)
-#define SL_DATALOCATOR_RESERVED8 ((SLuint32) 0x00000008)
-
-
-
-/** URI-based data locator definition where locatorType must be SL_DATALOCATOR_URI*/
-typedef struct SLDataLocator_URI_ {
- SLuint32 locatorType;
- SLchar * URI;
-} SLDataLocator_URI;
-
-/** Address-based data locator definition where locatorType must be SL_DATALOCATOR_ADDRESS*/
-typedef struct SLDataLocator_Address_ {
- SLuint32 locatorType;
- void *pAddress;
- SLuint32 length;
-} SLDataLocator_Address;
-
-/** IODevice-types */
-#define SL_IODEVICE_AUDIOINPUT ((SLuint32) 0x00000001)
-#define SL_IODEVICE_LEDARRAY ((SLuint32) 0x00000002)
-#define SL_IODEVICE_VIBRA ((SLuint32) 0x00000003)
-#define SL_IODEVICE_RESERVED4 ((SLuint32) 0x00000004)
-#define SL_IODEVICE_RESERVED5 ((SLuint32) 0x00000005)
-
-/** IODevice-based data locator definition where locatorType must be SL_DATALOCATOR_IODEVICE*/
-typedef struct SLDataLocator_IODevice_ {
- SLuint32 locatorType;
- SLuint32 deviceType;
- SLuint32 deviceID;
- SLObjectItf device;
-} SLDataLocator_IODevice;
-
-/** OutputMix-based data locator definition where locatorType must be SL_DATALOCATOR_OUTPUTMIX*/
-typedef struct SLDataLocator_OutputMix {
- SLuint32 locatorType;
- SLObjectItf outputMix;
-} SLDataLocator_OutputMix;
-
-
-/** BufferQueue-based data locator definition where locatorType must be SL_DATALOCATOR_BUFFERQUEUE*/
-typedef struct SLDataLocator_BufferQueue {
- SLuint32 locatorType;
- SLuint32 numBuffers;
-} SLDataLocator_BufferQueue;
-
-/** MidiBufferQueue-based data locator definition where locatorType must be SL_DATALOCATOR_MIDIBUFFERQUEUE*/
-typedef struct SLDataLocator_MIDIBufferQueue {
- SLuint32 locatorType;
- SLuint32 tpqn;
- SLuint32 numBuffers;
-} SLDataLocator_MIDIBufferQueue;
-
-/** Data format defines */
-#define SL_DATAFORMAT_MIME ((SLuint32) 0x00000001)
-#define SL_DATAFORMAT_PCM ((SLuint32) 0x00000002)
-#define SL_DATAFORMAT_RESERVED3 ((SLuint32) 0x00000003)
-
-
-/** MIME-type-based data format definition where formatType must be SL_DATAFORMAT_MIME*/
-typedef struct SLDataFormat_MIME_ {
- SLuint32 formatType;
- SLchar * mimeType;
- SLuint32 containerType;
-} SLDataFormat_MIME;
-
-/* Byte order of a block of 16- or 32-bit data */
-#define SL_BYTEORDER_BIGENDIAN ((SLuint32) 0x00000001)
-#define SL_BYTEORDER_LITTLEENDIAN ((SLuint32) 0x00000002)
-
-/* Container type */
-#define SL_CONTAINERTYPE_UNSPECIFIED ((SLuint32) 0x00000001)
-#define SL_CONTAINERTYPE_RAW ((SLuint32) 0x00000002)
-#define SL_CONTAINERTYPE_ASF ((SLuint32) 0x00000003)
-#define SL_CONTAINERTYPE_AVI ((SLuint32) 0x00000004)
-#define SL_CONTAINERTYPE_BMP ((SLuint32) 0x00000005)
-#define SL_CONTAINERTYPE_JPG ((SLuint32) 0x00000006)
-#define SL_CONTAINERTYPE_JPG2000 ((SLuint32) 0x00000007)
-#define SL_CONTAINERTYPE_M4A ((SLuint32) 0x00000008)
-#define SL_CONTAINERTYPE_MP3 ((SLuint32) 0x00000009)
-#define SL_CONTAINERTYPE_MP4 ((SLuint32) 0x0000000A)
-#define SL_CONTAINERTYPE_MPEG_ES ((SLuint32) 0x0000000B)
-#define SL_CONTAINERTYPE_MPEG_PS ((SLuint32) 0x0000000C)
-#define SL_CONTAINERTYPE_MPEG_TS ((SLuint32) 0x0000000D)
-#define SL_CONTAINERTYPE_QT ((SLuint32) 0x0000000E)
-#define SL_CONTAINERTYPE_WAV ((SLuint32) 0x0000000F)
-#define SL_CONTAINERTYPE_XMF_0 ((SLuint32) 0x00000010)
-#define SL_CONTAINERTYPE_XMF_1 ((SLuint32) 0x00000011)
-#define SL_CONTAINERTYPE_XMF_2 ((SLuint32) 0x00000012)
-#define SL_CONTAINERTYPE_XMF_3 ((SLuint32) 0x00000013)
-#define SL_CONTAINERTYPE_XMF_GENERIC ((SLuint32) 0x00000014)
-#define SL_CONTAINERTYPE_AMR ((SLuint32) 0x00000015)
-#define SL_CONTAINERTYPE_AAC ((SLuint32) 0x00000016)
-#define SL_CONTAINERTYPE_3GPP ((SLuint32) 0x00000017)
-#define SL_CONTAINERTYPE_3GA ((SLuint32) 0x00000018)
-#define SL_CONTAINERTYPE_RM ((SLuint32) 0x00000019)
-#define SL_CONTAINERTYPE_DMF ((SLuint32) 0x0000001A)
-#define SL_CONTAINERTYPE_SMF ((SLuint32) 0x0000001B)
-#define SL_CONTAINERTYPE_MOBILE_DLS ((SLuint32) 0x0000001C)
-#define SL_CONTAINERTYPE_OGG ((SLuint32) 0x0000001D)
-
-
-/** PCM-type-based data format definition where formatType must be SL_DATAFORMAT_PCM*/
-typedef struct SLDataFormat_PCM_ {
- SLuint32 formatType;
- SLuint32 numChannels;
- SLuint32 samplesPerSec;
- SLuint32 bitsPerSample;
- SLuint32 containerSize;
- SLuint32 channelMask;
- SLuint32 endianness;
-} SLDataFormat_PCM;
-
-typedef struct SLDataSource_ {
- void *pLocator;
- void *pFormat;
-} SLDataSource;
-
-
-typedef struct SLDataSink_ {
- void *pLocator;
- void *pFormat;
-} SLDataSink;
-
-
-
-
-
-
-/*---------------------------------------------------------------------------*/
-/* Standard Object Interface */
-/*---------------------------------------------------------------------------*/
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_OBJECT;
-
-/** Object callback */
-
-
-typedef void (/*SLAPIENTRY*/ *slObjectCallback) (
- SLObjectItf caller,
- const void * pContext,
- SLuint32 event,
- SLresult result,
- SLuint32 param,
- void *pInterface
-);
-
-
-struct SLObjectItf_ {
- SLresult (*Realize) (
- SLObjectItf self,
- SLboolean async
- );
- SLresult (*Resume) (
- SLObjectItf self,
- SLboolean async
- );
- SLresult (*GetState) (
- SLObjectItf self,
- SLuint32 * pState
- );
- SLresult (*GetInterface) (
- SLObjectItf self,
- const SLInterfaceID iid,
- void * pInterface
- );
- SLresult (*RegisterCallback) (
- SLObjectItf self,
- slObjectCallback callback,
- void * pContext
- );
- void (*AbortAsyncOperation) (
- SLObjectItf self
- );
- void (*Destroy) (
- SLObjectItf self
- );
- SLresult (*SetPriority) (
- SLObjectItf self,
- SLint32 priority,
- SLboolean preemptable
- );
- SLresult (*GetPriority) (
- SLObjectItf self,
- SLint32 *pPriority,
- SLboolean *pPreemptable
- );
- SLresult (*SetLossOfControlInterfaces) (
- SLObjectItf self,
- SLint16 numInterfaces,
- SLInterfaceID * pInterfaceIDs,
- SLboolean enabled
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Audio IO Device capabilities interface */
-/*---------------------------------------------------------------------------*/
-
-#define SL_DEFAULTDEVICEID_AUDIOINPUT ((SLuint32) 0xFFFFFFFF)
-#define SL_DEFAULTDEVICEID_AUDIOOUTPUT ((SLuint32) 0xFFFFFFFE)
-#define SL_DEFAULTDEVICEID_LED ((SLuint32) 0xFFFFFFFD)
-#define SL_DEFAULTDEVICEID_VIBRA ((SLuint32) 0xFFFFFFFC)
-#define SL_DEFAULTDEVICEID_RESERVED1 ((SLuint32) 0xFFFFFFFB)
-
-
-#define SL_DEVCONNECTION_INTEGRATED ((SLint16) 0x0001)
-#define SL_DEVCONNECTION_ATTACHED_WIRED ((SLint16) 0x0100)
-#define SL_DEVCONNECTION_ATTACHED_WIRELESS ((SLint16) 0x0200)
-#define SL_DEVCONNECTION_NETWORK ((SLint16) 0x0400)
-
-
-#define SL_DEVLOCATION_HANDSET ((SLuint16) 0x0001)
-#define SL_DEVLOCATION_HEADSET ((SLuint16) 0x0002)
-#define SL_DEVLOCATION_CARKIT ((SLuint16) 0x0003)
-#define SL_DEVLOCATION_DOCK ((SLuint16) 0x0004)
-#define SL_DEVLOCATION_REMOTE ((SLuint16) 0x0005)
-/* Note: SL_DEVLOCATION_RESLTE is deprecated, use SL_DEVLOCATION_REMOTE instead. */
-#define SL_DEVLOCATION_RESLTE ((SLuint16) 0x0005)
-
-
-#define SL_DEVSCOPE_UNKNOWN ((SLuint16) 0x0001)
-#define SL_DEVSCOPE_ENVIRONMENT ((SLuint16) 0x0002)
-#define SL_DEVSCOPE_USER ((SLuint16) 0x0003)
-
-
-typedef struct SLAudioInputDescriptor_ {
- SLchar *deviceName;
- SLint16 deviceConnection;
- SLint16 deviceScope;
- SLint16 deviceLocation;
- SLboolean isForTelephony;
- SLmilliHertz minSampleRate;
- SLmilliHertz maxSampleRate;
- SLboolean isFreqRangeContinuous;
- SLmilliHertz *samplingRatesSupported;
- SLint16 numOfSamplingRatesSupported;
- SLint16 maxChannels;
-} SLAudioInputDescriptor;
-
-
-typedef struct SLAudioOutputDescriptor_ {
- SLchar *pDeviceName;
- SLint16 deviceConnection;
- SLint16 deviceScope;
- SLint16 deviceLocation;
- SLboolean isForTelephony;
- SLmilliHertz minSampleRate;
- SLmilliHertz maxSampleRate;
- SLboolean isFreqRangeContinuous;
- SLmilliHertz *samplingRatesSupported;
- SLint16 numOfSamplingRatesSupported;
- SLint16 maxChannels;
-} SLAudioOutputDescriptor;
-
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_AUDIOIODEVICECAPABILITIES;
-
-struct SLAudioIODeviceCapabilitiesItf_;
-typedef const struct SLAudioIODeviceCapabilitiesItf_ * const * SLAudioIODeviceCapabilitiesItf;
-
-
-typedef void (/*SLAPIENTRY*/ *slAvailableAudioInputsChangedCallback) (
- SLAudioIODeviceCapabilitiesItf caller,
- void *pContext,
- SLuint32 deviceID,
- SLint32 numInputs,
- SLboolean isNew
-);
-
-
-typedef void (/*SLAPIENTRY*/ *slAvailableAudioOutputsChangedCallback) (
- SLAudioIODeviceCapabilitiesItf caller,
- void *pContext,
- SLuint32 deviceID,
- SLint32 numOutputs,
- SLboolean isNew
-);
-
-typedef void (/*SLAPIENTRY*/ *slDefaultDeviceIDMapChangedCallback) (
- SLAudioIODeviceCapabilitiesItf caller,
- void *pContext,
- SLboolean isOutput,
- SLint32 numDevices
-);
-
-
-struct SLAudioIODeviceCapabilitiesItf_ {
- SLresult (*GetAvailableAudioInputs)(
- SLAudioIODeviceCapabilitiesItf self,
- SLint32 *pNumInputs,
- SLuint32 *pInputDeviceIDs
- );
- SLresult (*QueryAudioInputCapabilities)(
- SLAudioIODeviceCapabilitiesItf self,
- SLuint32 deviceId,
- SLAudioInputDescriptor *pDescriptor
- );
- SLresult (*RegisterAvailableAudioInputsChangedCallback) (
- SLAudioIODeviceCapabilitiesItf self,
- slAvailableAudioInputsChangedCallback callback,
- void *pContext
- );
- SLresult (*GetAvailableAudioOutputs)(
- SLAudioIODeviceCapabilitiesItf self,
- SLint32 *pNumOutputs,
- SLuint32 *pOutputDeviceIDs
- );
- SLresult (*QueryAudioOutputCapabilities)(
- SLAudioIODeviceCapabilitiesItf self,
- SLuint32 deviceId,
- SLAudioOutputDescriptor *pDescriptor
- );
- SLresult (*RegisterAvailableAudioOutputsChangedCallback) (
- SLAudioIODeviceCapabilitiesItf self,
- slAvailableAudioOutputsChangedCallback callback,
- void *pContext
- );
- SLresult (*RegisterDefaultDeviceIDMapChangedCallback) (
- SLAudioIODeviceCapabilitiesItf self,
- slDefaultDeviceIDMapChangedCallback callback,
- void *pContext
- );
- SLresult (*GetAssociatedAudioInputs) (
- SLAudioIODeviceCapabilitiesItf self,
- SLuint32 deviceId,
- SLint32 *pNumAudioInputs,
- SLuint32 *pAudioInputDeviceIDs
- );
- SLresult (*GetAssociatedAudioOutputs) (
- SLAudioIODeviceCapabilitiesItf self,
- SLuint32 deviceId,
- SLint32 *pNumAudioOutputs,
- SLuint32 *pAudioOutputDeviceIDs
- );
- SLresult (*GetDefaultAudioDevices) (
- SLAudioIODeviceCapabilitiesItf self,
- SLuint32 defaultDeviceID,
- SLint32 *pNumAudioDevices,
- SLuint32 *pAudioDeviceIDs
- );
- SLresult (*QuerySampleFormatsSupported)(
- SLAudioIODeviceCapabilitiesItf self,
- SLuint32 deviceId,
- SLmilliHertz samplingRate,
- SLint32 *pSampleFormats,
- SLint32 *pNumOfSampleFormats
- );
-};
-
-
-
-/*---------------------------------------------------------------------------*/
-/* Capabilities of the LED array IODevice */
-/*---------------------------------------------------------------------------*/
-
-typedef struct SLLEDDescriptor_ {
- SLuint8 ledCount;
- SLuint8 primaryLED;
- SLuint32 colorMask;
-} SLLEDDescriptor;
-
-
-/*---------------------------------------------------------------------------*/
-/* LED Array interface */
-/*---------------------------------------------------------------------------*/
-
-typedef struct SLHSL_ {
- SLmillidegree hue;
- SLpermille saturation;
- SLpermille lightness;
-} SLHSL;
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_LED;
-
-struct SLLEDArrayItf_;
-typedef const struct SLLEDArrayItf_ * const * SLLEDArrayItf;
-
-struct SLLEDArrayItf_ {
- SLresult (*ActivateLEDArray) (
- SLLEDArrayItf self,
- SLuint32 lightMask
- );
- SLresult (*IsLEDArrayActivated) (
- SLLEDArrayItf self,
- SLuint32 *lightMask
- );
- SLresult (*SetColor) (
- SLLEDArrayItf self,
- SLuint8 index,
- const SLHSL *color
- );
- SLresult (*GetColor) (
- SLLEDArrayItf self,
- SLuint8 index,
- SLHSL *color
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Capabilities of the Vibra IODevice */
-/*---------------------------------------------------------------------------*/
-
-typedef struct SLVibraDescriptor_ {
- SLboolean supportsFrequency;
- SLboolean supportsIntensity;
- SLmilliHertz minFrequency;
- SLmilliHertz maxFrequency;
-} SLVibraDescriptor;
-
-
-
-/*---------------------------------------------------------------------------*/
-/* Vibra interface */
-/*---------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_VIBRA;
-
-
-struct SLVibraItf_;
-typedef const struct SLVibraItf_ * const * SLVibraItf;
-
-struct SLVibraItf_ {
- SLresult (*Vibrate) (
- SLVibraItf self,
- SLboolean vibrate
- );
- SLresult (*IsVibrating) (
- SLVibraItf self,
- SLboolean *pVibrating
- );
- SLresult (*SetFrequency) (
- SLVibraItf self,
- SLmilliHertz frequency
- );
- SLresult (*GetFrequency) (
- SLVibraItf self,
- SLmilliHertz *pFrequency
- );
- SLresult (*SetIntensity) (
- SLVibraItf self,
- SLpermille intensity
- );
- SLresult (*GetIntensity) (
- SLVibraItf self,
- SLpermille *pIntensity
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Meta data extraction related types and interface */
-/*---------------------------------------------------------------------------*/
-
-#define SL_CHARACTERENCODING_UNKNOWN ((SLuint32) 0x00000000)
-#define SL_CHARACTERENCODING_BINARY ((SLuint32) 0x00000001)
-#define SL_CHARACTERENCODING_ASCII ((SLuint32) 0x00000002)
-#define SL_CHARACTERENCODING_BIG5 ((SLuint32) 0x00000003)
-#define SL_CHARACTERENCODING_CODEPAGE1252 ((SLuint32) 0x00000004)
-#define SL_CHARACTERENCODING_GB2312 ((SLuint32) 0x00000005)
-#define SL_CHARACTERENCODING_HZGB2312 ((SLuint32) 0x00000006)
-#define SL_CHARACTERENCODING_GB12345 ((SLuint32) 0x00000007)
-#define SL_CHARACTERENCODING_GB18030 ((SLuint32) 0x00000008)
-#define SL_CHARACTERENCODING_GBK ((SLuint32) 0x00000009)
-#define SL_CHARACTERENCODING_IMAPUTF7 ((SLuint32) 0x0000000A)
-#define SL_CHARACTERENCODING_ISO2022JP ((SLuint32) 0x0000000B)
-#define SL_CHARACTERENCODING_ISO2022JP1 ((SLuint32) 0x0000000B)
-#define SL_CHARACTERENCODING_ISO88591 ((SLuint32) 0x0000000C)
-#define SL_CHARACTERENCODING_ISO885910 ((SLuint32) 0x0000000D)
-#define SL_CHARACTERENCODING_ISO885913 ((SLuint32) 0x0000000E)
-#define SL_CHARACTERENCODING_ISO885914 ((SLuint32) 0x0000000F)
-#define SL_CHARACTERENCODING_ISO885915 ((SLuint32) 0x00000010)
-#define SL_CHARACTERENCODING_ISO88592 ((SLuint32) 0x00000011)
-#define SL_CHARACTERENCODING_ISO88593 ((SLuint32) 0x00000012)
-#define SL_CHARACTERENCODING_ISO88594 ((SLuint32) 0x00000013)
-#define SL_CHARACTERENCODING_ISO88595 ((SLuint32) 0x00000014)
-#define SL_CHARACTERENCODING_ISO88596 ((SLuint32) 0x00000015)
-#define SL_CHARACTERENCODING_ISO88597 ((SLuint32) 0x00000016)
-#define SL_CHARACTERENCODING_ISO88598 ((SLuint32) 0x00000017)
-#define SL_CHARACTERENCODING_ISO88599 ((SLuint32) 0x00000018)
-#define SL_CHARACTERENCODING_ISOEUCJP ((SLuint32) 0x00000019)
-#define SL_CHARACTERENCODING_SHIFTJIS ((SLuint32) 0x0000001A)
-#define SL_CHARACTERENCODING_SMS7BIT ((SLuint32) 0x0000001B)
-#define SL_CHARACTERENCODING_UTF7 ((SLuint32) 0x0000001C)
-#define SL_CHARACTERENCODING_UTF8 ((SLuint32) 0x0000001D)
-#define SL_CHARACTERENCODING_JAVACONFORMANTUTF8 ((SLuint32) 0x0000001E)
-#define SL_CHARACTERENCODING_UTF16BE ((SLuint32) 0x0000001F)
-#define SL_CHARACTERENCODING_UTF16LE ((SLuint32) 0x00000020)
-
-
-#define SL_METADATA_FILTER_KEY ((SLuint8) 0x01)
-#define SL_METADATA_FILTER_LANG ((SLuint8) 0x02)
-#define SL_METADATA_FILTER_ENCODING ((SLuint8) 0x04)
-
-
-typedef struct SLMetadataInfo_ {
- SLuint32 size;
- SLuint32 encoding;
- SLchar langCountry[16];
- SLuint8 data[1];
-} SLMetadataInfo;
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_METADATAEXTRACTION;
-
-struct SLMetadataExtractionItf_;
-typedef const struct SLMetadataExtractionItf_ * const * SLMetadataExtractionItf;
-
-
-struct SLMetadataExtractionItf_ {
- SLresult (*GetItemCount) (
- SLMetadataExtractionItf self,
- SLuint32 *pItemCount
- );
- SLresult (*GetKeySize) (
- SLMetadataExtractionItf self,
- SLuint32 index,
- SLuint32 *pKeySize
- );
- SLresult (*GetKey) (
- SLMetadataExtractionItf self,
- SLuint32 index,
- SLuint32 keySize,
- SLMetadataInfo *pKey
- );
- SLresult (*GetValueSize) (
- SLMetadataExtractionItf self,
- SLuint32 index,
- SLuint32 *pValueSize
- );
- SLresult (*GetValue) (
- SLMetadataExtractionItf self,
- SLuint32 index,
- SLuint32 valueSize,
- SLMetadataInfo *pValue
- );
- SLresult (*AddKeyFilter) (
- SLMetadataExtractionItf self,
- SLuint32 keySize,
- const void *pKey,
- SLuint32 keyEncoding,
- const SLchar *pValueLangCountry,
- SLuint32 valueEncoding,
- SLuint8 filterMask
- );
- SLresult (*ClearKeyFilter) (
- SLMetadataExtractionItf self
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Meta data traversal related types and interface */
-/*---------------------------------------------------------------------------*/
-
-#define SL_METADATATRAVERSALMODE_ALL ((SLuint32) 0x00000001)
-#define SL_METADATATRAVERSALMODE_NODE ((SLuint32) 0x00000002)
-
-
-#define SL_NODETYPE_UNSPECIFIED ((SLuint32) 0x00000001)
-#define SL_NODETYPE_AUDIO ((SLuint32) 0x00000002)
-#define SL_NODETYPE_VIDEO ((SLuint32) 0x00000003)
-#define SL_NODETYPE_IMAGE ((SLuint32) 0x00000004)
-
-#define SL_NODE_PARENT 0xFFFFFFFF
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_METADATATRAVERSAL;
-
-struct SLMetadataTraversalItf_;
-typedef const struct SLMetadataTraversalItf_ * const * SLMetadataTraversalItf;
-
-struct SLMetadataTraversalItf_ {
- SLresult (*SetMode) (
- SLMetadataTraversalItf self,
- SLuint32 mode
- );
- SLresult (*GetChildCount) (
- SLMetadataTraversalItf self,
- SLuint32 *pCount
- );
- SLresult (*GetChildMIMETypeSize) (
- SLMetadataTraversalItf self,
- SLuint32 index,
- SLuint32 *pSize
- );
- SLresult (*GetChildInfo) (
- SLMetadataTraversalItf self,
- SLuint32 index,
- SLint32 *pNodeID,
- SLuint32 *pType,
- SLuint32 size,
- SLchar *pMimeType
- );
- SLresult (*SetActiveNode) (
- SLMetadataTraversalItf self,
- SLuint32 index
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Dynamic Source types and interface */
-/*---------------------------------------------------------------------------*/
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_DYNAMICSOURCE;
-
-struct SLDynamicSourceItf_;
-typedef const struct SLDynamicSourceItf_ * const * SLDynamicSourceItf;
-
-struct SLDynamicSourceItf_ {
- SLresult (*SetSource) (
- SLDynamicSourceItf self,
- SLDataSource *pDataSource
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Output Mix interface */
-/*---------------------------------------------------------------------------*/
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_OUTPUTMIX;
-
-struct SLOutputMixItf_;
-typedef const struct SLOutputMixItf_ * const * SLOutputMixItf;
-
-typedef void (/*SLAPIENTRY*/ *slMixDeviceChangeCallback) (
- SLOutputMixItf caller,
- void *pContext
-);
-
-
-struct SLOutputMixItf_ {
- SLresult (*GetDestinationOutputDeviceIDs) (
- SLOutputMixItf self,
- SLint32 *pNumDevices,
- SLuint32 *pDeviceIDs
- );
- SLresult (*RegisterDeviceChangeCallback) (
- SLOutputMixItf self,
- slMixDeviceChangeCallback callback,
- void *pContext
- );
- SLresult (*ReRoute)(
- SLOutputMixItf self,
- SLint32 numOutputDevices,
- SLuint32 *pOutputDeviceIDs
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Playback interface */
-/*---------------------------------------------------------------------------*/
-
-/** Playback states */
-#define SL_PLAYSTATE_STOPPED ((SLuint32) 0x00000001)
-#define SL_PLAYSTATE_PAUSED ((SLuint32) 0x00000002)
-#define SL_PLAYSTATE_PLAYING ((SLuint32) 0x00000003)
-
-/** Play events **/
-#define SL_PLAYEVENT_HEADATEND ((SLuint32) 0x00000001)
-#define SL_PLAYEVENT_HEADATMARKER ((SLuint32) 0x00000002)
-#define SL_PLAYEVENT_HEADATNEWPOS ((SLuint32) 0x00000004)
-#define SL_PLAYEVENT_HEADMOVING ((SLuint32) 0x00000008)
-#define SL_PLAYEVENT_HEADSTALLED ((SLuint32) 0x00000010)
-
-#define SL_TIME_UNKNOWN ((SLuint32) 0xFFFFFFFF)
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_PLAY;
-
-/** Playback interface methods */
-
-struct SLPlayItf_;
-typedef const struct SLPlayItf_ * const * SLPlayItf;
-
-typedef void (/*SLAPIENTRY*/ *slPlayCallback) (
- SLPlayItf caller,
- void *pContext,
- SLuint32 event
-);
-
-struct SLPlayItf_ {
- SLresult (*SetPlayState) (
- SLPlayItf self,
- SLuint32 state
- );
- SLresult (*GetPlayState) (
- SLPlayItf self,
- SLuint32 *pState
- );
- SLresult (*GetDuration) (
- SLPlayItf self,
- SLmillisecond *pMsec
- );
- SLresult (*GetPosition) (
- SLPlayItf self,
- SLmillisecond *pMsec
- );
- SLresult (*RegisterCallback) (
- SLPlayItf self,
- slPlayCallback callback,
- void *pContext
- );
- SLresult (*SetCallbackEventsMask) (
- SLPlayItf self,
- SLuint32 eventFlags
- );
- SLresult (*GetCallbackEventsMask) (
- SLPlayItf self,
- SLuint32 *pEventFlags
- );
- SLresult (*SetMarkerPosition) (
- SLPlayItf self,
- SLmillisecond mSec
- );
- SLresult (*ClearMarkerPosition) (
- SLPlayItf self
- );
- SLresult (*GetMarkerPosition) (
- SLPlayItf self,
- SLmillisecond *pMsec
- );
- SLresult (*SetPositionUpdatePeriod) (
- SLPlayItf self,
- SLmillisecond mSec
- );
- SLresult (*GetPositionUpdatePeriod) (
- SLPlayItf self,
- SLmillisecond *pMsec
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Prefetch status interface */
-/*---------------------------------------------------------------------------*/
-
-#define SL_PREFETCHEVENT_STATUSCHANGE ((SLuint32) 0x00000001)
-#define SL_PREFETCHEVENT_FILLLEVELCHANGE ((SLuint32) 0x00000002)
-
-#define SL_PREFETCHSTATUS_UNDERFLOW ((SLuint32) 0x00000001)
-#define SL_PREFETCHSTATUS_SUFFICIENTDATA ((SLuint32) 0x00000002)
-#define SL_PREFETCHSTATUS_OVERFLOW ((SLuint32) 0x00000003)
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_PREFETCHSTATUS;
-
-
-/** Prefetch status interface methods */
-
-struct SLPrefetchStatusItf_;
-typedef const struct SLPrefetchStatusItf_ * const * SLPrefetchStatusItf;
-
-typedef void (/*SLAPIENTRY*/ *slPrefetchCallback) (
- SLPrefetchStatusItf caller,
- void *pContext,
- SLuint32 event
-);
-
-struct SLPrefetchStatusItf_ {
- SLresult (*GetPrefetchStatus) (
- SLPrefetchStatusItf self,
- SLuint32 *pStatus
- );
- SLresult (*GetFillLevel) (
- SLPrefetchStatusItf self,
- SLpermille *pLevel
- );
- SLresult (*RegisterCallback) (
- SLPrefetchStatusItf self,
- slPrefetchCallback callback,
- void *pContext
- );
- SLresult (*SetCallbackEventsMask) (
- SLPrefetchStatusItf self,
- SLuint32 eventFlags
- );
- SLresult (*GetCallbackEventsMask) (
- SLPrefetchStatusItf self,
- SLuint32 *pEventFlags
- );
- SLresult (*SetFillUpdatePeriod) (
- SLPrefetchStatusItf self,
- SLpermille period
- );
- SLresult (*GetFillUpdatePeriod) (
- SLPrefetchStatusItf self,
- SLpermille *pPeriod
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Playback Rate interface */
-/*---------------------------------------------------------------------------*/
-
-#define SL_RATEPROP_RESERVED1 ((SLuint32) 0x00000001)
-#define SL_RATEPROP_RESERVED2 ((SLuint32) 0x00000002)
-#define SL_RATEPROP_SILENTAUDIO ((SLuint32) 0x00000100)
-#define SL_RATEPROP_STAGGEREDAUDIO ((SLuint32) 0x00000200)
-#define SL_RATEPROP_NOPITCHCORAUDIO ((SLuint32) 0x00000400)
-#define SL_RATEPROP_PITCHCORAUDIO ((SLuint32) 0x00000800)
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_PLAYBACKRATE;
-
-struct SLPlaybackRateItf_;
-typedef const struct SLPlaybackRateItf_ * const * SLPlaybackRateItf;
-
-struct SLPlaybackRateItf_ {
- SLresult (*SetRate)(
- SLPlaybackRateItf self,
- SLpermille rate
- );
- SLresult (*GetRate)(
- SLPlaybackRateItf self,
- SLpermille *pRate
- );
- SLresult (*SetPropertyConstraints)(
- SLPlaybackRateItf self,
- SLuint32 constraints
- );
- SLresult (*GetProperties)(
- SLPlaybackRateItf self,
- SLuint32 *pProperties
- );
- SLresult (*GetCapabilitiesOfRate)(
- SLPlaybackRateItf self,
- SLpermille rate,
- SLuint32 *pCapabilities
- );
- SLresult (*GetRateRange) (
- SLPlaybackRateItf self,
- SLuint8 index,
- SLpermille *pMinRate,
- SLpermille *pMaxRate,
- SLpermille *pStepSize,
- SLuint32 *pCapabilities
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Seek Interface */
-/*---------------------------------------------------------------------------*/
-
-#define SL_SEEKMODE_FAST ((SLuint32) 0x0001)
-#define SL_SEEKMODE_ACCURATE ((SLuint32) 0x0002)
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_SEEK;
-
-struct SLSeekItf_;
-typedef const struct SLSeekItf_ * const * SLSeekItf;
-
-struct SLSeekItf_ {
- SLresult (*SetPosition)(
- SLSeekItf self,
- SLmillisecond pos,
- SLuint32 seekMode
- );
- SLresult (*SetLoop)(
- SLSeekItf self,
- SLboolean loopEnable,
- SLmillisecond startPos,
- SLmillisecond endPos
- );
- SLresult (*GetLoop)(
- SLSeekItf self,
- SLboolean *pLoopEnabled,
- SLmillisecond *pStartPos,
- SLmillisecond *pEndPos
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Standard Recording Interface */
-/*---------------------------------------------------------------------------*/
-
-/** Recording states */
-#define SL_RECORDSTATE_STOPPED ((SLuint32) 0x00000001)
-#define SL_RECORDSTATE_PAUSED ((SLuint32) 0x00000002)
-#define SL_RECORDSTATE_RECORDING ((SLuint32) 0x00000003)
-
-
-/** Record event **/
-#define SL_RECORDEVENT_HEADATLIMIT ((SLuint32) 0x00000001)
-#define SL_RECORDEVENT_HEADATMARKER ((SLuint32) 0x00000002)
-#define SL_RECORDEVENT_HEADATNEWPOS ((SLuint32) 0x00000004)
-#define SL_RECORDEVENT_HEADMOVING ((SLuint32) 0x00000008)
-#define SL_RECORDEVENT_HEADSTALLED ((SLuint32) 0x00000010)
-/* Note: SL_RECORDEVENT_BUFFER_INSUFFICIENT is deprecated, use SL_RECORDEVENT_BUFFER_FULL instead. */
-#define SL_RECORDEVENT_BUFFER_INSUFFICIENT ((SLuint32) 0x00000020)
-#define SL_RECORDEVENT_BUFFER_FULL ((SLuint32) 0x00000020)
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_RECORD;
-
-struct SLRecordItf_;
-typedef const struct SLRecordItf_ * const * SLRecordItf;
-
-typedef void (/*SLAPIENTRY*/ *slRecordCallback) (
- SLRecordItf caller,
- void *pContext,
- SLuint32 event
-);
-
-/** Recording interface methods */
-struct SLRecordItf_ {
- SLresult (*SetRecordState) (
- SLRecordItf self,
- SLuint32 state
- );
- SLresult (*GetRecordState) (
- SLRecordItf self,
- SLuint32 *pState
- );
- SLresult (*SetDurationLimit) (
- SLRecordItf self,
- SLmillisecond msec
- );
- SLresult (*GetPosition) (
- SLRecordItf self,
- SLmillisecond *pMsec
- );
- SLresult (*RegisterCallback) (
- SLRecordItf self,
- slRecordCallback callback,
- void *pContext
- );
- SLresult (*SetCallbackEventsMask) (
- SLRecordItf self,
- SLuint32 eventFlags
- );
- SLresult (*GetCallbackEventsMask) (
- SLRecordItf self,
- SLuint32 *pEventFlags
- );
- SLresult (*SetMarkerPosition) (
- SLRecordItf self,
- SLmillisecond mSec
- );
- SLresult (*ClearMarkerPosition) (
- SLRecordItf self
- );
- SLresult (*GetMarkerPosition) (
- SLRecordItf self,
- SLmillisecond *pMsec
- );
- SLresult (*SetPositionUpdatePeriod) (
- SLRecordItf self,
- SLmillisecond mSec
- );
- SLresult (*GetPositionUpdatePeriod) (
- SLRecordItf self,
- SLmillisecond *pMsec
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Equalizer interface */
-/*---------------------------------------------------------------------------*/
-
-#define SL_EQUALIZER_UNDEFINED ((SLuint16) 0xFFFF)
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_EQUALIZER;
-
-struct SLEqualizerItf_;
-typedef const struct SLEqualizerItf_ * const * SLEqualizerItf;
-
-struct SLEqualizerItf_ {
- SLresult (*SetEnabled)(
- SLEqualizerItf self,
- SLboolean enabled
- );
- SLresult (*IsEnabled)(
- SLEqualizerItf self,
- SLboolean *pEnabled
- );
- SLresult (*GetNumberOfBands)(
- SLEqualizerItf self,
- SLuint16 *pAmount
- );
- SLresult (*GetBandLevelRange)(
- SLEqualizerItf self,
- SLmillibel *pMin,
- SLmillibel *pMax
- );
- SLresult (*SetBandLevel)(
- SLEqualizerItf self,
- SLuint16 band,
- SLmillibel level
- );
- SLresult (*GetBandLevel)(
- SLEqualizerItf self,
- SLuint16 band,
- SLmillibel *pLevel
- );
- SLresult (*GetCenterFreq)(
- SLEqualizerItf self,
- SLuint16 band,
- SLmilliHertz *pCenter
- );
- SLresult (*GetBandFreqRange)(
- SLEqualizerItf self,
- SLuint16 band,
- SLmilliHertz *pMin,
- SLmilliHertz *pMax
- );
- SLresult (*GetBand)(
- SLEqualizerItf self,
- SLmilliHertz frequency,
- SLuint16 *pBand
- );
- SLresult (*GetCurrentPreset)(
- SLEqualizerItf self,
- SLuint16 *pPreset
- );
- SLresult (*UsePreset)(
- SLEqualizerItf self,
- SLuint16 index
- );
- SLresult (*GetNumberOfPresets)(
- SLEqualizerItf self,
- SLuint16 *pNumPresets
- );
- SLresult (*GetPresetName)(
- SLEqualizerItf self,
- SLuint16 index,
- const SLchar ** ppName
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Volume Interface */
-/* --------------------------------------------------------------------------*/
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_VOLUME;
-
-struct SLVolumeItf_;
-typedef const struct SLVolumeItf_ * const * SLVolumeItf;
-
-struct SLVolumeItf_ {
- SLresult (*SetVolumeLevel) (
- SLVolumeItf self,
- SLmillibel level
- );
- SLresult (*GetVolumeLevel) (
- SLVolumeItf self,
- SLmillibel *pLevel
- );
- SLresult (*GetMaxVolumeLevel) (
- SLVolumeItf self,
- SLmillibel *pMaxLevel
- );
- SLresult (*SetMute) (
- SLVolumeItf self,
- SLboolean mute
- );
- SLresult (*GetMute) (
- SLVolumeItf self,
- SLboolean *pMute
- );
- SLresult (*EnableStereoPosition) (
- SLVolumeItf self,
- SLboolean enable
- );
- SLresult (*IsEnabledStereoPosition) (
- SLVolumeItf self,
- SLboolean *pEnable
- );
- SLresult (*SetStereoPosition) (
- SLVolumeItf self,
- SLpermille stereoPosition
- );
- SLresult (*GetStereoPosition) (
- SLVolumeItf self,
- SLpermille *pStereoPosition
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Device Volume Interface */
-/* --------------------------------------------------------------------------*/
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_DEVICEVOLUME;
-
-struct SLDeviceVolumeItf_;
-typedef const struct SLDeviceVolumeItf_ * const * SLDeviceVolumeItf;
-
-struct SLDeviceVolumeItf_ {
- SLresult (*GetVolumeScale) (
- SLDeviceVolumeItf self,
- SLuint32 deviceID,
- SLint32 *pMinValue,
- SLint32 *pMaxValue,
- SLboolean *pIsMillibelScale
- );
- SLresult (*SetVolume) (
- SLDeviceVolumeItf self,
- SLuint32 deviceID,
- SLint32 volume
- );
- SLresult (*GetVolume) (
- SLDeviceVolumeItf self,
- SLuint32 deviceID,
- SLint32 *pVolume
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Buffer Queue Interface */
-/*---------------------------------------------------------------------------*/
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_BUFFERQUEUE;
-
-struct SLBufferQueueItf_;
-typedef const struct SLBufferQueueItf_ * const * SLBufferQueueItf;
-
-typedef void (/*SLAPIENTRY*/ *slBufferQueueCallback)(
- SLBufferQueueItf caller,
- void *pContext
-);
-
-/** Buffer queue state **/
-
-typedef struct SLBufferQueueState_ {
- SLuint32 count;
- SLuint32 playIndex;
-} SLBufferQueueState;
-
-
-struct SLBufferQueueItf_ {
- SLresult (*Enqueue) (
- SLBufferQueueItf self,
- const void *pBuffer,
- SLuint32 size
- );
- SLresult (*Clear) (
- SLBufferQueueItf self
- );
- SLresult (*GetState) (
- SLBufferQueueItf self,
- SLBufferQueueState *pState
- );
- SLresult (*RegisterCallback) (
- SLBufferQueueItf self,
- slBufferQueueCallback callback,
- void* pContext
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* PresetReverb */
-/*---------------------------------------------------------------------------*/
-
-#define SL_REVERBPRESET_NONE ((SLuint16) 0x0000)
-#define SL_REVERBPRESET_SMALLROOM ((SLuint16) 0x0001)
-#define SL_REVERBPRESET_MEDIUMROOM ((SLuint16) 0x0002)
-#define SL_REVERBPRESET_LARGEROOM ((SLuint16) 0x0003)
-#define SL_REVERBPRESET_MEDIUMHALL ((SLuint16) 0x0004)
-#define SL_REVERBPRESET_LARGEHALL ((SLuint16) 0x0005)
-#define SL_REVERBPRESET_PLATE ((SLuint16) 0x0006)
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_PRESETREVERB;
-
-struct SLPresetReverbItf_;
-typedef const struct SLPresetReverbItf_ * const * SLPresetReverbItf;
-
-struct SLPresetReverbItf_ {
- SLresult (*SetPreset) (
- SLPresetReverbItf self,
- SLuint16 preset
- );
- SLresult (*GetPreset) (
- SLPresetReverbItf self,
- SLuint16 *pPreset
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* EnvironmentalReverb */
-/*---------------------------------------------------------------------------*/
-
-#define SL_I3DL2_ENVIRONMENT_PRESET_DEFAULT \
- { SL_MILLIBEL_MIN, 0, 1000, 500, SL_MILLIBEL_MIN, 20, SL_MILLIBEL_MIN, 40, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_GENERIC \
- { -1000, -100, 1490, 830, -2602, 7, 200, 11, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL \
- { -1000,-6000, 170, 100, -1204, 1, 207, 2, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_ROOM \
- { -1000, -454, 400, 830, -1646, 2, 53, 3, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_BATHROOM \
- { -1000,-1200, 1490, 540, -370, 7, 1030, 11, 1000, 600 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM \
- { -1000,-6000, 500, 100, -1376, 3, -1104, 4, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_STONEROOM \
- { -1000, -300, 2310, 640, -711, 12, 83, 17, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM \
- { -1000, -476, 4320, 590, -789, 20, -289, 30, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL \
- { -1000, -500, 3920, 700, -1230, 20, -2, 29, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_CAVE \
- { -1000, 0, 2910, 1300, -602, 15, -302, 22, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_ARENA \
- { -1000, -698, 7240, 330, -1166, 20, 16, 30, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_HANGAR \
- { -1000,-1000, 10050, 230, -602, 20, 198, 30, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY \
- { -1000,-4000, 300, 100, -1831, 2, -1630, 30, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_HALLWAY \
- { -1000, -300, 1490, 590, -1219, 7, 441, 11, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR \
- { -1000, -237, 2700, 790, -1214, 13, 395, 20, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_ALLEY \
- { -1000, -270, 1490, 860, -1204, 7, -4, 11, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_FOREST \
- { -1000,-3300, 1490, 540, -2560, 162, -613, 88, 790,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_CITY \
- { -1000, -800, 1490, 670, -2273, 7, -2217, 11, 500,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS \
- { -1000,-2500, 1490, 210, -2780, 300, -2014, 100, 270,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_QUARRY \
- { -1000,-1000, 1490, 830, SL_MILLIBEL_MIN, 61, 500, 25, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_PLAIN \
- { -1000,-2000, 1490, 500, -2466, 179, -2514, 100, 210,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT \
- { -1000, 0, 1650, 1500, -1363, 8, -1153, 12, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE \
- { -1000,-1000, 2810, 140, 429, 14, 648, 21, 800, 600 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_UNDERWATER \
- { -1000,-4000, 1490, 100, -449, 7, 1700, 11, 1000,1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_SMALLROOM \
- { -1000,-600, 1100, 830, -400, 5, 500, 10, 1000, 1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM \
- { -1000,-600, 1300, 830, -1000, 20, -200, 20, 1000, 1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_LARGEROOM \
- { -1000,-600, 1500, 830, -1600, 5, -1000, 40, 1000, 1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL \
- { -1000,-600, 1800, 700, -1300, 15, -800, 30, 1000, 1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_LARGEHALL \
- { -1000,-600, 1800, 700, -2000, 30, -1400, 60, 1000, 1000 }
-#define SL_I3DL2_ENVIRONMENT_PRESET_PLATE \
- { -1000,-200, 1300, 900, 0, 2, 0, 10, 1000, 750 }
-
-
-typedef struct SLEnvironmentalReverbSettings_ {
- SLmillibel roomLevel;
- SLmillibel roomHFLevel;
- SLmillisecond decayTime;
- SLpermille decayHFRatio;
- SLmillibel reflectionsLevel;
- SLmillisecond reflectionsDelay;
- SLmillibel reverbLevel;
- SLmillisecond reverbDelay;
- SLpermille diffusion;
- SLpermille density;
-} SLEnvironmentalReverbSettings;
-
-
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_ENVIRONMENTALREVERB;
-
-
-struct SLEnvironmentalReverbItf_;
-typedef const struct SLEnvironmentalReverbItf_ * const * SLEnvironmentalReverbItf;
-
-struct SLEnvironmentalReverbItf_ {
- SLresult (*SetRoomLevel) (
- SLEnvironmentalReverbItf self,
- SLmillibel room
- );
- SLresult (*GetRoomLevel) (
- SLEnvironmentalReverbItf self,
- SLmillibel *pRoom
- );
- SLresult (*SetRoomHFLevel) (
- SLEnvironmentalReverbItf self,
- SLmillibel roomHF
- );
- SLresult (*GetRoomHFLevel) (
- SLEnvironmentalReverbItf self,
- SLmillibel *pRoomHF
- );
- SLresult (*SetDecayTime) (
- SLEnvironmentalReverbItf self,
- SLmillisecond decayTime
- );
- SLresult (*GetDecayTime) (
- SLEnvironmentalReverbItf self,
- SLmillisecond *pDecayTime
- );
- SLresult (*SetDecayHFRatio) (
- SLEnvironmentalReverbItf self,
- SLpermille decayHFRatio
- );
- SLresult (*GetDecayHFRatio) (
- SLEnvironmentalReverbItf self,
- SLpermille *pDecayHFRatio
- );
- SLresult (*SetReflectionsLevel) (
- SLEnvironmentalReverbItf self,
- SLmillibel reflectionsLevel
- );
- SLresult (*GetReflectionsLevel) (
- SLEnvironmentalReverbItf self,
- SLmillibel *pReflectionsLevel
- );
- SLresult (*SetReflectionsDelay) (
- SLEnvironmentalReverbItf self,
- SLmillisecond reflectionsDelay
- );
- SLresult (*GetReflectionsDelay) (
- SLEnvironmentalReverbItf self,
- SLmillisecond *pReflectionsDelay
- );
- SLresult (*SetReverbLevel) (
- SLEnvironmentalReverbItf self,
- SLmillibel reverbLevel
- );
- SLresult (*GetReverbLevel) (
- SLEnvironmentalReverbItf self,
- SLmillibel *pReverbLevel
- );
- SLresult (*SetReverbDelay) (
- SLEnvironmentalReverbItf self,
- SLmillisecond reverbDelay
- );
- SLresult (*GetReverbDelay) (
- SLEnvironmentalReverbItf self,
- SLmillisecond *pReverbDelay
- );
- SLresult (*SetDiffusion) (
- SLEnvironmentalReverbItf self,
- SLpermille diffusion
- );
- SLresult (*GetDiffusion) (
- SLEnvironmentalReverbItf self,
- SLpermille *pDiffusion
- );
- SLresult (*SetDensity) (
- SLEnvironmentalReverbItf self,
- SLpermille density
- );
- SLresult (*GetDensity) (
- SLEnvironmentalReverbItf self,
- SLpermille *pDensity
- );
- SLresult (*SetEnvironmentalReverbProperties) (
- SLEnvironmentalReverbItf self,
- const SLEnvironmentalReverbSettings *pProperties
- );
- SLresult (*GetEnvironmentalReverbProperties) (
- SLEnvironmentalReverbItf self,
- SLEnvironmentalReverbSettings *pProperties
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Effects Send Interface */
-/*---------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_EFFECTSEND;
-
-struct SLEffectSendItf_;
-typedef const struct SLEffectSendItf_ * const * SLEffectSendItf;
-
-struct SLEffectSendItf_ {
- SLresult (*EnableEffectSend) (
- SLEffectSendItf self,
- const void *pAuxEffect,
- SLboolean enable,
- SLmillibel initialLevel
- );
- SLresult (*IsEnabled) (
- SLEffectSendItf self,
- const void * pAuxEffect,
- SLboolean *pEnable
- );
- SLresult (*SetDirectLevel) (
- SLEffectSendItf self,
- SLmillibel directLevel
- );
- SLresult (*GetDirectLevel) (
- SLEffectSendItf self,
- SLmillibel *pDirectLevel
- );
- SLresult (*SetSendLevel) (
- SLEffectSendItf self,
- const void *pAuxEffect,
- SLmillibel sendLevel
- );
- SLresult (*GetSendLevel)(
- SLEffectSendItf self,
- const void *pAuxEffect,
- SLmillibel *pSendLevel
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* 3D Grouping Interface */
-/*---------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_3DGROUPING;
-
-
-struct SL3DGroupingItf_ ;
-typedef const struct SL3DGroupingItf_ * const * SL3DGroupingItf;
-
-struct SL3DGroupingItf_ {
- SLresult (*Set3DGroup) (
- SL3DGroupingItf self,
- SLObjectItf group
- );
- SLresult (*Get3DGroup) (
- SL3DGroupingItf self,
- SLObjectItf *pGroup
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* 3D Commit Interface */
-/*---------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_3DCOMMIT;
-
-struct SL3DCommitItf_;
-typedef const struct SL3DCommitItf_* const * SL3DCommitItf;
-
-struct SL3DCommitItf_ {
- SLresult (*Commit) (
- SL3DCommitItf self
- );
- SLresult (*SetDeferred) (
- SL3DCommitItf self,
- SLboolean deferred
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* 3D Location Interface */
-/*---------------------------------------------------------------------------*/
-
-typedef struct SLVec3D_ {
- SLint32 x;
- SLint32 y;
- SLint32 z;
-} SLVec3D;
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_3DLOCATION;
-
-struct SL3DLocationItf_;
-typedef const struct SL3DLocationItf_ * const * SL3DLocationItf;
-
-struct SL3DLocationItf_ {
- SLresult (*SetLocationCartesian) (
- SL3DLocationItf self,
- const SLVec3D *pLocation
- );
- SLresult (*SetLocationSpherical) (
- SL3DLocationItf self,
- SLmillidegree azimuth,
- SLmillidegree elevation,
- SLmillimeter distance
- );
- SLresult (*Move) (
- SL3DLocationItf self,
- const SLVec3D *pMovement
- );
- SLresult (*GetLocationCartesian) (
- SL3DLocationItf self,
- SLVec3D *pLocation
- );
- SLresult (*SetOrientationVectors) (
- SL3DLocationItf self,
- const SLVec3D *pFront,
- const SLVec3D *pAbove
- );
- SLresult (*SetOrientationAngles) (
- SL3DLocationItf self,
- SLmillidegree heading,
- SLmillidegree pitch,
- SLmillidegree roll
- );
- SLresult (*Rotate) (
- SL3DLocationItf self,
- SLmillidegree theta,
- const SLVec3D *pAxis
- );
- SLresult (*GetOrientationVectors) (
- SL3DLocationItf self,
- SLVec3D *pFront,
- SLVec3D *pUp
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* 3D Doppler Interface */
-/*---------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_3DDOPPLER;
-
-struct SL3DDopplerItf_;
-typedef const struct SL3DDopplerItf_ * const * SL3DDopplerItf;
-
-struct SL3DDopplerItf_ {
- SLresult (*SetVelocityCartesian) (
- SL3DDopplerItf self,
- const SLVec3D *pVelocity
- );
- SLresult (*SetVelocitySpherical) (
- SL3DDopplerItf self,
- SLmillidegree azimuth,
- SLmillidegree elevation,
- SLmillimeter speed
- );
- SLresult (*GetVelocityCartesian) (
- SL3DDopplerItf self,
- SLVec3D *pVelocity
- );
- SLresult (*SetDopplerFactor) (
- SL3DDopplerItf self,
- SLpermille dopplerFactor
- );
- SLresult (*GetDopplerFactor) (
- SL3DDopplerItf self,
- SLpermille *pDopplerFactor
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* 3D Source Interface and associated defines */
-/* --------------------------------------------------------------------------*/
-
-#define SL_ROLLOFFMODEL_EXPONENTIAL ((SLuint32) 0x00000000)
-#define SL_ROLLOFFMODEL_LINEAR ((SLuint32) 0x00000001)
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_3DSOURCE;
-
-struct SL3DSourceItf_;
-typedef const struct SL3DSourceItf_ * const * SL3DSourceItf;
-
-struct SL3DSourceItf_ {
- SLresult (*SetHeadRelative) (
- SL3DSourceItf self,
- SLboolean headRelative
- );
- SLresult (*GetHeadRelative) (
- SL3DSourceItf self,
- SLboolean *pHeadRelative
- );
- SLresult (*SetRolloffDistances) (
- SL3DSourceItf self,
- SLmillimeter minDistance,
- SLmillimeter maxDistance
- );
- SLresult (*GetRolloffDistances) (
- SL3DSourceItf self,
- SLmillimeter *pMinDistance,
- SLmillimeter *pMaxDistance
- );
- SLresult (*SetRolloffMaxDistanceMute) (
- SL3DSourceItf self,
- SLboolean mute
- );
- SLresult (*GetRolloffMaxDistanceMute) (
- SL3DSourceItf self,
- SLboolean *pMute
- );
- SLresult (*SetRolloffFactor) (
- SL3DSourceItf self,
- SLpermille rolloffFactor
- );
- SLresult (*GetRolloffFactor) (
- SL3DSourceItf self,
- SLpermille *pRolloffFactor
- );
- SLresult (*SetRoomRolloffFactor) (
- SL3DSourceItf self,
- SLpermille roomRolloffFactor
- );
- SLresult (*GetRoomRolloffFactor) (
- SL3DSourceItf self,
- SLpermille *pRoomRolloffFactor
- );
- SLresult (*SetRolloffModel) (
- SL3DSourceItf self,
- SLuint8 model
- );
- SLresult (*GetRolloffModel) (
- SL3DSourceItf self,
- SLuint8 *pModel
- );
- SLresult (*SetCone) (
- SL3DSourceItf self,
- SLmillidegree innerAngle,
- SLmillidegree outerAngle,
- SLmillibel outerLevel
- );
- SLresult (*GetCone) (
- SL3DSourceItf self,
- SLmillidegree *pInnerAngle,
- SLmillidegree *pOuterAngle,
- SLmillibel *pOuterLevel
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* 3D Macroscopic Interface */
-/* --------------------------------------------------------------------------*/
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_3DMACROSCOPIC;
-
-struct SL3DMacroscopicItf_;
-typedef const struct SL3DMacroscopicItf_ * const * SL3DMacroscopicItf;
-
-struct SL3DMacroscopicItf_ {
- SLresult (*SetSize) (
- SL3DMacroscopicItf self,
- SLmillimeter width,
- SLmillimeter height,
- SLmillimeter depth
- );
- SLresult (*GetSize) (
- SL3DMacroscopicItf self,
- SLmillimeter *pWidth,
- SLmillimeter *pHeight,
- SLmillimeter *pDepth
- );
- SLresult (*SetOrientationAngles) (
- SL3DMacroscopicItf self,
- SLmillidegree heading,
- SLmillidegree pitch,
- SLmillidegree roll
- );
- SLresult (*SetOrientationVectors) (
- SL3DMacroscopicItf self,
- const SLVec3D *pFront,
- const SLVec3D *pAbove
- );
- SLresult (*Rotate) (
- SL3DMacroscopicItf self,
- SLmillidegree theta,
- const SLVec3D *pAxis
- );
- SLresult (*GetOrientationVectors) (
- SL3DMacroscopicItf self,
- SLVec3D *pFront,
- SLVec3D *pUp
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Mute Solo Interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_MUTESOLO;
-
-struct SLMuteSoloItf_;
-typedef const struct SLMuteSoloItf_ * const * SLMuteSoloItf;
-
-struct SLMuteSoloItf_ {
- SLresult (*SetChannelMute) (
- SLMuteSoloItf self,
- SLuint8 chan,
- SLboolean mute
- );
- SLresult (*GetChannelMute) (
- SLMuteSoloItf self,
- SLuint8 chan,
- SLboolean *pMute
- );
- SLresult (*SetChannelSolo) (
- SLMuteSoloItf self,
- SLuint8 chan,
- SLboolean solo
- );
- SLresult (*GetChannelSolo) (
- SLMuteSoloItf self,
- SLuint8 chan,
- SLboolean *pSolo
- );
- SLresult (*GetNumChannels) (
- SLMuteSoloItf self,
- SLuint8 *pNumChannels
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Dynamic Interface Management Interface and associated types and macros */
-/* --------------------------------------------------------------------------*/
-
-#define SL_DYNAMIC_ITF_EVENT_RUNTIME_ERROR ((SLuint32) 0x00000001)
-#define SL_DYNAMIC_ITF_EVENT_ASYNC_TERMINATION ((SLuint32) 0x00000002)
-#define SL_DYNAMIC_ITF_EVENT_RESOURCES_LOST ((SLuint32) 0x00000003)
-#define SL_DYNAMIC_ITF_EVENT_RESOURCES_LOST_PERMANENTLY ((SLuint32) 0x00000004)
-#define SL_DYNAMIC_ITF_EVENT_RESOURCES_AVAILABLE ((SLuint32) 0x00000005)
-
-
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_DYNAMICINTERFACEMANAGEMENT;
-
-struct SLDynamicInterfaceManagementItf_;
-typedef const struct SLDynamicInterfaceManagementItf_ * const * SLDynamicInterfaceManagementItf;
-
-typedef void (/*SLAPIENTRY*/ *slDynamicInterfaceManagementCallback) (
- SLDynamicInterfaceManagementItf caller,
- void * pContext,
- SLuint32 event,
- SLresult result,
- const SLInterfaceID iid
-);
-
-
-struct SLDynamicInterfaceManagementItf_ {
- SLresult (*AddInterface) (
- SLDynamicInterfaceManagementItf self,
- const SLInterfaceID iid,
- SLboolean async
- );
- SLresult (*RemoveInterface) (
- SLDynamicInterfaceManagementItf self,
- const SLInterfaceID iid
- );
- SLresult (*ResumeInterface) (
- SLDynamicInterfaceManagementItf self,
- const SLInterfaceID iid,
- SLboolean async
- );
- SLresult (*RegisterCallback) (
- SLDynamicInterfaceManagementItf self,
- slDynamicInterfaceManagementCallback callback,
- void * pContext
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Midi Message Interface and associated types */
-/* --------------------------------------------------------------------------*/
-
-#define SL_MIDIMESSAGETYPE_NOTE_ON_OFF ((SLuint32) 0x00000001)
-#define SL_MIDIMESSAGETYPE_POLY_PRESSURE ((SLuint32) 0x00000002)
-#define SL_MIDIMESSAGETYPE_CONTROL_CHANGE ((SLuint32) 0x00000003)
-#define SL_MIDIMESSAGETYPE_PROGRAM_CHANGE ((SLuint32) 0x00000004)
-#define SL_MIDIMESSAGETYPE_CHANNEL_PRESSURE ((SLuint32) 0x00000005)
-#define SL_MIDIMESSAGETYPE_PITCH_BEND ((SLuint32) 0x00000006)
-#define SL_MIDIMESSAGETYPE_SYSTEM_MESSAGE ((SLuint32) 0x00000007)
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_MIDIMESSAGE;
-
-struct SLMIDIMessageItf_;
-typedef const struct SLMIDIMessageItf_ * const * SLMIDIMessageItf;
-
-typedef void (/*SLAPIENTRY*/ *slMetaEventCallback) (
- SLMIDIMessageItf caller,
- void *pContext,
- SLuint8 type,
- SLuint32 length,
- const SLuint8 *pData,
- SLuint32 tick,
- SLuint16 track
-);
-
-typedef void (/*SLAPIENTRY*/ *slMIDIMessageCallback) (
- SLMIDIMessageItf caller,
- void *pContext,
- SLuint8 statusByte,
- SLuint32 length,
- const SLuint8 *pData,
- SLuint32 tick,
- SLuint16 track
-);
-
-struct SLMIDIMessageItf_ {
- SLresult (*SendMessage) (
- SLMIDIMessageItf self,
- const SLuint8 *data,
- SLuint32 length
- );
- SLresult (*RegisterMetaEventCallback) (
- SLMIDIMessageItf self,
- slMetaEventCallback callback,
- void *pContext
- );
- SLresult (*RegisterMIDIMessageCallback) (
- SLMIDIMessageItf self,
- slMIDIMessageCallback callback,
- void *pContext
- );
- SLresult (*AddMIDIMessageCallbackFilter) (
- SLMIDIMessageItf self,
- SLuint32 messageType
- );
- SLresult (*ClearMIDIMessageCallbackFilter) (
- SLMIDIMessageItf self
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Midi Mute Solo interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_MIDIMUTESOLO;
-
-struct SLMIDIMuteSoloItf_;
-typedef const struct SLMIDIMuteSoloItf_ * const * SLMIDIMuteSoloItf;
-
-struct SLMIDIMuteSoloItf_ {
- SLresult (*SetChannelMute) (
- SLMIDIMuteSoloItf self,
- SLuint8 channel,
- SLboolean mute
- );
- SLresult (*GetChannelMute) (
- SLMIDIMuteSoloItf self,
- SLuint8 channel,
- SLboolean *pMute
- );
- SLresult (*SetChannelSolo) (
- SLMIDIMuteSoloItf self,
- SLuint8 channel,
- SLboolean solo
- );
- SLresult (*GetChannelSolo) (
- SLMIDIMuteSoloItf self,
- SLuint8 channel,
- SLboolean *pSolo
- );
- SLresult (*GetTrackCount) (
- SLMIDIMuteSoloItf self,
- SLuint16 *pCount
- );
- SLresult (*SetTrackMute) (
- SLMIDIMuteSoloItf self,
- SLuint16 track,
- SLboolean mute
- );
- SLresult (*GetTrackMute) (
- SLMIDIMuteSoloItf self,
- SLuint16 track,
- SLboolean *pMute
- );
- SLresult (*SetTrackSolo) (
- SLMIDIMuteSoloItf self,
- SLuint16 track,
- SLboolean solo
- );
- SLresult (*GetTrackSolo) (
- SLMIDIMuteSoloItf self,
- SLuint16 track,
- SLboolean *pSolo
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Midi Tempo interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_MIDITEMPO;
-
-struct SLMIDITempoItf_;
-typedef const struct SLMIDITempoItf_ * const * SLMIDITempoItf;
-
-struct SLMIDITempoItf_ {
- SLresult (*SetTicksPerQuarterNote) (
- SLMIDITempoItf self,
- SLuint32 tpqn
- );
- SLresult (*GetTicksPerQuarterNote) (
- SLMIDITempoItf self,
- SLuint32 *pTpqn
- );
- SLresult (*SetMicrosecondsPerQuarterNote) (
- SLMIDITempoItf self,
- SLmicrosecond uspqn
- );
- SLresult (*GetMicrosecondsPerQuarterNote) (
- SLMIDITempoItf self,
- SLmicrosecond *uspqn
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Midi Time interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_MIDITIME;
-
-struct SLMIDITimeItf_;
-typedef const struct SLMIDITimeItf_ * const * SLMIDITimeItf;
-
-struct SLMIDITimeItf_ {
- SLresult (*GetDuration) (
- SLMIDITimeItf self,
- SLuint32 *pDuration
- );
- SLresult (*SetPosition) (
- SLMIDITimeItf self,
- SLuint32 position
- );
- SLresult (*GetPosition) (
- SLMIDITimeItf self,
- SLuint32 *pPosition
- );
- SLresult (*SetLoopPoints) (
- SLMIDITimeItf self,
- SLuint32 startTick,
- SLuint32 numTicks
- );
- SLresult (*GetLoopPoints) (
- SLMIDITimeItf self,
- SLuint32 *pStartTick,
- SLuint32 *pNumTicks
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Audio Decoder Capabilities Interface */
-/* --------------------------------------------------------------------------*/
-
-/*Audio Codec related defines*/
-
-#define SL_RATECONTROLMODE_CONSTANTBITRATE ((SLuint32) 0x00000001)
-#define SL_RATECONTROLMODE_VARIABLEBITRATE ((SLuint32) 0x00000002)
-
-#define SL_AUDIOCODEC_PCM ((SLuint32) 0x00000001)
-#define SL_AUDIOCODEC_MP3 ((SLuint32) 0x00000002)
-#define SL_AUDIOCODEC_AMR ((SLuint32) 0x00000003)
-#define SL_AUDIOCODEC_AMRWB ((SLuint32) 0x00000004)
-#define SL_AUDIOCODEC_AMRWBPLUS ((SLuint32) 0x00000005)
-#define SL_AUDIOCODEC_AAC ((SLuint32) 0x00000006)
-#define SL_AUDIOCODEC_WMA ((SLuint32) 0x00000007)
-#define SL_AUDIOCODEC_REAL ((SLuint32) 0x00000008)
-
-#define SL_AUDIOPROFILE_PCM ((SLuint32) 0x00000001)
-
-#define SL_AUDIOPROFILE_MPEG1_L3 ((SLuint32) 0x00000001)
-#define SL_AUDIOPROFILE_MPEG2_L3 ((SLuint32) 0x00000002)
-#define SL_AUDIOPROFILE_MPEG25_L3 ((SLuint32) 0x00000003)
-
-#define SL_AUDIOCHANMODE_MP3_MONO ((SLuint32) 0x00000001)
-#define SL_AUDIOCHANMODE_MP3_STEREO ((SLuint32) 0x00000002)
-#define SL_AUDIOCHANMODE_MP3_JOINTSTEREO ((SLuint32) 0x00000003)
-#define SL_AUDIOCHANMODE_MP3_DUAL ((SLuint32) 0x00000004)
-
-#define SL_AUDIOPROFILE_AMR ((SLuint32) 0x00000001)
-
-#define SL_AUDIOSTREAMFORMAT_CONFORMANCE ((SLuint32) 0x00000001)
-#define SL_AUDIOSTREAMFORMAT_IF1 ((SLuint32) 0x00000002)
-#define SL_AUDIOSTREAMFORMAT_IF2 ((SLuint32) 0x00000003)
-#define SL_AUDIOSTREAMFORMAT_FSF ((SLuint32) 0x00000004)
-#define SL_AUDIOSTREAMFORMAT_RTPPAYLOAD ((SLuint32) 0x00000005)
-#define SL_AUDIOSTREAMFORMAT_ITU ((SLuint32) 0x00000006)
-
-#define SL_AUDIOPROFILE_AMRWB ((SLuint32) 0x00000001)
-
-#define SL_AUDIOPROFILE_AMRWBPLUS ((SLuint32) 0x00000001)
-
-#define SL_AUDIOPROFILE_AAC_AAC ((SLuint32) 0x00000001)
-
-#define SL_AUDIOMODE_AAC_MAIN ((SLuint32) 0x00000001)
-#define SL_AUDIOMODE_AAC_LC ((SLuint32) 0x00000002)
-#define SL_AUDIOMODE_AAC_SSR ((SLuint32) 0x00000003)
-#define SL_AUDIOMODE_AAC_LTP ((SLuint32) 0x00000004)
-#define SL_AUDIOMODE_AAC_HE ((SLuint32) 0x00000005)
-#define SL_AUDIOMODE_AAC_SCALABLE ((SLuint32) 0x00000006)
-#define SL_AUDIOMODE_AAC_ERLC ((SLuint32) 0x00000007)
-#define SL_AUDIOMODE_AAC_LD ((SLuint32) 0x00000008)
-#define SL_AUDIOMODE_AAC_HE_PS ((SLuint32) 0x00000009)
-#define SL_AUDIOMODE_AAC_HE_MPS ((SLuint32) 0x0000000A)
-
-#define SL_AUDIOSTREAMFORMAT_MP2ADTS ((SLuint32) 0x00000001)
-#define SL_AUDIOSTREAMFORMAT_MP4ADTS ((SLuint32) 0x00000002)
-#define SL_AUDIOSTREAMFORMAT_MP4LOAS ((SLuint32) 0x00000003)
-#define SL_AUDIOSTREAMFORMAT_MP4LATM ((SLuint32) 0x00000004)
-#define SL_AUDIOSTREAMFORMAT_ADIF ((SLuint32) 0x00000005)
-#define SL_AUDIOSTREAMFORMAT_MP4FF ((SLuint32) 0x00000006)
-#define SL_AUDIOSTREAMFORMAT_RAW ((SLuint32) 0x00000007)
-
-#define SL_AUDIOPROFILE_WMA7 ((SLuint32) 0x00000001)
-#define SL_AUDIOPROFILE_WMA8 ((SLuint32) 0x00000002)
-#define SL_AUDIOPROFILE_WMA9 ((SLuint32) 0x00000003)
-#define SL_AUDIOPROFILE_WMA10 ((SLuint32) 0x00000004)
-
-#define SL_AUDIOMODE_WMA_LEVEL1 ((SLuint32) 0x00000001)
-#define SL_AUDIOMODE_WMA_LEVEL2 ((SLuint32) 0x00000002)
-#define SL_AUDIOMODE_WMA_LEVEL3 ((SLuint32) 0x00000003)
-#define SL_AUDIOMODE_WMA_LEVEL4 ((SLuint32) 0x00000004)
-#define SL_AUDIOMODE_WMAPRO_LEVELM0 ((SLuint32) 0x00000005)
-#define SL_AUDIOMODE_WMAPRO_LEVELM1 ((SLuint32) 0x00000006)
-#define SL_AUDIOMODE_WMAPRO_LEVELM2 ((SLuint32) 0x00000007)
-#define SL_AUDIOMODE_WMAPRO_LEVELM3 ((SLuint32) 0x00000008)
-
-#define SL_AUDIOPROFILE_REALAUDIO ((SLuint32) 0x00000001)
-
-#define SL_AUDIOMODE_REALAUDIO_G2 ((SLuint32) 0x00000001)
-#define SL_AUDIOMODE_REALAUDIO_8 ((SLuint32) 0x00000002)
-#define SL_AUDIOMODE_REALAUDIO_10 ((SLuint32) 0x00000003)
-#define SL_AUDIOMODE_REALAUDIO_SURROUND ((SLuint32) 0x00000004)
-
-typedef struct SLAudioCodecDescriptor_ {
- SLuint32 maxChannels;
- SLuint32 minBitsPerSample;
- SLuint32 maxBitsPerSample;
- SLmilliHertz minSampleRate;
- SLmilliHertz maxSampleRate;
- SLboolean isFreqRangeContinuous;
- SLmilliHertz *pSampleRatesSupported;
- SLuint32 numSampleRatesSupported;
- SLuint32 minBitRate;
- SLuint32 maxBitRate;
- SLboolean isBitrateRangeContinuous;
- SLuint32 *pBitratesSupported;
- SLuint32 numBitratesSupported;
- SLuint32 profileSetting;
- SLuint32 modeSetting;
-} SLAudioCodecDescriptor;
-
-/*Structure used to retrieve the profile and level settings supported by an audio encoder */
-
-typedef struct SLAudioCodecProfileMode_ {
- SLuint32 profileSetting;
- SLuint32 modeSetting;
-} SLAudioCodecProfileMode;
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_AUDIODECODERCAPABILITIES;
-
-struct SLAudioDecoderCapabilitiesItf_;
-typedef const struct SLAudioDecoderCapabilitiesItf_ * const * SLAudioDecoderCapabilitiesItf;
-
-struct SLAudioDecoderCapabilitiesItf_ {
- SLresult (*GetAudioDecoders) (
- SLAudioDecoderCapabilitiesItf self,
- SLuint32 * pNumDecoders ,
- SLuint32 *pDecoderIds
- );
- SLresult (*GetAudioDecoderCapabilities) (
- SLAudioDecoderCapabilitiesItf self,
- SLuint32 decoderId,
- SLuint32 *pIndex,
- SLAudioCodecDescriptor *pDescriptor
- );
-};
-
-
-
-
-/*---------------------------------------------------------------------------*/
-/* Audio Encoder Capabilities Interface */
-/* --------------------------------------------------------------------------*/
-
-/* Structure used when setting audio encoding parameters */
-
-typedef struct SLAudioEncoderSettings_ {
- SLuint32 encoderId;
- SLuint32 channelsIn;
- SLuint32 channelsOut;
- SLmilliHertz sampleRate;
- SLuint32 bitRate;
- SLuint32 bitsPerSample;
- SLuint32 rateControl;
- SLuint32 profileSetting;
- SLuint32 levelSetting;
- SLuint32 channelMode;
- SLuint32 streamFormat;
- SLuint32 encodeOptions;
- SLuint32 blockAlignment;
-} SLAudioEncoderSettings;
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_AUDIOENCODERCAPABILITIES;
-
-struct SLAudioEncoderCapabilitiesItf_;
-typedef const struct SLAudioEncoderCapabilitiesItf_ * const * SLAudioEncoderCapabilitiesItf;
-
-struct SLAudioEncoderCapabilitiesItf_ {
- SLresult (*GetAudioEncoders) (
- SLAudioEncoderCapabilitiesItf self,
- SLuint32 *pNumEncoders ,
- SLuint32 *pEncoderIds
- );
- SLresult (*GetAudioEncoderCapabilities) (
- SLAudioEncoderCapabilitiesItf self,
- SLuint32 encoderId,
- SLuint32 *pIndex,
- SLAudioCodecDescriptor * pDescriptor
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Audio Encoder Interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_AUDIOENCODER;
-
-struct SLAudioEncoderItf_;
-typedef const struct SLAudioEncoderItf_ * const * SLAudioEncoderItf;
-
-struct SLAudioEncoderItf_ {
- SLresult (*SetEncoderSettings) (
- SLAudioEncoderItf self,
- SLAudioEncoderSettings *pSettings
- );
- SLresult (*GetEncoderSettings) (
- SLAudioEncoderItf self,
- SLAudioEncoderSettings *pSettings
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Bass Boost Interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_BASSBOOST;
-
-struct SLBassBoostItf_;
-typedef const struct SLBassBoostItf_ * const * SLBassBoostItf;
-
-struct SLBassBoostItf_ {
- SLresult (*SetEnabled)(
- SLBassBoostItf self,
- SLboolean enabled
- );
- SLresult (*IsEnabled)(
- SLBassBoostItf self,
- SLboolean *pEnabled
- );
- SLresult (*SetStrength)(
- SLBassBoostItf self,
- SLpermille strength
- );
- SLresult (*GetRoundedStrength)(
- SLBassBoostItf self,
- SLpermille *pStrength
- );
- SLresult (*IsStrengthSupported)(
- SLBassBoostItf self,
- SLboolean *pSupported
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Pitch Interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_PITCH;
-
-struct SLPitchItf_;
-typedef const struct SLPitchItf_ * const * SLPitchItf;
-
-struct SLPitchItf_ {
- SLresult (*SetPitch) (
- SLPitchItf self,
- SLpermille pitch
- );
- SLresult (*GetPitch) (
- SLPitchItf self,
- SLpermille *pPitch
- );
- SLresult (*GetPitchCapabilities) (
- SLPitchItf self,
- SLpermille *pMinPitch,
- SLpermille *pMaxPitch
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Rate Pitch Interface */
-/* RatePitchItf is an interface for controlling the rate a sound is played */
-/* back. A change in rate will cause a change in pitch. */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_RATEPITCH;
-
-struct SLRatePitchItf_;
-typedef const struct SLRatePitchItf_ * const * SLRatePitchItf;
-
-struct SLRatePitchItf_ {
- SLresult (*SetRate) (
- SLRatePitchItf self,
- SLpermille rate
- );
- SLresult (*GetRate) (
- SLRatePitchItf self,
- SLpermille *pRate
- );
- SLresult (*GetRatePitchCapabilities) (
- SLRatePitchItf self,
- SLpermille *pMinRate,
- SLpermille *pMaxRate
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Virtualizer Interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_VIRTUALIZER;
-
-struct SLVirtualizerItf_;
-typedef const struct SLVirtualizerItf_ * const * SLVirtualizerItf;
-
-struct SLVirtualizerItf_ {
- SLresult (*SetEnabled)(
- SLVirtualizerItf self,
- SLboolean enabled
- );
- SLresult (*IsEnabled)(
- SLVirtualizerItf self,
- SLboolean *pEnabled
- );
- SLresult (*SetStrength)(
- SLVirtualizerItf self,
- SLpermille strength
- );
- SLresult (*GetRoundedStrength)(
- SLVirtualizerItf self,
- SLpermille *pStrength
- );
- SLresult (*IsStrengthSupported)(
- SLVirtualizerItf self,
- SLboolean *pSupported
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Visualization Interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_VISUALIZATION;
-
-struct SLVisualizationItf_;
-typedef const struct SLVisualizationItf_ * const * SLVisualizationItf;
-
-typedef void (/*SLAPIENTRY*/ *slVisualizationCallback) (
- void *pContext,
- const SLuint8 waveform[],
- const SLuint8 fft[],
- SLmilliHertz samplerate
-);
-
-struct SLVisualizationItf_{
- SLresult (*RegisterVisualizationCallback)(
- SLVisualizationItf self,
- slVisualizationCallback callback,
- void *pContext,
- SLmilliHertz rate
- );
- SLresult (*GetMaxRate)(
- SLVisualizationItf self,
- SLmilliHertz* pRate
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Engine Interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_ENGINE;
-
-struct SLEngineItf_;
-typedef const struct SLEngineItf_ * const * SLEngineItf;
-
-
-struct SLEngineItf_ {
-
- SLresult (*CreateLEDDevice) (
- SLEngineItf self,
- SLObjectItf * pDevice,
- SLuint32 deviceID,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*CreateVibraDevice) (
- SLEngineItf self,
- SLObjectItf * pDevice,
- SLuint32 deviceID,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*CreateAudioPlayer) (
- SLEngineItf self,
- SLObjectItf * pPlayer,
- SLDataSource *pAudioSrc,
- SLDataSink *pAudioSnk,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*CreateAudioRecorder) (
- SLEngineItf self,
- SLObjectItf * pRecorder,
- SLDataSource *pAudioSrc,
- SLDataSink *pAudioSnk,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*CreateMidiPlayer) (
- SLEngineItf self,
- SLObjectItf * pPlayer,
- SLDataSource *pMIDISrc,
- SLDataSource *pBankSrc,
- SLDataSink *pAudioOutput,
- SLDataSink *pVibra,
- SLDataSink *pLEDArray,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*CreateListener) (
- SLEngineItf self,
- SLObjectItf * pListener,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*Create3DGroup) (
- SLEngineItf self,
- SLObjectItf * pGroup,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*CreateOutputMix) (
- SLEngineItf self,
- SLObjectItf * pMix,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*CreateMetadataExtractor) (
- SLEngineItf self,
- SLObjectItf * pMetadataExtractor,
- SLDataSource * pDataSource,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*CreateExtensionObject) (
- SLEngineItf self,
- SLObjectItf * pObject,
- void * pParameters,
- SLuint32 objectID,
- SLuint32 numInterfaces,
- const SLInterfaceID * pInterfaceIds,
- const SLboolean * pInterfaceRequired
- );
- SLresult (*QueryNumSupportedInterfaces) (
- SLEngineItf self,
- SLuint32 objectID,
- SLuint32 * pNumSupportedInterfaces
- );
- SLresult (*QuerySupportedInterfaces) (
- SLEngineItf self,
- SLuint32 objectID,
- SLuint32 index,
- SLInterfaceID * pInterfaceId
- );
- SLresult (*QueryNumSupportedExtensions) (
- SLEngineItf self,
- SLuint32 * pNumExtensions
- );
- SLresult (*QuerySupportedExtension) (
- SLEngineItf self,
- SLuint32 index,
- SLchar * pExtensionName,
- SLint16 * pNameLength
- );
- SLresult (*IsExtensionSupported) (
- SLEngineItf self,
- const SLchar * pExtensionName,
- SLboolean * pSupported
- );
-};
-
-
-/*---------------------------------------------------------------------------*/
-/* Engine Capabilities Interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_ENGINECAPABILITIES;
-
-struct SLEngineCapabilitiesItf_;
-typedef const struct SLEngineCapabilitiesItf_ * const * SLEngineCapabilitiesItf;
-
-struct SLEngineCapabilitiesItf_ {
- SLresult (*QuerySupportedProfiles) (
- SLEngineCapabilitiesItf self,
- SLuint16 *pProfilesSupported
- );
- SLresult (*QueryAvailableVoices) (
- SLEngineCapabilitiesItf self,
- SLuint16 voiceType,
- SLint16 *pNumMaxVoices,
- SLboolean *pIsAbsoluteMax,
- SLint16 *pNumFreeVoices
- );
- SLresult (*QueryNumberOfMIDISynthesizers) (
- SLEngineCapabilitiesItf self,
- SLint16 *pNumMIDIsynthesizers
- );
- SLresult (*QueryAPIVersion) (
- SLEngineCapabilitiesItf self,
- SLint16 *pMajor,
- SLint16 *pMinor,
- SLint16 *pStep
- );
- SLresult (*QueryLEDCapabilities) (
- SLEngineCapabilitiesItf self,
- SLuint32 *pIndex,
- SLuint32 *pLEDDeviceID,
- SLLEDDescriptor *pDescriptor
- );
- SLresult (*QueryVibraCapabilities) (
- SLEngineCapabilitiesItf self,
- SLuint32 *pIndex,
- SLuint32 *pVibraDeviceID,
- SLVibraDescriptor *pDescriptor
- );
- SLresult (*IsThreadSafe) (
- SLEngineCapabilitiesItf self,
- SLboolean *pIsThreadSafe
- );
-};
-
-/*---------------------------------------------------------------------------*/
-/* Thread Sync Interface */
-/* --------------------------------------------------------------------------*/
-
-
-extern SLAPIENTRY const SLInterfaceID SL_IID_THREADSYNC;
-
-struct SLThreadSyncItf_;
-typedef const struct SLThreadSyncItf_ * const * SLThreadSyncItf;
-
-
-struct SLThreadSyncItf_ {
- SLresult (*EnterCriticalSection) (
- SLThreadSyncItf self
- );
- SLresult (*ExitCriticalSection) (
- SLThreadSyncItf self
- );
-};
-
-
-/*****************************************************************************/
-/* SL engine constructor */
-/*****************************************************************************/
-
-#define SL_ENGINEOPTION_THREADSAFE ((SLuint32) 0x00000001)
-#define SL_ENGINEOPTION_LOSSOFCONTROL ((SLuint32) 0x00000002)
-
-typedef struct SLEngineOption_ {
- SLuint32 feature;
- SLuint32 data;
-} SLEngineOption;
-
-
-SLresult SLAPIENTRY slCreateEngine(
- SLObjectItf *pEngine,
- SLuint32 numOptions,
- const SLEngineOption *pEngineOptions,
- SLuint32 numInterfaces,
- const SLInterfaceID *pInterfaceIds,
- const SLboolean * pInterfaceRequired
-);
-
-SLresult SLAPIENTRY slQueryNumSupportedEngineInterfaces(
- SLuint32 * pNumSupportedInterfaces
-);
-
-SLresult SLAPIENTRY slQuerySupportedEngineInterfaces(
- SLuint32 index,
- SLInterfaceID * pInterfaceId
-);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* OPENSL_ES_H_ */