OpenSLES_IID.c revision 8ca039e1f9d95f8b14a59e135426882e3470e9d9
1/*
2 * Copyright (c) 2007-2009 The Khronos Group Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of
5 * this software and /or associated documentation files (the "Materials "), to
6 * deal in the Materials without restriction, including without limitation the
7 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8 * sell copies of the Materials, and to permit persons to whom the Materials are
9 * furnished to do so, subject to
10 * the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included
13 * in all copies or substantial portions of the Materials.
14 *
15 * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE
21 * MATERIALS.
22 *
23 * OpenSLES_IID.c - OpenSL ES version 1.0
24 *
25 */
26
27/****************************************************************************/
28/* NOTE: This file is a standard OpenSL ES file and should not be           */
29/* modified in any way.                                                     */
30/****************************************************************************/
31
32
33#include "SLES/OpenSLES.h"         /* SL Header */
34#include "OMXAL/OpenMAXAL.h"
35#ifdef ANDROID
36#include "SLES/OpenSLES_Android.h"  /* Android-specific SL Header */
37#include "OMXAL/OpenMAXAL_Android.h"/* Android-specific MAX AL Header */
38#endif
39#include "MPH.h"
40
41#ifdef __cplusplus
42extern const struct SLInterfaceID_ SL_IID_array[MPH_MAX];
43#endif
44
45/*****************************************************************************/
46/* Interface IDs                                                             */
47/*****************************************************************************/
48
49// Note that the lack of an ifdef on each section is intentional. The entries in this table map
50// to an interface GUID from an MPH (a short-hand representation of the full interface GUID).
51// The presence of an entry does not represent a commitment to support that particular interface.
52
53const struct SLInterfaceID_ SL_IID_array[MPH_MAX] = {
54
55// OpenSL ES 1.0.1 interfaces
56
57    // SL_IID_3DCOMMIT
58    { 0x3564ad80, 0xdd0f, 0x11db, 0x9e19, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
59    // SL_IID_3DDOPPLER
60    { 0xb45c9a80, 0xddd2, 0x11db, 0xb028, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
61    // SL_IID_3DGROUPING
62    { 0xebe844e0, 0xddd2, 0x11db, 0xb510, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
63    // SL_IID_3DLOCATION
64    { 0x2b878020, 0xddd3, 0x11db, 0x8a01, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
65    // SL_IID_3DMACROSCOPIC
66    { 0x5089aec0, 0xddd3, 0x11db, 0x9ad3, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
67    // SL_IID_3DSOURCE
68    { 0x70bc7b00, 0xddd3, 0x11db, 0xa873, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
69    // SL_IID_AUDIODECODERCAPABILITIES
70    { 0x3fe5a3a0, 0xfcc6, 0x11db, 0x94ac, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
71    // SL_IID_AUDIOENCODER
72    { 0xd7d5af7a, 0x351c, 0x41a6, 0x94ec, { 0x1a, 0xc9, 0x5c, 0x71, 0x82, 0x2c } },
73    // SL_IID_AUDIOENCODERCAPABILITIES
74    { 0x0f52a340, 0xfcd1, 0x11db, 0xa993, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
75    // SL_IID_AUDIOIODEVICECAPABILITIES
76    { 0xb2564dc0, 0xddd3, 0x11db, 0xbd62, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
77    // SL_IID_BASSBOOST
78    { 0x0634f220, 0xddd4, 0x11db, 0xa0fc, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
79    // SL_IID_BUFFERQUEUE
80    { 0x2bc99cc0, 0xddd4, 0x11db, 0x8d99, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
81    // SL_IID_DEVICEVOLUME
82    { 0xe1634760, 0xf3e2, 0x11db, 0x9ca9, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
83    // SL_IID_DYNAMICINTERFACEMANAGEMENT
84    { 0x63936540, 0xf775, 0x11db, 0x9cc4, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
85    // SL_IID_DYNAMICSOURCE
86    { 0xc55cc100, 0x038b, 0x11dc, 0xbb45, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
87    // SL_IID_EFFECTSEND
88    { 0x56e7d200, 0xddd4, 0x11db, 0xaefb, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
89    // SL_IID_ENGINE
90    { 0x8d97c260, 0xddd4, 0x11db, 0x958f, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
91    // SL_IID_ENGINECAPABILITIES
92    { 0x8320d0a0, 0xddd5, 0x11db, 0xa1b1, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
93    // SL_IID_ENVIRONMENTALREVERB
94    { 0xc2e5d5f0, 0x94bd, 0x4763, 0x9cac, { 0x4e, 0x23, 0x4d, 0x6, 0x83, 0x9e } },
95    // SL_IID_EQUALIZER
96    { 0x0bed4300, 0xddd6, 0x11db, 0x8f34, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
97    // SL_IID_LED
98    { 0x2cc1cd80, 0xddd6, 0x11db, 0x807e, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
99    // SL_IID_METADATAEXTRACTION
100    { 0xaa5b1f80, 0xddd6, 0x11db, 0xac8e, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
101    // SL_IID_METADATATRAVERSAL
102    { 0xc43662c0, 0xddd6, 0x11db, 0xa7ab, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
103    // SL_IID_MIDIMESSAGE
104    { 0xddf4a820, 0xddd6, 0x11db, 0xb174, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
105    // SL_IID_MIDIMUTESOLO
106    { 0x039eaf80, 0xddd7, 0x11db, 0x9a02, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
107    // SL_IID_MIDITEMPO
108    { 0x1f347400, 0xddd7, 0x11db, 0xa7ce, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
109    // SL_IID_MIDITIME
110    { 0x3da51de0, 0xddd7, 0x11db, 0xaf70, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
111    // SL_IID_MUTESOLO
112    { 0x5a28ebe0, 0xddd7, 0x11db, 0x8220, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
113    // SL_IID_NULL
114    { 0xec7178ec, 0xe5e1, 0x4432, 0xa3f4, { 0x46, 0x57, 0xe6, 0x79, 0x52, 0x10 } },
115    // SL_IID_OBJECT
116    { 0x79216360, 0xddd7, 0x11db, 0xac16, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
117    // SL_IID_OUTPUTMIX
118    { 0x97750f60, 0xddd7, 0x11db, 0x92b1, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
119    // SL_IID_PITCH
120    { 0xc7e8ee00, 0xddd7, 0x11db, 0xa42c, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
121    // SL_IID_PLAY
122    { 0xef0bd9c0, 0xddd7, 0x11db, 0xbf49, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
123    // SL_IID_PLAYBACKRATE
124    { 0x2e3b2a40, 0xddda, 0x11db, 0xa349, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
125    // SL_IID_PREFETCHSTATUS
126    { 0x2a41ee80, 0xddd8, 0x11db, 0xa41f, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
127    // SL_IID_PRESETREVERB
128    { 0x47382d60, 0xddd8, 0x11db, 0xbf3a, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
129    // SL_IID_RATEPITCH
130    { 0x61b62e60, 0xddda, 0x11db, 0x9eb8, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
131    // SL_IID_RECORD
132    { 0xc5657aa0, 0xdddb, 0x11db, 0x82f7, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
133    // SL_IID_SEEK
134    { 0xd43135a0, 0xdddc, 0x11db, 0xb458, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
135    // SL_IID_THREADSYNC
136    { 0xf6ac6b40, 0xdddc, 0x11db, 0xa62e, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
137    // SL_IID_VIBRA
138    { 0x169a8d60, 0xdddd, 0x11db, 0x923d, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
139    // SL_IID_VIRTUALIZER
140    { 0x37cc2c00, 0xdddd, 0x11db, 0x8577, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
141    // SL_IID_VISUALIZATION
142    { 0xe46b26a0, 0xdddd, 0x11db, 0x8afd, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
143    // SL_IID_VOLUME
144    { 0x09e8ede0, 0xddde, 0x11db, 0xb4f6, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
145
146// Wilhelm desktop extended interfaces
147
148    // SL_IID_OUTPUTMIXEXT
149    { 0xfe5cce00, 0x57bb, 0x11df, 0x951c, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
150
151// Android API level 9 extended interfaces
152
153    // SL_IID_ANDROIDEFFECT
154    { 0xae12da60, 0x99ac, 0x11df, 0xb456, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
155    // SL_IID_ANDROIDEFFECTCAPABILITIES
156    { 0x6a4f6d60, 0xb5e6, 0x11df, 0xbb3b, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
157    // SL_IID_ANDROIDEFFECTSEND
158    { 0x7be462c0, 0xbc43, 0x11df, 0x8670, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
159    // SL_IID_ANDROIDCONFIGURATION
160    { 0x89f6a7e0, 0xbeac, 0x11df, 0x8b5c, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
161    // SL_IID_ANDROIDSIMPLEBUFERQUEUE
162    { 0x198e4940, 0xc5d7, 0x11df, 0xa2a6, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
163
164// Android API level 10 extended interfaces
165    // SL_IID_ANDROIDBUFFERQUEUE
166    { 0x7fc1a460, 0xeec1, 0x11df, 0xa306, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
167
168// OpenMAX AL 1.0.1
169
170    // XA_IID_ENGINE
171    { 0x45c58f40, 0xdf04, 0x11db, 0x9e76, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
172    // XA_IID_PLAY
173    { 0xb9c293e0, 0xf776, 0x11db, 0x80df, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
174    // XA_IID_STREAMINFORMATION
175    { 0x3a628fe0, 0x1238, 0x11de, 0xad9f, { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } },
176
177// OpenMAX AL 1.0.1 Android API level 10 extended interfaces
178    // XA_IID_ANDROIDBUFFERQUEUE
179    // same as SL_IID_ANDROIDBUFFERQUEUE
180
181};
182
183#ifdef __cplusplus
184extern "C" {
185#endif
186
187// OpenSL ES 1.0.1 interfaces
188const SLInterfaceID SL_IID_3DCOMMIT = &SL_IID_array[MPH_3DCOMMIT];
189const SLInterfaceID SL_IID_3DDOPPLER = &SL_IID_array[MPH_3DDOPPLER];
190const SLInterfaceID SL_IID_3DGROUPING = &SL_IID_array[MPH_3DGROUPING];
191const SLInterfaceID SL_IID_3DLOCATION = &SL_IID_array[MPH_3DLOCATION];
192const SLInterfaceID SL_IID_3DMACROSCOPIC = &SL_IID_array[MPH_3DMACROSCOPIC];
193const SLInterfaceID SL_IID_3DSOURCE = &SL_IID_array[MPH_3DSOURCE];
194const SLInterfaceID SL_IID_AUDIODECODERCAPABILITIES = &SL_IID_array[MPH_AUDIODECODERCAPABILITIES];
195const SLInterfaceID SL_IID_AUDIOENCODER = &SL_IID_array[MPH_AUDIOENCODER];
196const SLInterfaceID SL_IID_AUDIOENCODERCAPABILITIES = &SL_IID_array[MPH_AUDIOENCODERCAPABILITIES];
197const SLInterfaceID SL_IID_AUDIOIODEVICECAPABILITIES = &SL_IID_array[MPH_AUDIOIODEVICECAPABILITIES];
198const SLInterfaceID SL_IID_BASSBOOST = &SL_IID_array[MPH_BASSBOOST];
199const SLInterfaceID SL_IID_BUFFERQUEUE = &SL_IID_array[MPH_BUFFERQUEUE];
200const SLInterfaceID SL_IID_DEVICEVOLUME = &SL_IID_array[MPH_DEVICEVOLUME];
201const SLInterfaceID SL_IID_DYNAMICINTERFACEMANAGEMENT =
202    &SL_IID_array[MPH_DYNAMICINTERFACEMANAGEMENT];
203const SLInterfaceID SL_IID_DYNAMICSOURCE = &SL_IID_array[MPH_DYNAMICSOURCE];
204const SLInterfaceID SL_IID_EFFECTSEND = &SL_IID_array[MPH_EFFECTSEND];
205const SLInterfaceID SL_IID_ENGINE = &SL_IID_array[MPH_ENGINE];
206const SLInterfaceID SL_IID_ENGINECAPABILITIES = &SL_IID_array[MPH_ENGINECAPABILITIES];
207const SLInterfaceID SL_IID_ENVIRONMENTALREVERB = &SL_IID_array[MPH_ENVIRONMENTALREVERB];
208const SLInterfaceID SL_IID_EQUALIZER = &SL_IID_array[MPH_EQUALIZER];
209const SLInterfaceID SL_IID_LED = &SL_IID_array[MPH_LED];
210const SLInterfaceID SL_IID_METADATAEXTRACTION = &SL_IID_array[MPH_METADATAEXTRACTION];
211const SLInterfaceID SL_IID_METADATATRAVERSAL = &SL_IID_array[MPH_METADATATRAVERSAL];
212const SLInterfaceID SL_IID_MIDIMESSAGE = &SL_IID_array[MPH_MIDIMESSAGE];
213const SLInterfaceID SL_IID_MIDIMUTESOLO = &SL_IID_array[MPH_MIDIMUTESOLO];
214const SLInterfaceID SL_IID_MIDITEMPO = &SL_IID_array[MPH_MIDITEMPO];
215const SLInterfaceID SL_IID_MIDITIME = &SL_IID_array[MPH_MIDITIME];
216const SLInterfaceID SL_IID_MUTESOLO = &SL_IID_array[MPH_MUTESOLO];
217const SLInterfaceID SL_IID_NULL = &SL_IID_array[MPH_NULL];
218const SLInterfaceID SL_IID_OBJECT = &SL_IID_array[MPH_OBJECT];
219const SLInterfaceID SL_IID_OUTPUTMIX = &SL_IID_array[MPH_OUTPUTMIX];
220const SLInterfaceID SL_IID_PITCH = &SL_IID_array[MPH_PITCH];
221const SLInterfaceID SL_IID_PLAY = &SL_IID_array[MPH_PLAY];
222const SLInterfaceID SL_IID_PLAYBACKRATE = &SL_IID_array[MPH_PLAYBACKRATE];
223const SLInterfaceID SL_IID_PREFETCHSTATUS = &SL_IID_array[MPH_PREFETCHSTATUS];
224const SLInterfaceID SL_IID_PRESETREVERB = &SL_IID_array[MPH_PRESETREVERB];
225const SLInterfaceID SL_IID_RATEPITCH = &SL_IID_array[MPH_RATEPITCH];
226const SLInterfaceID SL_IID_RECORD = &SL_IID_array[MPH_RECORD];
227const SLInterfaceID SL_IID_SEEK = &SL_IID_array[MPH_SEEK];
228const SLInterfaceID SL_IID_THREADSYNC = &SL_IID_array[MPH_THREADSYNC];
229const SLInterfaceID SL_IID_VIBRA = &SL_IID_array[MPH_VIBRA];
230const SLInterfaceID SL_IID_VIRTUALIZER = &SL_IID_array[MPH_VIRTUALIZER];
231const SLInterfaceID SL_IID_VISUALIZATION = &SL_IID_array[MPH_VISUALIZATION];
232const SLInterfaceID SL_IID_VOLUME = &SL_IID_array[MPH_VOLUME];
233
234// Wilhelm desktop extended interfaces
235extern const SLInterfaceID SL_IID_OUTPUTMIXEXT;
236const SLInterfaceID SL_IID_OUTPUTMIXEXT = &SL_IID_array[MPH_OUTPUTMIXEXT];
237
238// Android API level 9 extended interfaces
239const SLInterfaceID SL_IID_ANDROIDEFFECT = &SL_IID_array[MPH_ANDROIDEFFECT];
240const SLInterfaceID SL_IID_ANDROIDEFFECTCAPABILITIES = &SL_IID_array[MPH_ANDROIDEFFECTCAPABILITIES];
241const SLInterfaceID SL_IID_ANDROIDEFFECTSEND = &SL_IID_array[MPH_ANDROIDEFFECTSEND];
242const SLInterfaceID SL_IID_ANDROIDCONFIGURATION = &SL_IID_array[MPH_ANDROIDCONFIGURATION];
243const SLInterfaceID SL_IID_ANDROIDSIMPLEBUFFERQUEUE = &SL_IID_array[MPH_ANDROIDSIMPLEBUFFERQUEUE];
244
245// Android API level 10 extended interfaces
246const SLInterfaceID SL_IID_ANDROIDBUFFERQUEUE = &SL_IID_array[MPH_ANDROIDBUFFERQUEUE];
247
248// OpenMAX AL 1.0.1
249const XAInterfaceID XA_IID_ENGINE = (XAInterfaceID) &SL_IID_array[MPH_XAENGINE];
250const XAInterfaceID XA_IID_PLAY = (XAInterfaceID) &SL_IID_array[MPH_XAPLAY];
251const XAInterfaceID XA_IID_STREAMINFORMATION =
252        (XAInterfaceID) &SL_IID_array[MPH_XASTREAMINFORMATION];
253
254// OpenMAX AL 1.0.1 Android API level 10 extended interfaces
255const XAInterfaceID XA_IID_ANDROIDBUFFERQUEUE =
256        (XAInterfaceID) &SL_IID_array[MPH_ANDROIDBUFFERQUEUE]; //same as SL
257
258#ifdef __cplusplus
259}
260#endif
261