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