151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/* 251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * Copyright (C) 2010 The Android Open Source Project 351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * 451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * Licensed under the Apache License, Version 2.0 (the "License"); 551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * you may not use this file except in compliance with the License. 651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * You may obtain a copy of the License at 751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * 851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * http://www.apache.org/licenses/LICENSE-2.0 951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * 1051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * Unless required by applicable law or agreed to in writing, software 1151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * distributed under the License is distributed on an "AS IS" BASIS, 1251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * See the License for the specific language governing permissions and 1451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner * limitations under the License. 1551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner */ 1651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 1751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#ifndef OPENSL_ES_ANDROID_H_ 1851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#define OPENSL_ES_ANDROID_H_ 1951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 2051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#ifdef __cplusplus 2151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerextern "C" { 2251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#endif 2351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 2451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 2551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/* Android common types */ 2651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 2751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 2851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef sl_int64_t SLAint64; /* 64 bit signed integer */ 2951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 3051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 3151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 3251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/* Android Effect interface */ 3351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 3451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 3551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDEFFECT; 3651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 3751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/** Android Effect interface methods */ 3851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 3951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidEffectItf_; 4051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef const struct SLAndroidEffectItf_ * const * SLAndroidEffectItf; 4151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 4251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidEffectItf_ { 4351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 4451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*CreateEffect) (SLAndroidEffectItf self, 4551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID effectImplementationId); 4651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 4751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*ReleaseEffect) (SLAndroidEffectItf self, 4851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID effectImplementationId); 4951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 5051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*SetEnabled) (SLAndroidEffectItf self, 5151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID effectImplementationId, 5251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLboolean enabled); 5351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 5451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*IsEnabled) (SLAndroidEffectItf self, 5551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID effectImplementationId, 5651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLboolean *pEnabled); 5751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 5851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*SendCommand) (SLAndroidEffectItf self, 5951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID effectImplementationId, 6051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 command, 6151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 commandSize, 6251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner void *pCommandData, 6351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 *replySize, 6451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner void *pReplyData); 6551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner}; 6651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 6751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 6851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 6951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/* Android Effect Send interface */ 7051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 7151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 7251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDEFFECTSEND; 7351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 7451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/** Android Effect Send interface methods */ 7551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 7651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidEffectSendItf_; 7751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef const struct SLAndroidEffectSendItf_ * const * SLAndroidEffectSendItf; 7851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 7951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidEffectSendItf_ { 8051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*EnableEffectSend) ( 8151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidEffectSendItf self, 8251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID effectImplementationId, 8351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLboolean enable, 8451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLmillibel initialLevel 8551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 8651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*IsEnabled) ( 8751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidEffectSendItf self, 8851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID effectImplementationId, 8951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLboolean *pEnable 9051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 9151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*SetDirectLevel) ( 9251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidEffectSendItf self, 9351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLmillibel directLevel 9451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 9551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*GetDirectLevel) ( 9651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidEffectSendItf self, 9751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLmillibel *pDirectLevel 9851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 9951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*SetSendLevel) ( 10051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidEffectSendItf self, 10151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID effectImplementationId, 10251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLmillibel sendLevel 10351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 10451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*GetSendLevel)( 10551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidEffectSendItf self, 10651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID effectImplementationId, 10751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLmillibel *pSendLevel 10851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 10951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner}; 11051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 11151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 11251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 11351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/* Android Effect Capabilities interface */ 11451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 11551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 11651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDEFFECTCAPABILITIES; 11751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 11851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/** Android Effect Capabilities interface methods */ 11951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 12051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidEffectCapabilitiesItf_; 12151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef const struct SLAndroidEffectCapabilitiesItf_ * const * SLAndroidEffectCapabilitiesItf; 12251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 12351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidEffectCapabilitiesItf_ { 12451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 12551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*QueryNumEffects) (SLAndroidEffectCapabilitiesItf self, 12651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 *pNumSupportedEffects); 12751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 12851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 12951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*QueryEffect) (SLAndroidEffectCapabilitiesItf self, 13051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 index, 13151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID *pEffectType, 13251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLInterfaceID *pEffectImplementation, 13351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLchar *pName, 13451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint16 *pNameSize); 13551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner}; 13651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 13751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 13851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 13951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/* Android Configuration interface */ 14051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 14151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDCONFIGURATION; 14251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 14351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/** Android Configuration interface methods */ 14451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 14551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidConfigurationItf_; 14651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef const struct SLAndroidConfigurationItf_ * const * SLAndroidConfigurationItf; 14751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 14851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidConfigurationItf_ { 14951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 15051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*SetConfiguration) (SLAndroidConfigurationItf self, 15151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner const SLchar *configKey, 15251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner const void *pConfigValue, 15351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 valueSize); 15451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 15551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*GetConfiguration) (SLAndroidConfigurationItf self, 15651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner const SLchar *configKey, 15751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 *pValueSize, 15851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner void *pConfigValue 15951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 16051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner}; 16151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 16251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 16351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 16451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/* Android Simple Buffer Queue Interface */ 16551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 16651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 16751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDSIMPLEBUFFERQUEUE; 16851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 16951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidSimpleBufferQueueItf_; 17051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef const struct SLAndroidSimpleBufferQueueItf_ * const * SLAndroidSimpleBufferQueueItf; 17151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 17251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef void (/*SLAPIENTRY*/ *slAndroidSimpleBufferQueueCallback)( 17351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidSimpleBufferQueueItf caller, 17451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner void *pContext 17551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner); 17651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 17751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/** Android simple buffer queue state **/ 17851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 17951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef struct SLAndroidSimpleBufferQueueState_ { 18051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 count; 18151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 index; 18251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner} SLAndroidSimpleBufferQueueState; 18351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 18451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 18551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnerstruct SLAndroidSimpleBufferQueueItf_ { 18651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*Enqueue) ( 18751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidSimpleBufferQueueItf self, 18851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner const void *pBuffer, 18951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 size 19051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 19151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*Clear) ( 19251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidSimpleBufferQueueItf self 19351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 19451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*GetState) ( 19551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidSimpleBufferQueueItf self, 19651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidSimpleBufferQueueState *pState 19751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 19851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLresult (*RegisterCallback) ( 19951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAndroidSimpleBufferQueueItf self, 20051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner slAndroidSimpleBufferQueueCallback callback, 20151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner void* pContext 20251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner ); 20351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner}; 20451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 20551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 20651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 20751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/* Android File Descriptor Data Locator */ 20851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 20951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 21051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/** Addendum to Data locator macros */ 21151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#define SL_DATALOCATOR_ANDROIDFD ((SLuint32) 0x800007BC) 21251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 21351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#define SL_DATALOCATOR_ANDROIDFD_USE_FILE_SIZE ((SLAint64) 0xFFFFFFFFFFFFFFFFll) 21451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 21551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/** File Descriptor-based data locator definition, locatorType must be SL_DATALOCATOR_ANDROIDFD */ 21651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef struct SLDataLocator_AndroidFD_ { 21751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 locatorType; 21851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLint32 fd; 21951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAint64 offset; 22051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLAint64 length; 22151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner} SLDataLocator_AndroidFD; 22251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 22351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 22451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 22551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/* Android Android Simple Buffer Queue Data Locator */ 22651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/*---------------------------------------------------------------------------*/ 22751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 22851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/** Addendum to Data locator macros */ 22951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#define SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE ((SLuint32) 0x800007BD) 23051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 23151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner/** BufferQueue-based data locator definition where locatorType must be SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE*/ 23251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turnertypedef struct SLDataLocator_AndroidSimpleBufferQueue { 23351bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 locatorType; 23451bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner SLuint32 numBuffers; 23551bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner} SLDataLocator_AndroidSimpleBufferQueue; 23651bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 23751bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 23851bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#ifdef __cplusplus 23951bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner} 24051bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#endif /* __cplusplus */ 24151bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner 24251bcfb7110789145b852387066decaa86baeb4e1David 'Digit' Turner#endif /* OPENSL_ES_ANDROID_H_ */ 243