OpenSLES_Android.h revision 42309377d1ed17b557fab30f1bf26b8ba31a96fd
105ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/* 205ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * Copyright (C) 2010 The Android Open Source Project 305ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * 405ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * Licensed under the Apache License, Version 2.0 (the "License"); 505ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * you may not use this file except in compliance with the License. 605ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * You may obtain a copy of the License at 705ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * 805ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * http://www.apache.org/licenses/LICENSE-2.0 905ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * 1005ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * Unless required by applicable law or agreed to in writing, software 1105ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * distributed under the License is distributed on an "AS IS" BASIS, 1205ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1305ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * See the License for the specific language governing permissions and 1405ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi * limitations under the License. 1505ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi */ 1605ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 1705ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#ifndef OPENSL_ES_ANDROID_H_ 1805ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#define OPENSL_ES_ANDROID_H_ 1905ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 2005ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#ifdef __cplusplus 2105ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Triviextern "C" { 2205ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 2305ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/*---------------------------------------------------------------------------*/ 24989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi/* Android common types */ 25989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi/*---------------------------------------------------------------------------*/ 26989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi 27989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivitypedef sl_int64_t SLAint64; /* 64 bit signed integer */ 28989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi 29989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi 30989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi/*---------------------------------------------------------------------------*/ 3105ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/* Android Stream Type interface */ 3205ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/*---------------------------------------------------------------------------*/ 3305ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 3405ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/** Stream types */ 3505ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi// FIXME verify those are all the ones we need 3605ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi// FIXME verify we want to use the same values as in android::AudioSystem 3705ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/* same as android.media.AudioManager.STREAM_VOICE_CALL */ 3805ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#define SL_ANDROID_STREAM_VOICE ((SLuint32) 0x00000000) 3905ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/* same as android.media.AudioManager.STREAM_SYSTEM */ 4005ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#define SL_ANDROID_STREAM_SYSTEM ((SLuint32) 0x00000001) 4105ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/* same as android.media.AudioManager.STREAM_RING */ 4205ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#define SL_ANDROID_STREAM_RING ((SLuint32) 0x00000002) 4305ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/* same as android.media.AudioManager.STREAM_MUSIC */ 4405ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#define SL_ANDROID_STREAM_MEDIA ((SLuint32) 0x00000003) 4505ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/* same as android.media.AudioManager.STREAM_ALARM */ 4605ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#define SL_ANDROID_STREAM_ALARM ((SLuint32) 0x00000004) 4705ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/* same as android.media.AudioManager.STREAM_NOTIFICATION */ 4805ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#define SL_ANDROID_STREAM_NOTIFICATION ((SLuint32) 0x00000005) 4905ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 5005ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 5105ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Triviextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDSTREAMTYPE; 5205ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 5305ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi/** Android Stream Type interface methods */ 5405ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 5505ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivistruct SLAndroidStreamTypeItf_; 5605ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivitypedef const struct SLAndroidStreamTypeItf_ * const * SLAndroidStreamTypeItf; 5705ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 5805ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivistruct SLAndroidStreamTypeItf_ { 5905ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi SLresult (*SetStreamType) ( 6005ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi SLAndroidStreamTypeItf self, 6105ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi SLuint32 type 6205ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi ); 6305ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi SLresult (*GetStreamType) ( 6405ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi SLAndroidStreamTypeItf self, 6505ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi SLuint32 *pType 6605ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi ); 6705ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi}; 6805ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 6967bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 7067bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi/*---------------------------------------------------------------------------*/ 7167bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi/* Android Effect interface */ 7267bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi/*---------------------------------------------------------------------------*/ 7367bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 745b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Triviextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDEFFECT; 7567bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 7667bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi/** Android Effect interface methods */ 7767bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 785b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivistruct SLAndroidEffectItf_; 795b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivitypedef const struct SLAndroidEffectItf_ * const * SLAndroidEffectItf; 8067bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 815b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivistruct SLAndroidEffectItf_ { 8267bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 835b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLresult (*CreateEffect) (SLAndroidEffectItf self, 84fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLInterfaceID effectImplementationId); 8567bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 865b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLresult (*ReleaseEffect) (SLAndroidEffectItf self, 87fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLInterfaceID effectImplementationId); 8867bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 895b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLresult (*SetEnabled) (SLAndroidEffectItf self, 90fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLInterfaceID effectImplementationId, 915b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLboolean enabled); 9267bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 935b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLresult (*IsEnabled) (SLAndroidEffectItf self, 94fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLInterfaceID effectImplementationId, 955b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLboolean *pEnabled); 9667bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 975b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLresult (*SendCommand) (SLAndroidEffectItf self, 98fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLInterfaceID effectImplementationId, 995b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLuint32 command, 1005b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLuint32 commandSize, 1015b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi void *pCommandData, 1025b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLuint32 *replySize, 1035b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi void *pReplyData); 1045b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi}; 1055b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi 1065b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi 1075b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi/*---------------------------------------------------------------------------*/ 108884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi/* Android Effect Send interface */ 109884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi/*---------------------------------------------------------------------------*/ 110884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi 111884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Triviextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDEFFECTSEND; 112884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi 113884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi/** Android Effect Send interface methods */ 114884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi 115884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivistruct SLAndroidEffectSendItf_; 116884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivitypedef const struct SLAndroidEffectSendItf_ * const * SLAndroidEffectSendItf; 117884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi 118884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivistruct SLAndroidEffectSendItf_ { 119884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLresult (*EnableEffectSend) ( 120fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLAndroidEffectSendItf self, 121fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLInterfaceID effectImplementationId, 122884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLboolean enable, 123884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLmillibel initialLevel 124884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi ); 125884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLresult (*IsEnabled) ( 126fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLAndroidEffectSendItf self, 127fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLInterfaceID effectImplementationId, 128884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLboolean *pEnable 129884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi ); 130884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLresult (*SetDirectLevel) ( 131fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLAndroidEffectSendItf self, 132884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLmillibel directLevel 133884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi ); 134884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLresult (*GetDirectLevel) ( 135fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLAndroidEffectSendItf self, 136884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLmillibel *pDirectLevel 137884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi ); 138884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLresult (*SetSendLevel) ( 139fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLAndroidEffectSendItf self, 140fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLInterfaceID effectImplementationId, 141884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLmillibel sendLevel 142884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi ); 143884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLresult (*GetSendLevel)( 144fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLAndroidEffectSendItf self, 145fef6033d852daec8d88060b252e72f322724dca1Jean-Michel Trivi SLInterfaceID effectImplementationId, 146884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi SLmillibel *pSendLevel 147884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi ); 148884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi}; 149884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi 150884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi 151884ed8e6ccaf395f7b57e1cf16c2779c651eb800Jean-Michel Trivi/*---------------------------------------------------------------------------*/ 1525b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi/* Android Effect Capabilities interface */ 1535b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi/*---------------------------------------------------------------------------*/ 1545b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi 1555b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Triviextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDEFFECTCAPABILITIES; 1565b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi 1575b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi/** Android Effect Capabilities interface methods */ 1585b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi 1595b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivistruct SLAndroidEffectCapabilitiesItf_; 1605b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivitypedef const struct SLAndroidEffectCapabilitiesItf_ * const * SLAndroidEffectCapabilitiesItf; 1615b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi 1625b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivistruct SLAndroidEffectCapabilitiesItf_ { 1635b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi 1645b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLresult (*QueryNumEffects) (SLAndroidEffectCapabilitiesItf self, 1655b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLuint32 *pNumSupportedEffects); 16667bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 16767bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 1685b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLresult (*QueryEffect) (SLAndroidEffectCapabilitiesItf self, 1695b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLuint32 index, 1705b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLInterfaceID *pEffectType, 1715b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLInterfaceID *pEffectImplementation, 1725b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi const SLchar *pName, 1735b09aa864215690580b18eb802927e8cc7eb4861Jean-Michel Trivi SLuint16 *pNameSize); 17467bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi}; 17567bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 17667bdf8a2fbd1024ab50c4513e1504325475368e0Jean-Michel Trivi 177989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi/*---------------------------------------------------------------------------*/ 17842309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi/* Android Configuration interface */ 17942309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi/*---------------------------------------------------------------------------*/ 18042309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Triviextern SLAPIENTRY const SLInterfaceID SL_IID_ANDROIDCONFIGURATION; 18142309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi 18242309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi/** Android Configuration interface methods */ 18342309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi 18442309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivistruct SLAndroidConfigurationItf_; 18542309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivitypedef const struct SLAndroidConfigurationItf_ * const * SLAndroidConfigurationItf; 18642309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi 18742309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivistruct SLAndroidConfigurationItf_ { 18842309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi 18942309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi SLresult (*SetConfiguration) (SLAndroidConfigurationItf self, 19042309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi const SLchar *configKey, 19142309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi const void *pConfigValue, 19242309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi SLuint32 valueSize); 19342309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi 19442309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi SLresult (*GetConfiguration) (SLAndroidConfigurationItf self, 19542309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi const SLchar *configKey, 19642309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi SLuint32 *pValueSize, 19742309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi void *pConfigValue 19842309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi ); 19942309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi}; 20042309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi 20142309377d1ed17b557fab30f1bf26b8ba31a96fdJean-Michel Trivi/*---------------------------------------------------------------------------*/ 202989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi/* Android File Descriptor Data Locator */ 203989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi/*---------------------------------------------------------------------------*/ 204989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi/** Addendum to Data locator macros */ 205989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi#define SL_DATALOCATOR_ANDROIDFD ((SLuint32) 0x00000009) 206989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi 2076c7bd2eda0843708a8f36773b13716ba479dd6fbJean-Michel Trivi#define SL_DATALOCATOR_ANDROIDFD_USE_FILE_SIZE ((SLAint64) 0xFFFFFFFFFFFFFFFFll) 208989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi 209989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi/** File Descriptor-based data locator definition where locatorType must be SL_DATALOCATOR_ANDROIDFD */ 210989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivitypedef struct SLDataLocator_AndroidFD_ { 211989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi SLuint32 locatorType; 212989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi SLint32 fd; 213989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi SLAint64 offset; 214989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi SLAint64 length; 215989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi} SLDataLocator_AndroidFD; 216989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi 217989ab369777ef514ac3ba6cdb893de9ae0c976bcJean-Michel Trivi 21805ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi} 21905ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#endif /* __cplusplus */ 22005ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi 22105ccff2aaa3e1507cdc7ab3b244c973c6708e009Jean-Michel Trivi#endif /* OPENSL_ES_ANDROID_H_ */ 222