summaryrefslogtreecommitdiffstats
path: root/9/platforms/android-18/arch-mips/usr/include/SLES/OpenSLES_Android.h
diff options
context:
space:
mode:
Diffstat (limited to '9/platforms/android-18/arch-mips/usr/include/SLES/OpenSLES_Android.h')
-rw-r--r--9/platforms/android-18/arch-mips/usr/include/SLES/OpenSLES_Android.h349
1 files changed, 349 insertions, 0 deletions
diff --git a/9/platforms/android-18/arch-mips/usr/include/SLES/OpenSLES_Android.h b/9/platforms/android-18/arch-mips/usr/include/SLES/OpenSLES_Android.h
new file mode 100644
index 0000000..f295518
--- /dev/null
+++ b/9/platforms/android-18/arch-mips/usr/include/SLES/OpenSLES_Android.h
@@ -0,0 +1,349 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef OPENSL_ES_ANDROID_H_
+#define OPENSL_ES_ANDROID_H_
+
+#include "OpenSLES_AndroidConfiguration.h"
+#include "OpenSLES_AndroidMetadata.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*---------------------------------------------------------------------------*/
+/* Android common types */
+/*---------------------------------------------------------------------------*/
+
+typedef sl_int64_t SLAint64; /* 64 bit signed integer */
+
+typedef sl_uint64_t SLAuint64; /* 64 bit unsigned integer */
+
+/*---------------------------------------------------------------------------*/
+/* Android Effect interface */
+/*---------------------------------------------------------------------------*/
+
+extern SL_API const SLInterfaceID SL_IID_ANDROIDEFFECT;
+
+/** Android Effect interface methods */
+
+struct SLAndroidEffectItf_;
+typedef const struct SLAndroidEffectItf_ * const * SLAndroidEffectItf;
+
+struct SLAndroidEffectItf_ {
+
+ SLresult (*CreateEffect) (SLAndroidEffectItf self,
+ SLInterfaceID effectImplementationId);
+
+ SLresult (*ReleaseEffect) (SLAndroidEffectItf self,
+ SLInterfaceID effectImplementationId);
+
+ SLresult (*SetEnabled) (SLAndroidEffectItf self,
+ SLInterfaceID effectImplementationId,
+ SLboolean enabled);
+
+ SLresult (*IsEnabled) (SLAndroidEffectItf self,
+ SLInterfaceID effectImplementationId,
+ SLboolean *pEnabled);
+
+ SLresult (*SendCommand) (SLAndroidEffectItf self,
+ SLInterfaceID effectImplementationId,
+ SLuint32 command,
+ SLuint32 commandSize,
+ void *pCommandData,
+ SLuint32 *replySize,
+ void *pReplyData);
+};
+
+
+/*---------------------------------------------------------------------------*/
+/* Android Effect Send interface */
+/*---------------------------------------------------------------------------*/
+
+extern SL_API const SLInterfaceID SL_IID_ANDROIDEFFECTSEND;
+
+/** Android Effect Send interface methods */
+
+struct SLAndroidEffectSendItf_;
+typedef const struct SLAndroidEffectSendItf_ * const * SLAndroidEffectSendItf;
+
+struct SLAndroidEffectSendItf_ {
+ SLresult (*EnableEffectSend) (
+ SLAndroidEffectSendItf self,
+ SLInterfaceID effectImplementationId,
+ SLboolean enable,
+ SLmillibel initialLevel
+ );
+ SLresult (*IsEnabled) (
+ SLAndroidEffectSendItf self,
+ SLInterfaceID effectImplementationId,
+ SLboolean *pEnable
+ );
+ SLresult (*SetDirectLevel) (
+ SLAndroidEffectSendItf self,
+ SLmillibel directLevel
+ );
+ SLresult (*GetDirectLevel) (
+ SLAndroidEffectSendItf self,
+ SLmillibel *pDirectLevel
+ );
+ SLresult (*SetSendLevel) (
+ SLAndroidEffectSendItf self,
+ SLInterfaceID effectImplementationId,
+ SLmillibel sendLevel
+ );
+ SLresult (*GetSendLevel)(
+ SLAndroidEffectSendItf self,
+ SLInterfaceID effectImplementationId,
+ SLmillibel *pSendLevel
+ );
+};
+
+
+/*---------------------------------------------------------------------------*/
+/* Android Effect Capabilities interface */
+/*---------------------------------------------------------------------------*/
+
+extern SL_API const SLInterfaceID SL_IID_ANDROIDEFFECTCAPABILITIES;
+
+/** Android Effect Capabilities interface methods */
+
+struct SLAndroidEffectCapabilitiesItf_;
+typedef const struct SLAndroidEffectCapabilitiesItf_ * const * SLAndroidEffectCapabilitiesItf;
+
+struct SLAndroidEffectCapabilitiesItf_ {
+
+ SLresult (*QueryNumEffects) (SLAndroidEffectCapabilitiesItf self,
+ SLuint32 *pNumSupportedEffects);
+
+
+ SLresult (*QueryEffect) (SLAndroidEffectCapabilitiesItf self,
+ SLuint32 index,
+ SLInterfaceID *pEffectType,
+ SLInterfaceID *pEffectImplementation,
+ SLchar *pName,
+ SLuint16 *pNameSize);
+};
+
+
+/*---------------------------------------------------------------------------*/
+/* Android Configuration interface */
+/*---------------------------------------------------------------------------*/
+extern SL_API const SLInterfaceID SL_IID_ANDROIDCONFIGURATION;
+
+/** Android Configuration interface methods */
+
+struct SLAndroidConfigurationItf_;
+typedef const struct SLAndroidConfigurationItf_ * const * SLAndroidConfigurationItf;
+
+struct SLAndroidConfigurationItf_ {
+
+ SLresult (*SetConfiguration) (SLAndroidConfigurationItf self,
+ const SLchar *configKey,
+ const void *pConfigValue,
+ SLuint32 valueSize);
+
+ SLresult (*GetConfiguration) (SLAndroidConfigurationItf self,
+ const SLchar *configKey,
+ SLuint32 *pValueSize,
+ void *pConfigValue
+ );
+};
+
+
+/*---------------------------------------------------------------------------*/
+/* Android Simple Buffer Queue Interface */
+/*---------------------------------------------------------------------------*/
+
+extern SL_API const SLInterfaceID SL_IID_ANDROIDSIMPLEBUFFERQUEUE;
+
+struct SLAndroidSimpleBufferQueueItf_;
+typedef const struct SLAndroidSimpleBufferQueueItf_ * const * SLAndroidSimpleBufferQueueItf;
+
+typedef void (SLAPIENTRY *slAndroidSimpleBufferQueueCallback)(
+ SLAndroidSimpleBufferQueueItf caller,
+ void *pContext
+);
+
+/** Android simple buffer queue state **/
+
+typedef struct SLAndroidSimpleBufferQueueState_ {
+ SLuint32 count;
+ SLuint32 index;
+} SLAndroidSimpleBufferQueueState;
+
+
+struct SLAndroidSimpleBufferQueueItf_ {
+ SLresult (*Enqueue) (
+ SLAndroidSimpleBufferQueueItf self,
+ const void *pBuffer,
+ SLuint32 size
+ );
+ SLresult (*Clear) (
+ SLAndroidSimpleBufferQueueItf self
+ );
+ SLresult (*GetState) (
+ SLAndroidSimpleBufferQueueItf self,
+ SLAndroidSimpleBufferQueueState *pState
+ );
+ SLresult (*RegisterCallback) (
+ SLAndroidSimpleBufferQueueItf self,
+ slAndroidSimpleBufferQueueCallback callback,
+ void* pContext
+ );
+};
+
+
+/*---------------------------------------------------------------------------*/
+/* Android Buffer Queue Interface */
+/*---------------------------------------------------------------------------*/
+
+extern SL_API const SLInterfaceID SL_IID_ANDROIDBUFFERQUEUESOURCE;
+
+struct SLAndroidBufferQueueItf_;
+typedef const struct SLAndroidBufferQueueItf_ * const * SLAndroidBufferQueueItf;
+
+#define SL_ANDROID_ITEMKEY_NONE ((SLuint32) 0x00000000)
+#define SL_ANDROID_ITEMKEY_EOS ((SLuint32) 0x00000001)
+#define SL_ANDROID_ITEMKEY_DISCONTINUITY ((SLuint32) 0x00000002)
+#define SL_ANDROID_ITEMKEY_BUFFERQUEUEEVENT ((SLuint32) 0x00000003)
+#define SL_ANDROID_ITEMKEY_FORMAT_CHANGE ((SLuint32) 0x00000004)
+
+#define SL_ANDROIDBUFFERQUEUEEVENT_NONE ((SLuint32) 0x00000000)
+#define SL_ANDROIDBUFFERQUEUEEVENT_PROCESSED ((SLuint32) 0x00000001)
+#if 0 // reserved for future use
+#define SL_ANDROIDBUFFERQUEUEEVENT_UNREALIZED ((SLuint32) 0x00000002)
+#define SL_ANDROIDBUFFERQUEUEEVENT_CLEARED ((SLuint32) 0x00000004)
+#define SL_ANDROIDBUFFERQUEUEEVENT_STOPPED ((SLuint32) 0x00000008)
+#define SL_ANDROIDBUFFERQUEUEEVENT_ERROR ((SLuint32) 0x00000010)
+#define SL_ANDROIDBUFFERQUEUEEVENT_CONTENT_END ((SLuint32) 0x00000020)
+#endif
+
+typedef struct SLAndroidBufferItem_ {
+ SLuint32 itemKey; // identifies the item
+ SLuint32 itemSize;
+ SLuint8 itemData[0];
+} SLAndroidBufferItem;
+
+typedef SLresult (SLAPIENTRY *slAndroidBufferQueueCallback)(
+ SLAndroidBufferQueueItf caller,/* input */
+ void *pCallbackContext, /* input */
+ void *pBufferContext, /* input */
+ void *pBufferData, /* input */
+ SLuint32 dataSize, /* input */
+ SLuint32 dataUsed, /* input */
+ const SLAndroidBufferItem *pItems,/* input */
+ SLuint32 itemsLength /* input */
+);
+
+typedef struct SLAndroidBufferQueueState_ {
+ SLuint32 count;
+ SLuint32 index;
+} SLAndroidBufferQueueState;
+
+struct SLAndroidBufferQueueItf_ {
+ SLresult (*RegisterCallback) (
+ SLAndroidBufferQueueItf self,
+ slAndroidBufferQueueCallback callback,
+ void* pCallbackContext
+ );
+
+ SLresult (*Clear) (
+ SLAndroidBufferQueueItf self
+ );
+
+ SLresult (*Enqueue) (
+ SLAndroidBufferQueueItf self,
+ void *pBufferContext,
+ void *pData,
+ SLuint32 dataLength,
+ const SLAndroidBufferItem *pItems,
+ SLuint32 itemsLength
+ );
+
+ SLresult (*GetState) (
+ SLAndroidBufferQueueItf self,
+ SLAndroidBufferQueueState *pState
+ );
+
+ SLresult (*SetCallbackEventsMask) (
+ SLAndroidBufferQueueItf self,
+ SLuint32 eventFlags
+ );
+
+ SLresult (*GetCallbackEventsMask) (
+ SLAndroidBufferQueueItf self,
+ SLuint32 *pEventFlags
+ );
+};
+
+
+/*---------------------------------------------------------------------------*/
+/* Android File Descriptor Data Locator */
+/*---------------------------------------------------------------------------*/
+
+/** Addendum to Data locator macros */
+#define SL_DATALOCATOR_ANDROIDFD ((SLuint32) 0x800007BC)
+
+#define SL_DATALOCATOR_ANDROIDFD_USE_FILE_SIZE ((SLAint64) 0xFFFFFFFFFFFFFFFFll)
+
+/** File Descriptor-based data locator definition, locatorType must be SL_DATALOCATOR_ANDROIDFD */
+typedef struct SLDataLocator_AndroidFD_ {
+ SLuint32 locatorType;
+ SLint32 fd;
+ SLAint64 offset;
+ SLAint64 length;
+} SLDataLocator_AndroidFD;
+
+
+/*---------------------------------------------------------------------------*/
+/* Android Android Simple Buffer Queue Data Locator */
+/*---------------------------------------------------------------------------*/
+
+/** Addendum to Data locator macros */
+#define SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE ((SLuint32) 0x800007BD)
+
+/** BufferQueue-based data locator definition where locatorType must be SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE*/
+typedef struct SLDataLocator_AndroidSimpleBufferQueue {
+ SLuint32 locatorType;
+ SLuint32 numBuffers;
+} SLDataLocator_AndroidSimpleBufferQueue;
+
+
+/*---------------------------------------------------------------------------*/
+/* Android Buffer Queue Data Locator */
+/*---------------------------------------------------------------------------*/
+
+/** Addendum to Data locator macros */
+#define SL_DATALOCATOR_ANDROIDBUFFERQUEUE ((SLuint32) 0x800007BE)
+
+/** Android Buffer Queue-based data locator definition,
+ * locatorType must be SL_DATALOCATOR_ANDROIDBUFFERQUEUE */
+typedef struct SLDataLocator_AndroidBufferQueue_ {
+ SLuint32 locatorType;
+ SLuint32 numBuffers;
+} SLDataLocator_AndroidBufferQueue;
+
+/**
+ * MIME types required for data in Android Buffer Queues
+ */
+#define SL_ANDROID_MIME_AACADTS ((SLchar *) "audio/vnd.android.aac-adts")
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* OPENSL_ES_ANDROID_H_ */