xref: /aosp_15_r20/frameworks/wilhelm/include/OMXAL/OpenMAXAL.h (revision bebae9c0e76121f8312ccb50385c080b3a0b023c)
1*bebae9c0SAndroid Build Coastguard Worker /*
2*bebae9c0SAndroid Build Coastguard Worker  * Copyright (c) 2007-2010 The Khronos Group Inc.
3*bebae9c0SAndroid Build Coastguard Worker  *
4*bebae9c0SAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining
5*bebae9c0SAndroid Build Coastguard Worker  * a copy of this software and/or associated documentation files (the
6*bebae9c0SAndroid Build Coastguard Worker  * "Materials "), to deal in the Materials without restriction, including
7*bebae9c0SAndroid Build Coastguard Worker  * without limitation the rights to use, copy, modify, merge, publish,
8*bebae9c0SAndroid Build Coastguard Worker  * distribute, sublicense, and/or sell copies of the Materials, and to
9*bebae9c0SAndroid Build Coastguard Worker  * permit persons to whom the Materials are furnished to do so, subject to
10*bebae9c0SAndroid Build Coastguard Worker  * the following conditions:
11*bebae9c0SAndroid Build Coastguard Worker  *
12*bebae9c0SAndroid Build Coastguard Worker  * The above copyright notice and this permission notice shall be included
13*bebae9c0SAndroid Build Coastguard Worker  * in all copies or substantial portions of the Materials.
14*bebae9c0SAndroid Build Coastguard Worker  *
15*bebae9c0SAndroid Build Coastguard Worker  * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16*bebae9c0SAndroid Build Coastguard Worker  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17*bebae9c0SAndroid Build Coastguard Worker  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18*bebae9c0SAndroid Build Coastguard Worker  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19*bebae9c0SAndroid Build Coastguard Worker  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20*bebae9c0SAndroid Build Coastguard Worker  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21*bebae9c0SAndroid Build Coastguard Worker  * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
22*bebae9c0SAndroid Build Coastguard Worker  *
23*bebae9c0SAndroid Build Coastguard Worker  * OpenMAXAL.h - OpenMAX AL version 1.0.1
24*bebae9c0SAndroid Build Coastguard Worker  *
25*bebae9c0SAndroid Build Coastguard Worker  */
26*bebae9c0SAndroid Build Coastguard Worker 
27*bebae9c0SAndroid Build Coastguard Worker /****************************************************************************/
28*bebae9c0SAndroid Build Coastguard Worker /* NOTE: This file is a standard OpenMAX AL header file and should not be   */
29*bebae9c0SAndroid Build Coastguard Worker /* modified in any way.                                                     */
30*bebae9c0SAndroid Build Coastguard Worker /****************************************************************************/
31*bebae9c0SAndroid Build Coastguard Worker 
32*bebae9c0SAndroid Build Coastguard Worker #ifndef _OPENMAXAL_H_
33*bebae9c0SAndroid Build Coastguard Worker #define _OPENMAXAL_H_
34*bebae9c0SAndroid Build Coastguard Worker 
35*bebae9c0SAndroid Build Coastguard Worker #ifdef __cplusplus
36*bebae9c0SAndroid Build Coastguard Worker extern "C" {
37*bebae9c0SAndroid Build Coastguard Worker #endif
38*bebae9c0SAndroid Build Coastguard Worker 
39*bebae9c0SAndroid Build Coastguard Worker #include "OpenMAXAL_Platform.h"
40*bebae9c0SAndroid Build Coastguard Worker 
41*bebae9c0SAndroid Build Coastguard Worker 
42*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
43*bebae9c0SAndroid Build Coastguard Worker   /* TYPES                                                         */
44*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
45*bebae9c0SAndroid Build Coastguard Worker 
46*bebae9c0SAndroid Build Coastguard Worker /* remap common types to XA types for clarity */
47*bebae9c0SAndroid Build Coastguard Worker typedef xa_int8_t   XAint8;   /* 8 bit signed integer    */
48*bebae9c0SAndroid Build Coastguard Worker typedef xa_uint8_t  XAuint8;  /* 8 bit unsigned integer  */
49*bebae9c0SAndroid Build Coastguard Worker typedef xa_int16_t  XAint16;  /* 16 bit signed integer   */
50*bebae9c0SAndroid Build Coastguard Worker typedef xa_uint16_t XAuint16; /* 16 bit unsigned integer */
51*bebae9c0SAndroid Build Coastguard Worker typedef xa_int32_t  XAint32;  /* 32 bit signed integer   */
52*bebae9c0SAndroid Build Coastguard Worker typedef xa_uint32_t XAuint32; /* 32 bit unsigned integer */
53*bebae9c0SAndroid Build Coastguard Worker typedef xa_uint64_t XAuint64; /* 64 bit unsigned integer */
54*bebae9c0SAndroid Build Coastguard Worker 
55*bebae9c0SAndroid Build Coastguard Worker typedef XAuint32    XAboolean;
56*bebae9c0SAndroid Build Coastguard Worker typedef XAuint8     XAchar;
57*bebae9c0SAndroid Build Coastguard Worker typedef XAint16     XAmillibel;
58*bebae9c0SAndroid Build Coastguard Worker typedef XAuint32    XAmillisecond;
59*bebae9c0SAndroid Build Coastguard Worker typedef XAuint32    XAmilliHertz;
60*bebae9c0SAndroid Build Coastguard Worker typedef XAint32     XAmillimeter;
61*bebae9c0SAndroid Build Coastguard Worker typedef XAint32     XAmillidegree;
62*bebae9c0SAndroid Build Coastguard Worker typedef XAint16     XApermille;
63*bebae9c0SAndroid Build Coastguard Worker typedef XAuint32    XAmicrosecond;
64*bebae9c0SAndroid Build Coastguard Worker typedef XAuint64    XAtime;
65*bebae9c0SAndroid Build Coastguard Worker typedef XAuint32    XAresult;
66*bebae9c0SAndroid Build Coastguard Worker 
67*bebae9c0SAndroid Build Coastguard Worker #define XA_BOOLEAN_FALSE                    ((XAuint32) 0x00000000)
68*bebae9c0SAndroid Build Coastguard Worker #define XA_BOOLEAN_TRUE                     ((XAuint32) 0x00000001)
69*bebae9c0SAndroid Build Coastguard Worker 
70*bebae9c0SAndroid Build Coastguard Worker #define XA_MILLIBEL_MAX                     ((XAmillibel) 0x7FFF)
71*bebae9c0SAndroid Build Coastguard Worker #define XA_MILLIBEL_MIN                     ((XAmillibel) (-XA_MILLIBEL_MAX-1))
72*bebae9c0SAndroid Build Coastguard Worker 
73*bebae9c0SAndroid Build Coastguard Worker #define XA_MILLIHERTZ_MAX                   ((XAmilliHertz) 0xFFFFFFFF)
74*bebae9c0SAndroid Build Coastguard Worker 
75*bebae9c0SAndroid Build Coastguard Worker #define XA_MILLIMETER_MAX                   ((XAmillimeter) 0x7FFFFFFF)
76*bebae9c0SAndroid Build Coastguard Worker 
77*bebae9c0SAndroid Build Coastguard Worker 
78*bebae9c0SAndroid Build Coastguard Worker 
79*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
80*bebae9c0SAndroid Build Coastguard Worker   /* RESULT CODES                                                  */
81*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
82*bebae9c0SAndroid Build Coastguard Worker 
83*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_SUCCESS                   ((XAuint32) 0x00000000)
84*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_PRECONDITIONS_VIOLATED    ((XAuint32) 0x00000001)
85*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_PARAMETER_INVALID         ((XAuint32) 0x00000002)
86*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_MEMORY_FAILURE            ((XAuint32) 0x00000003)
87*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_RESOURCE_ERROR            ((XAuint32) 0x00000004)
88*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_RESOURCE_LOST             ((XAuint32) 0x00000005)
89*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_IO_ERROR                  ((XAuint32) 0x00000006)
90*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_BUFFER_INSUFFICIENT       ((XAuint32) 0x00000007)
91*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_CONTENT_CORRUPTED         ((XAuint32) 0x00000008)
92*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_CONTENT_UNSUPPORTED       ((XAuint32) 0x00000009)
93*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_CONTENT_NOT_FOUND         ((XAuint32) 0x0000000A)
94*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_PERMISSION_DENIED         ((XAuint32) 0x0000000B)
95*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_FEATURE_UNSUPPORTED       ((XAuint32) 0x0000000C)
96*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_INTERNAL_ERROR            ((XAuint32) 0x0000000D)
97*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_UNKNOWN_ERROR             ((XAuint32) 0x0000000E)
98*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_OPERATION_ABORTED         ((XAuint32) 0x0000000F)
99*bebae9c0SAndroid Build Coastguard Worker #define XA_RESULT_CONTROL_LOST              ((XAuint32) 0x00000010)
100*bebae9c0SAndroid Build Coastguard Worker 
101*bebae9c0SAndroid Build Coastguard Worker 
102*bebae9c0SAndroid Build Coastguard Worker 
103*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
104*bebae9c0SAndroid Build Coastguard Worker   /* INTERFACE ID DEFINITION                                       */
105*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
106*bebae9c0SAndroid Build Coastguard Worker 
107*bebae9c0SAndroid Build Coastguard Worker /* Interface ID defined as a UUID */
108*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAInterfaceID_ {
109*bebae9c0SAndroid Build Coastguard Worker     XAuint32 time_low;
110*bebae9c0SAndroid Build Coastguard Worker     XAuint16 time_mid;
111*bebae9c0SAndroid Build Coastguard Worker     XAuint16 time_hi_and_version;
112*bebae9c0SAndroid Build Coastguard Worker     XAuint16 clock_seq;
113*bebae9c0SAndroid Build Coastguard Worker     XAuint8  node[6];
114*bebae9c0SAndroid Build Coastguard Worker } * XAInterfaceID;
115*bebae9c0SAndroid Build Coastguard Worker 
116*bebae9c0SAndroid Build Coastguard Worker /* NULL Interface */
117*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_NULL;
118*bebae9c0SAndroid Build Coastguard Worker 
119*bebae9c0SAndroid Build Coastguard Worker 
120*bebae9c0SAndroid Build Coastguard Worker 
121*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
122*bebae9c0SAndroid Build Coastguard Worker   /* GENERAL INTERFACES, STRUCTS AND DEFINES                       */
123*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
124*bebae9c0SAndroid Build Coastguard Worker 
125*bebae9c0SAndroid Build Coastguard Worker /* OBJECT */
126*bebae9c0SAndroid Build Coastguard Worker 
127*bebae9c0SAndroid Build Coastguard Worker #define XA_PRIORITY_LOWEST                      ((XAint32) (-0x7FFFFFFF-1))
128*bebae9c0SAndroid Build Coastguard Worker #define XA_PRIORITY_VERYLOW                     ((XAint32) -0x60000000)
129*bebae9c0SAndroid Build Coastguard Worker #define XA_PRIORITY_LOW                         ((XAint32) -0x40000000)
130*bebae9c0SAndroid Build Coastguard Worker #define XA_PRIORITY_BELOWNORMAL                 ((XAint32) -0x20000000)
131*bebae9c0SAndroid Build Coastguard Worker #define XA_PRIORITY_NORMAL                      ((XAint32) 0x00000000)
132*bebae9c0SAndroid Build Coastguard Worker #define XA_PRIORITY_ABOVENORMAL                 ((XAint32) 0x20000000)
133*bebae9c0SAndroid Build Coastguard Worker #define XA_PRIORITY_HIGH                        ((XAint32) 0x40000000)
134*bebae9c0SAndroid Build Coastguard Worker #define XA_PRIORITY_VERYHIGH                    ((XAint32) 0x60000000)
135*bebae9c0SAndroid Build Coastguard Worker #define XA_PRIORITY_HIGHEST                     ((XAint32) 0x7FFFFFFF)
136*bebae9c0SAndroid Build Coastguard Worker 
137*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_EVENT_RUNTIME_ERROR           ((XAuint32) 0x00000001)
138*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_EVENT_ASYNC_TERMINATION       ((XAuint32) 0x00000002)
139*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_EVENT_RESOURCES_LOST          ((XAuint32) 0x00000003)
140*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_EVENT_RESOURCES_AVAILABLE     ((XAuint32) 0x00000004)
141*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_EVENT_ITF_CONTROL_TAKEN       ((XAuint32) 0x00000005)
142*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_EVENT_ITF_CONTROL_RETURNED    ((XAuint32) 0x00000006)
143*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_EVENT_ITF_PARAMETERS_CHANGED  ((XAuint32) 0x00000007)
144*bebae9c0SAndroid Build Coastguard Worker 
145*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_STATE_UNREALIZED              ((XAuint32) 0x00000001)
146*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_STATE_REALIZED                ((XAuint32) 0x00000002)
147*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECT_STATE_SUSPENDED               ((XAuint32) 0x00000003)
148*bebae9c0SAndroid Build Coastguard Worker 
149*bebae9c0SAndroid Build Coastguard Worker 
150*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_OBJECT;
151*bebae9c0SAndroid Build Coastguard Worker 
152*bebae9c0SAndroid Build Coastguard Worker struct XAObjectItf_;
153*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAObjectItf_ * const * XAObjectItf;
154*bebae9c0SAndroid Build Coastguard Worker 
155*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaObjectCallback) (
156*bebae9c0SAndroid Build Coastguard Worker     XAObjectItf caller,
157*bebae9c0SAndroid Build Coastguard Worker     const void * pContext,
158*bebae9c0SAndroid Build Coastguard Worker     XAuint32 event,
159*bebae9c0SAndroid Build Coastguard Worker     XAresult result,
160*bebae9c0SAndroid Build Coastguard Worker     XAuint32 param,
161*bebae9c0SAndroid Build Coastguard Worker     void * pInterface
162*bebae9c0SAndroid Build Coastguard Worker );
163*bebae9c0SAndroid Build Coastguard Worker 
164*bebae9c0SAndroid Build Coastguard Worker struct XAObjectItf_ {
165*bebae9c0SAndroid Build Coastguard Worker     XAresult (*Realize) (
166*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self,
167*bebae9c0SAndroid Build Coastguard Worker         XAboolean async
168*bebae9c0SAndroid Build Coastguard Worker     );
169*bebae9c0SAndroid Build Coastguard Worker     XAresult (*Resume) (
170*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self,
171*bebae9c0SAndroid Build Coastguard Worker         XAboolean async
172*bebae9c0SAndroid Build Coastguard Worker     );
173*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetState) (
174*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self,
175*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pState
176*bebae9c0SAndroid Build Coastguard Worker     );
177*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetInterface) (
178*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self,
179*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID iid,
180*bebae9c0SAndroid Build Coastguard Worker         void * pInterface
181*bebae9c0SAndroid Build Coastguard Worker     );
182*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterCallback) (
183*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self,
184*bebae9c0SAndroid Build Coastguard Worker         xaObjectCallback callback,
185*bebae9c0SAndroid Build Coastguard Worker         void * pContext
186*bebae9c0SAndroid Build Coastguard Worker     );
187*bebae9c0SAndroid Build Coastguard Worker     void (*AbortAsyncOperation) (
188*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self
189*bebae9c0SAndroid Build Coastguard Worker     );
190*bebae9c0SAndroid Build Coastguard Worker     void (*Destroy) (
191*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self
192*bebae9c0SAndroid Build Coastguard Worker     );
193*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetPriority) (
194*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self,
195*bebae9c0SAndroid Build Coastguard Worker         XAint32 priority,
196*bebae9c0SAndroid Build Coastguard Worker         XAboolean preemptable
197*bebae9c0SAndroid Build Coastguard Worker     );
198*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetPriority) (
199*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self,
200*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pPriority,
201*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pPreemptable
202*bebae9c0SAndroid Build Coastguard Worker     );
203*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetLossOfControlInterfaces) (
204*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf self,
205*bebae9c0SAndroid Build Coastguard Worker         XAint16 numInterfaces,
206*bebae9c0SAndroid Build Coastguard Worker         XAInterfaceID * pInterfaceIDs,
207*bebae9c0SAndroid Build Coastguard Worker         XAboolean enabled
208*bebae9c0SAndroid Build Coastguard Worker     );
209*bebae9c0SAndroid Build Coastguard Worker };
210*bebae9c0SAndroid Build Coastguard Worker 
211*bebae9c0SAndroid Build Coastguard Worker /* CONFIG EXTENSION */
212*bebae9c0SAndroid Build Coastguard Worker 
213*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_CONFIGEXTENSION;
214*bebae9c0SAndroid Build Coastguard Worker 
215*bebae9c0SAndroid Build Coastguard Worker struct XAConfigExtensionsItf_;
216*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAConfigExtensionsItf_
217*bebae9c0SAndroid Build Coastguard Worker     * const * XAConfigExtensionsItf;
218*bebae9c0SAndroid Build Coastguard Worker 
219*bebae9c0SAndroid Build Coastguard Worker struct XAConfigExtensionsItf_ {
220*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetConfiguration) (
221*bebae9c0SAndroid Build Coastguard Worker         XAConfigExtensionsItf self,
222*bebae9c0SAndroid Build Coastguard Worker         const XAchar * configKey,
223*bebae9c0SAndroid Build Coastguard Worker         XAuint32 valueSize,
224*bebae9c0SAndroid Build Coastguard Worker         const void * pConfigValue
225*bebae9c0SAndroid Build Coastguard Worker     );
226*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetConfiguration) (
227*bebae9c0SAndroid Build Coastguard Worker         XAConfigExtensionsItf self,
228*bebae9c0SAndroid Build Coastguard Worker         const XAchar * configKey,
229*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pValueSize,
230*bebae9c0SAndroid Build Coastguard Worker         void * pConfigValue
231*bebae9c0SAndroid Build Coastguard Worker     );
232*bebae9c0SAndroid Build Coastguard Worker };
233*bebae9c0SAndroid Build Coastguard Worker 
234*bebae9c0SAndroid Build Coastguard Worker /* DYNAMIC INTERFACE MANAGEMENT */
235*bebae9c0SAndroid Build Coastguard Worker 
236*bebae9c0SAndroid Build Coastguard Worker #define XA_DYNAMIC_ITF_EVENT_RUNTIME_ERROR              ((XAuint32) 0x00000001)
237*bebae9c0SAndroid Build Coastguard Worker #define XA_DYNAMIC_ITF_EVENT_ASYNC_TERMINATION          ((XAuint32) 0x00000002)
238*bebae9c0SAndroid Build Coastguard Worker #define XA_DYNAMIC_ITF_EVENT_RESOURCES_LOST             ((XAuint32) 0x00000003)
239*bebae9c0SAndroid Build Coastguard Worker #define XA_DYNAMIC_ITF_EVENT_RESOURCES_LOST_PERMANENTLY ((XAuint32) 0x00000004)
240*bebae9c0SAndroid Build Coastguard Worker #define XA_DYNAMIC_ITF_EVENT_RESOURCES_AVAILABLE        ((XAuint32) 0x00000005)
241*bebae9c0SAndroid Build Coastguard Worker 
242*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_DYNAMICINTERFACEMANAGEMENT;
243*bebae9c0SAndroid Build Coastguard Worker 
244*bebae9c0SAndroid Build Coastguard Worker struct XADynamicInterfaceManagementItf_;
245*bebae9c0SAndroid Build Coastguard Worker typedef const struct XADynamicInterfaceManagementItf_
246*bebae9c0SAndroid Build Coastguard Worker     * const * XADynamicInterfaceManagementItf;
247*bebae9c0SAndroid Build Coastguard Worker 
248*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaDynamicInterfaceManagementCallback) (
249*bebae9c0SAndroid Build Coastguard Worker     XADynamicInterfaceManagementItf caller,
250*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
251*bebae9c0SAndroid Build Coastguard Worker     XAuint32 event,
252*bebae9c0SAndroid Build Coastguard Worker     XAresult result,
253*bebae9c0SAndroid Build Coastguard Worker     const XAInterfaceID iid
254*bebae9c0SAndroid Build Coastguard Worker );
255*bebae9c0SAndroid Build Coastguard Worker 
256*bebae9c0SAndroid Build Coastguard Worker struct XADynamicInterfaceManagementItf_ {
257*bebae9c0SAndroid Build Coastguard Worker     XAresult (*AddInterface) (
258*bebae9c0SAndroid Build Coastguard Worker         XADynamicInterfaceManagementItf self,
259*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID iid,
260*bebae9c0SAndroid Build Coastguard Worker         XAboolean aysnc
261*bebae9c0SAndroid Build Coastguard Worker     );
262*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RemoveInterface) (
263*bebae9c0SAndroid Build Coastguard Worker         XADynamicInterfaceManagementItf self,
264*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID iid
265*bebae9c0SAndroid Build Coastguard Worker     );
266*bebae9c0SAndroid Build Coastguard Worker     XAresult (*ResumeInterface) (
267*bebae9c0SAndroid Build Coastguard Worker         XADynamicInterfaceManagementItf self,
268*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID iid,
269*bebae9c0SAndroid Build Coastguard Worker         XAboolean aysnc
270*bebae9c0SAndroid Build Coastguard Worker     );
271*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterCallback) (
272*bebae9c0SAndroid Build Coastguard Worker         XADynamicInterfaceManagementItf self,
273*bebae9c0SAndroid Build Coastguard Worker         xaDynamicInterfaceManagementCallback callback,
274*bebae9c0SAndroid Build Coastguard Worker         void * pContext
275*bebae9c0SAndroid Build Coastguard Worker     );
276*bebae9c0SAndroid Build Coastguard Worker };
277*bebae9c0SAndroid Build Coastguard Worker 
278*bebae9c0SAndroid Build Coastguard Worker /* DATA SOURCES/SINKS */
279*bebae9c0SAndroid Build Coastguard Worker 
280*bebae9c0SAndroid Build Coastguard Worker #define XA_DATAFORMAT_MIME              ((XAuint32) 0x00000001)
281*bebae9c0SAndroid Build Coastguard Worker #define XA_DATAFORMAT_PCM               ((XAuint32) 0x00000002)
282*bebae9c0SAndroid Build Coastguard Worker #define XA_DATAFORMAT_RAWIMAGE          ((XAuint32) 0x00000003)
283*bebae9c0SAndroid Build Coastguard Worker 
284*bebae9c0SAndroid Build Coastguard Worker #define XA_DATALOCATOR_URI              ((XAuint32) 0x00000001)
285*bebae9c0SAndroid Build Coastguard Worker #define XA_DATALOCATOR_ADDRESS          ((XAuint32) 0x00000002)
286*bebae9c0SAndroid Build Coastguard Worker #define XA_DATALOCATOR_IODEVICE         ((XAuint32) 0x00000003)
287*bebae9c0SAndroid Build Coastguard Worker #define XA_DATALOCATOR_OUTPUTMIX        ((XAuint32) 0x00000004)
288*bebae9c0SAndroid Build Coastguard Worker #define XA_DATALOCATOR_NATIVEDISPLAY    ((XAuint32) 0x00000005)
289*bebae9c0SAndroid Build Coastguard Worker #define XA_DATALOCATOR_RESERVED6        ((XAuint32) 0x00000006)
290*bebae9c0SAndroid Build Coastguard Worker #define XA_DATALOCATOR_RESERVED7        ((XAuint32) 0x00000007)
291*bebae9c0SAndroid Build Coastguard Worker 
292*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataSink_ {
293*bebae9c0SAndroid Build Coastguard Worker     void * pLocator;
294*bebae9c0SAndroid Build Coastguard Worker     void * pFormat;
295*bebae9c0SAndroid Build Coastguard Worker } XADataSink;
296*bebae9c0SAndroid Build Coastguard Worker 
297*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataSource_ {
298*bebae9c0SAndroid Build Coastguard Worker     void * pLocator;
299*bebae9c0SAndroid Build Coastguard Worker     void * pFormat;
300*bebae9c0SAndroid Build Coastguard Worker } XADataSource;
301*bebae9c0SAndroid Build Coastguard Worker 
302*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_UNSPECIFIED    ((XAuint32) 0x00000001)
303*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_RAW            ((XAuint32) 0x00000002)
304*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_ASF            ((XAuint32) 0x00000003)
305*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_AVI            ((XAuint32) 0x00000004)
306*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_BMP            ((XAuint32) 0x00000005)
307*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_JPG            ((XAuint32) 0x00000006)
308*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_JPG2000        ((XAuint32) 0x00000007)
309*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_M4A            ((XAuint32) 0x00000008)
310*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_MP3            ((XAuint32) 0x00000009)
311*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_MP4            ((XAuint32) 0x0000000A)
312*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_MPEG_ES        ((XAuint32) 0x0000000B)
313*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_MPEG_PS        ((XAuint32) 0x0000000C)
314*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_MPEG_TS        ((XAuint32) 0x0000000D)
315*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_QT             ((XAuint32) 0x0000000E)
316*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_WAV            ((XAuint32) 0x0000000F)
317*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_XMF_0          ((XAuint32) 0x00000010)
318*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_XMF_1          ((XAuint32) 0x00000011)
319*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_XMF_2          ((XAuint32) 0x00000012)
320*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_XMF_3          ((XAuint32) 0x00000013)
321*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_XMF_GENERIC    ((XAuint32) 0x00000014)
322*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_AMR            ((XAuint32) 0x00000015)
323*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_AAC            ((XAuint32) 0x00000016)
324*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_3GPP           ((XAuint32) 0x00000017)
325*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_3GA            ((XAuint32) 0x00000018)
326*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_RM             ((XAuint32) 0x00000019)
327*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_DMF            ((XAuint32) 0x0000001A)
328*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_SMF            ((XAuint32) 0x0000001B)
329*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_MOBILE_DLS     ((XAuint32) 0x0000001C)
330*bebae9c0SAndroid Build Coastguard Worker #define XA_CONTAINERTYPE_OGG            ((XAuint32) 0x0000001D)
331*bebae9c0SAndroid Build Coastguard Worker 
332*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataFormat_MIME_ {
333*bebae9c0SAndroid Build Coastguard Worker     XAuint32 formatType;
334*bebae9c0SAndroid Build Coastguard Worker     XAchar * mimeType;
335*bebae9c0SAndroid Build Coastguard Worker     XAuint32 containerType;
336*bebae9c0SAndroid Build Coastguard Worker } XADataFormat_MIME;
337*bebae9c0SAndroid Build Coastguard Worker 
338*bebae9c0SAndroid Build Coastguard Worker #define XA_BYTEORDER_BIGENDIAN          ((XAuint32) 0x00000001)
339*bebae9c0SAndroid Build Coastguard Worker #define XA_BYTEORDER_LITTLEENDIAN       ((XAuint32) 0x00000002)
340*bebae9c0SAndroid Build Coastguard Worker 
341*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_8               ((XAuint32)   8000000)
342*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_11_025          ((XAuint32)  11025000)
343*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_12              ((XAuint32)  12000000)
344*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_16              ((XAuint32)  16000000)
345*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_22_05           ((XAuint32)  22050000)
346*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_24              ((XAuint32)  24000000)
347*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_32              ((XAuint32)  32000000)
348*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_44_1            ((XAuint32)  44100000)
349*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_48              ((XAuint32)  48000000)
350*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_64              ((XAuint32)  64000000)
351*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_88_2            ((XAuint32)  88200000)
352*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_96              ((XAuint32)  96000000)
353*bebae9c0SAndroid Build Coastguard Worker #define XA_SAMPLINGRATE_192             ((XAuint32) 192000000)
354*bebae9c0SAndroid Build Coastguard Worker 
355*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_FRONT_LEFT               ((XAuint32) 0x00000001)
356*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_FRONT_RIGHT              ((XAuint32) 0x00000002)
357*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_FRONT_CENTER             ((XAuint32) 0x00000004)
358*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_LOW_FREQUENCY            ((XAuint32) 0x00000008)
359*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_BACK_LEFT                ((XAuint32) 0x00000010)
360*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_BACK_RIGHT               ((XAuint32) 0x00000020)
361*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_FRONT_LEFT_OF_CENTER     ((XAuint32) 0x00000040)
362*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_FRONT_RIGHT_OF_CENTER    ((XAuint32) 0x00000080)
363*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_BACK_CENTER              ((XAuint32) 0x00000100)
364*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_SIDE_LEFT                ((XAuint32) 0x00000200)
365*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_SIDE_RIGHT               ((XAuint32) 0x00000400)
366*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_TOP_CENTER               ((XAuint32) 0x00000800)
367*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_TOP_FRONT_LEFT           ((XAuint32) 0x00001000)
368*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_TOP_FRONT_CENTER         ((XAuint32) 0x00002000)
369*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_TOP_FRONT_RIGHT          ((XAuint32) 0x00004000)
370*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_TOP_BACK_LEFT            ((XAuint32) 0x00008000)
371*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_TOP_BACK_CENTER          ((XAuint32) 0x00010000)
372*bebae9c0SAndroid Build Coastguard Worker #define XA_SPEAKER_TOP_BACK_RIGHT           ((XAuint32) 0x00020000)
373*bebae9c0SAndroid Build Coastguard Worker 
374*bebae9c0SAndroid Build Coastguard Worker #define XA_PCMSAMPLEFORMAT_FIXED_8          ((XAuint16) 0x0008)
375*bebae9c0SAndroid Build Coastguard Worker #define XA_PCMSAMPLEFORMAT_FIXED_16         ((XAuint16) 0x0010)
376*bebae9c0SAndroid Build Coastguard Worker #define XA_PCMSAMPLEFORMAT_FIXED_20         ((XAuint16) 0x0014)
377*bebae9c0SAndroid Build Coastguard Worker #define XA_PCMSAMPLEFORMAT_FIXED_24         ((XAuint16) 0x0018)
378*bebae9c0SAndroid Build Coastguard Worker #define XA_PCMSAMPLEFORMAT_FIXED_28         ((XAuint16) 0x001C)
379*bebae9c0SAndroid Build Coastguard Worker #define XA_PCMSAMPLEFORMAT_FIXED_32         ((XAuint16) 0x0020)
380*bebae9c0SAndroid Build Coastguard Worker 
381*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataFormat_PCM_ {
382*bebae9c0SAndroid Build Coastguard Worker     XAuint32 formatType;
383*bebae9c0SAndroid Build Coastguard Worker     XAuint32 numChannels;
384*bebae9c0SAndroid Build Coastguard Worker     XAuint32 samplesPerSec;
385*bebae9c0SAndroid Build Coastguard Worker     XAuint32 bitsPerSample;
386*bebae9c0SAndroid Build Coastguard Worker     XAuint32 containerSize;
387*bebae9c0SAndroid Build Coastguard Worker     XAuint32 channelMask;
388*bebae9c0SAndroid Build Coastguard Worker     XAuint32 endianness;
389*bebae9c0SAndroid Build Coastguard Worker } XADataFormat_PCM;
390*bebae9c0SAndroid Build Coastguard Worker 
391*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_UNUSED                   ((XAuint32) 0x00000000)
392*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_MONOCHROME               ((XAuint32) 0x00000001)
393*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_8BITRGB332               ((XAuint32) 0x00000002)
394*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_12BITRGB444              ((XAuint32) 0x00000003)
395*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_16BITARGB4444            ((XAuint32) 0x00000004)
396*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_16BITARGB1555            ((XAuint32) 0x00000005)
397*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_16BITRGB565              ((XAuint32) 0x00000006)
398*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_16BITBGR565              ((XAuint32) 0x00000007)
399*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_18BITRGB666              ((XAuint32) 0x00000008)
400*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_18BITARGB1665            ((XAuint32) 0x00000009)
401*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_19BITARGB1666            ((XAuint32) 0x0000000A)
402*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_24BITRGB888              ((XAuint32) 0x0000000B)
403*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_24BITBGR888              ((XAuint32) 0x0000000C)
404*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_24BITARGB1887            ((XAuint32) 0x0000000D)
405*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_25BITARGB1888            ((XAuint32) 0x0000000E)
406*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_32BITBGRA8888            ((XAuint32) 0x0000000F)
407*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_32BITARGB8888            ((XAuint32) 0x00000010)
408*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_YUV411PLANAR             ((XAuint32) 0x00000011)
409*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_YUV420PLANAR             ((XAuint32) 0x00000013)
410*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_YUV420SEMIPLANAR         ((XAuint32) 0x00000015)
411*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_YUV422PLANAR             ((XAuint32) 0x00000016)
412*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_YUV422SEMIPLANAR         ((XAuint32) 0x00000018)
413*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_YCBYCR                   ((XAuint32) 0x00000019)
414*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_YCRYCB                   ((XAuint32) 0x0000001A)
415*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_CBYCRY                   ((XAuint32) 0x0000001B)
416*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_CRYCBY                   ((XAuint32) 0x0000001C)
417*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_YUV444INTERLEAVED        ((XAuint32) 0x0000001D)
418*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_RAWBAYER8BIT             ((XAuint32) 0x0000001E)
419*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_RAWBAYER10BIT            ((XAuint32) 0x0000001F)
420*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_RAWBAYER8BITCOMPRESSED   ((XAuint32) 0x00000020)
421*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_L2                       ((XAuint32) 0x00000021)
422*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_L4                       ((XAuint32) 0x00000022)
423*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_L8                       ((XAuint32) 0x00000023)
424*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_L16                      ((XAuint32) 0x00000024)
425*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_L24                      ((XAuint32) 0x00000025)
426*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_L32                      ((XAuint32) 0x00000026)
427*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_18BITBGR666              ((XAuint32) 0x00000029)
428*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_24BITARGB6666            ((XAuint32) 0x0000002A)
429*bebae9c0SAndroid Build Coastguard Worker #define XA_COLORFORMAT_24BITABGR6666            ((XAuint32) 0x0000002B)
430*bebae9c0SAndroid Build Coastguard Worker 
431*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataFormat_RawImage_ {
432*bebae9c0SAndroid Build Coastguard Worker     XAuint32 formatType;
433*bebae9c0SAndroid Build Coastguard Worker     XAuint32 colorFormat;
434*bebae9c0SAndroid Build Coastguard Worker     XAuint32 height;
435*bebae9c0SAndroid Build Coastguard Worker     XAuint32 width;
436*bebae9c0SAndroid Build Coastguard Worker     XAuint32 stride;
437*bebae9c0SAndroid Build Coastguard Worker } XADataFormat_RawImage;
438*bebae9c0SAndroid Build Coastguard Worker 
439*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataLocator_Address_ {
440*bebae9c0SAndroid Build Coastguard Worker     XAuint32 locatorType;
441*bebae9c0SAndroid Build Coastguard Worker     void * pAddress;
442*bebae9c0SAndroid Build Coastguard Worker     XAuint32 length;
443*bebae9c0SAndroid Build Coastguard Worker } XADataLocator_Address;
444*bebae9c0SAndroid Build Coastguard Worker 
445*bebae9c0SAndroid Build Coastguard Worker #define XA_IODEVICE_AUDIOINPUT          ((XAuint32) 0x00000001)
446*bebae9c0SAndroid Build Coastguard Worker #define XA_IODEVICE_LEDARRAY            ((XAuint32) 0x00000002)
447*bebae9c0SAndroid Build Coastguard Worker #define XA_IODEVICE_VIBRA               ((XAuint32) 0x00000003)
448*bebae9c0SAndroid Build Coastguard Worker #define XA_IODEVICE_CAMERA              ((XAuint32) 0x00000004)
449*bebae9c0SAndroid Build Coastguard Worker #define XA_IODEVICE_RADIO               ((XAuint32) 0x00000005)
450*bebae9c0SAndroid Build Coastguard Worker 
451*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataLocator_IODevice_ {
452*bebae9c0SAndroid Build Coastguard Worker     XAuint32 locatorType;
453*bebae9c0SAndroid Build Coastguard Worker     XAuint32 deviceType;
454*bebae9c0SAndroid Build Coastguard Worker     XAuint32 deviceID;
455*bebae9c0SAndroid Build Coastguard Worker     XAObjectItf device;
456*bebae9c0SAndroid Build Coastguard Worker } XADataLocator_IODevice;
457*bebae9c0SAndroid Build Coastguard Worker 
458*bebae9c0SAndroid Build Coastguard Worker typedef void * XANativeHandle;
459*bebae9c0SAndroid Build Coastguard Worker 
460*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataLocator_NativeDisplay_{
461*bebae9c0SAndroid Build Coastguard Worker     XAuint32 locatorType;
462*bebae9c0SAndroid Build Coastguard Worker     XANativeHandle hWindow;
463*bebae9c0SAndroid Build Coastguard Worker     XANativeHandle hDisplay;
464*bebae9c0SAndroid Build Coastguard Worker } XADataLocator_NativeDisplay;
465*bebae9c0SAndroid Build Coastguard Worker 
466*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataLocator_OutputMix {
467*bebae9c0SAndroid Build Coastguard Worker     XAuint32 locatorType;
468*bebae9c0SAndroid Build Coastguard Worker     XAObjectItf outputMix;
469*bebae9c0SAndroid Build Coastguard Worker } XADataLocator_OutputMix;
470*bebae9c0SAndroid Build Coastguard Worker 
471*bebae9c0SAndroid Build Coastguard Worker typedef struct XADataLocator_URI_ {
472*bebae9c0SAndroid Build Coastguard Worker     XAuint32 locatorType;
473*bebae9c0SAndroid Build Coastguard Worker     XAchar * URI;
474*bebae9c0SAndroid Build Coastguard Worker } XADataLocator_URI;
475*bebae9c0SAndroid Build Coastguard Worker 
476*bebae9c0SAndroid Build Coastguard Worker 
477*bebae9c0SAndroid Build Coastguard Worker /* ENGINE */
478*bebae9c0SAndroid Build Coastguard Worker 
479*bebae9c0SAndroid Build Coastguard Worker #define XA_DEFAULTDEVICEID_AUDIOINPUT   ((XAuint32) 0xFFFFFFFF)
480*bebae9c0SAndroid Build Coastguard Worker #define XA_DEFAULTDEVICEID_AUDIOOUTPUT  ((XAuint32) 0xFFFFFFFE)
481*bebae9c0SAndroid Build Coastguard Worker #define XA_DEFAULTDEVICEID_LED          ((XAuint32) 0xFFFFFFFD)
482*bebae9c0SAndroid Build Coastguard Worker #define XA_DEFAULTDEVICEID_VIBRA        ((XAuint32) 0xFFFFFFFC)
483*bebae9c0SAndroid Build Coastguard Worker #define XA_DEFAULTDEVICEID_CAMERA       ((XAuint32) 0xFFFFFFFB)
484*bebae9c0SAndroid Build Coastguard Worker 
485*bebae9c0SAndroid Build Coastguard Worker #define XA_ENGINEOPTION_THREADSAFE      ((XAuint32) 0x00000001)
486*bebae9c0SAndroid Build Coastguard Worker #define XA_ENGINEOPTION_LOSSOFCONTROL   ((XAuint32) 0x00000002)
487*bebae9c0SAndroid Build Coastguard Worker 
488*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECTID_ENGINE              ((XAuint32) 0x00000001)
489*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECTID_LEDDEVICE           ((XAuint32) 0x00000002)
490*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECTID_VIBRADEVICE         ((XAuint32) 0x00000003)
491*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECTID_MEDIAPLAYER         ((XAuint32) 0x00000004)
492*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECTID_MEDIARECORDER       ((XAuint32) 0x00000005)
493*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECTID_RADIODEVICE         ((XAuint32) 0x00000006)
494*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECTID_OUTPUTMIX           ((XAuint32) 0x00000007)
495*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECTID_METADATAEXTRACTOR   ((XAuint32) 0x00000008)
496*bebae9c0SAndroid Build Coastguard Worker #define XA_OBJECTID_CAMERADEVICE        ((XAuint32) 0x00000009)
497*bebae9c0SAndroid Build Coastguard Worker 
498*bebae9c0SAndroid Build Coastguard Worker #define XA_PROFILES_MEDIA_PLAYER            ((XAint16) 0x0001)
499*bebae9c0SAndroid Build Coastguard Worker #define XA_PROFILES_MEDIA_PLAYER_RECORDER   ((XAint16) 0x0002)
500*bebae9c0SAndroid Build Coastguard Worker #define XA_PROFILES_PLUS_MIDI               ((XAint16) 0x0004)
501*bebae9c0SAndroid Build Coastguard Worker 
502*bebae9c0SAndroid Build Coastguard Worker typedef struct XAEngineOption_ {
503*bebae9c0SAndroid Build Coastguard Worker     XAuint32 feature;
504*bebae9c0SAndroid Build Coastguard Worker     XAuint32 data;
505*bebae9c0SAndroid Build Coastguard Worker } XAEngineOption;
506*bebae9c0SAndroid Build Coastguard Worker 
507*bebae9c0SAndroid Build Coastguard Worker XA_API XAresult XAAPIENTRY xaCreateEngine(
508*bebae9c0SAndroid Build Coastguard Worker     XAObjectItf * pEngine,
509*bebae9c0SAndroid Build Coastguard Worker     XAuint32 numOptions,
510*bebae9c0SAndroid Build Coastguard Worker     const XAEngineOption * pEngineOptions,
511*bebae9c0SAndroid Build Coastguard Worker     XAuint32 numInterfaces,
512*bebae9c0SAndroid Build Coastguard Worker     const XAInterfaceID * pInterfaceIds,
513*bebae9c0SAndroid Build Coastguard Worker     const XAboolean * pInterfaceRequired
514*bebae9c0SAndroid Build Coastguard Worker );
515*bebae9c0SAndroid Build Coastguard Worker 
516*bebae9c0SAndroid Build Coastguard Worker XA_API XAresult XAAPIENTRY xaQueryNumSupportedEngineInterfaces(
517*bebae9c0SAndroid Build Coastguard Worker     XAuint32 * pNumSupportedInterfaces
518*bebae9c0SAndroid Build Coastguard Worker );
519*bebae9c0SAndroid Build Coastguard Worker 
520*bebae9c0SAndroid Build Coastguard Worker XA_API XAresult XAAPIENTRY xaQuerySupportedEngineInterfaces(
521*bebae9c0SAndroid Build Coastguard Worker     XAuint32 index,
522*bebae9c0SAndroid Build Coastguard Worker     XAInterfaceID * pInterfaceId
523*bebae9c0SAndroid Build Coastguard Worker );
524*bebae9c0SAndroid Build Coastguard Worker 
525*bebae9c0SAndroid Build Coastguard Worker typedef struct XALEDDescriptor_ {
526*bebae9c0SAndroid Build Coastguard Worker     XAuint8 ledCount;
527*bebae9c0SAndroid Build Coastguard Worker     XAuint8 primaryLED;
528*bebae9c0SAndroid Build Coastguard Worker     XAuint32 colorMask;
529*bebae9c0SAndroid Build Coastguard Worker } XALEDDescriptor;
530*bebae9c0SAndroid Build Coastguard Worker 
531*bebae9c0SAndroid Build Coastguard Worker typedef struct XAVibraDescriptor_ {
532*bebae9c0SAndroid Build Coastguard Worker     XAboolean supportsFrequency;
533*bebae9c0SAndroid Build Coastguard Worker     XAboolean supportsIntensity;
534*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz minFrequency;
535*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz maxFrequency;
536*bebae9c0SAndroid Build Coastguard Worker } XAVibraDescriptor;
537*bebae9c0SAndroid Build Coastguard Worker 
538*bebae9c0SAndroid Build Coastguard Worker 
539*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_ENGINE;
540*bebae9c0SAndroid Build Coastguard Worker 
541*bebae9c0SAndroid Build Coastguard Worker struct XAEngineItf_;
542*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAEngineItf_ * const * XAEngineItf;
543*bebae9c0SAndroid Build Coastguard Worker 
544*bebae9c0SAndroid Build Coastguard Worker struct XAEngineItf_ {
545*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CreateCameraDevice) (
546*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
547*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf * pDevice,
548*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
549*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numInterfaces,
550*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID * pInterfaceIds,
551*bebae9c0SAndroid Build Coastguard Worker         const XAboolean * pInterfaceRequired
552*bebae9c0SAndroid Build Coastguard Worker     );
553*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CreateRadioDevice) (
554*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
555*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf * pDevice,
556*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numInterfaces,
557*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID * pInterfaceIds,
558*bebae9c0SAndroid Build Coastguard Worker         const XAboolean * pInterfaceRequired
559*bebae9c0SAndroid Build Coastguard Worker     );
560*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CreateLEDDevice) (
561*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
562*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf * pDevice,
563*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
564*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numInterfaces,
565*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID * pInterfaceIds,
566*bebae9c0SAndroid Build Coastguard Worker         const XAboolean * pInterfaceRequired
567*bebae9c0SAndroid Build Coastguard Worker     );
568*bebae9c0SAndroid Build Coastguard Worker        XAresult (*CreateVibraDevice) (
569*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
570*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf * pDevice,
571*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
572*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numInterfaces,
573*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID * pInterfaceIds,
574*bebae9c0SAndroid Build Coastguard Worker         const XAboolean * pInterfaceRequired
575*bebae9c0SAndroid Build Coastguard Worker     );
576*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CreateMediaPlayer) (
577*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
578*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf * pPlayer,
579*bebae9c0SAndroid Build Coastguard Worker         XADataSource * pDataSrc,
580*bebae9c0SAndroid Build Coastguard Worker         XADataSource * pBankSrc,
581*bebae9c0SAndroid Build Coastguard Worker         XADataSink * pAudioSnk,
582*bebae9c0SAndroid Build Coastguard Worker         XADataSink * pImageVideoSnk,
583*bebae9c0SAndroid Build Coastguard Worker         XADataSink * pVibra,
584*bebae9c0SAndroid Build Coastguard Worker         XADataSink * pLEDArray,
585*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numInterfaces,
586*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID * pInterfaceIds,
587*bebae9c0SAndroid Build Coastguard Worker         const XAboolean * pInterfaceRequired
588*bebae9c0SAndroid Build Coastguard Worker     );
589*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CreateMediaRecorder) (
590*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
591*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf * pRecorder,
592*bebae9c0SAndroid Build Coastguard Worker         XADataSource * pAudioSrc,
593*bebae9c0SAndroid Build Coastguard Worker         XADataSource * pImageVideoSrc,
594*bebae9c0SAndroid Build Coastguard Worker         XADataSink * pDataSnk,
595*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numInterfaces,
596*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID * pInterfaceIds,
597*bebae9c0SAndroid Build Coastguard Worker         const XAboolean * pInterfaceRequired
598*bebae9c0SAndroid Build Coastguard Worker     );
599*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CreateOutputMix) (
600*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
601*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf * pMix,
602*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numInterfaces,
603*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID * pInterfaceIds,
604*bebae9c0SAndroid Build Coastguard Worker         const XAboolean * pInterfaceRequired
605*bebae9c0SAndroid Build Coastguard Worker     );
606*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CreateMetadataExtractor) (
607*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
608*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf * pMetadataExtractor,
609*bebae9c0SAndroid Build Coastguard Worker         XADataSource * pDataSource,
610*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numInterfaces,
611*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID * pInterfaceIds,
612*bebae9c0SAndroid Build Coastguard Worker         const XAboolean * pInterfaceRequired
613*bebae9c0SAndroid Build Coastguard Worker     );
614*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CreateExtensionObject) (
615*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
616*bebae9c0SAndroid Build Coastguard Worker         XAObjectItf * pObject,
617*bebae9c0SAndroid Build Coastguard Worker         void * pParameters,
618*bebae9c0SAndroid Build Coastguard Worker         XAuint32 objectID,
619*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numInterfaces,
620*bebae9c0SAndroid Build Coastguard Worker         const XAInterfaceID * pInterfaceIds,
621*bebae9c0SAndroid Build Coastguard Worker         const XAboolean * pInterfaceRequired
622*bebae9c0SAndroid Build Coastguard Worker     );
623*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetImplementationInfo) (
624*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
625*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMajor,
626*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMinor,
627*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pStep,
628*bebae9c0SAndroid Build Coastguard Worker         const XAchar * pImplementationText
629*bebae9c0SAndroid Build Coastguard Worker     );
630*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QuerySupportedProfiles) (
631*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
632*bebae9c0SAndroid Build Coastguard Worker         XAint16 * pProfilesSupported
633*bebae9c0SAndroid Build Coastguard Worker     );
634*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryNumSupportedInterfaces) (
635*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
636*bebae9c0SAndroid Build Coastguard Worker         XAuint32 objectID,
637*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumSupportedInterfaces
638*bebae9c0SAndroid Build Coastguard Worker     );
639*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QuerySupportedInterfaces) (
640*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
641*bebae9c0SAndroid Build Coastguard Worker         XAuint32 objectID,
642*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index,
643*bebae9c0SAndroid Build Coastguard Worker         XAInterfaceID * pInterfaceId
644*bebae9c0SAndroid Build Coastguard Worker     );
645*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryNumSupportedExtensions) (
646*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
647*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumExtensions
648*bebae9c0SAndroid Build Coastguard Worker     );
649*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QuerySupportedExtension) (
650*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
651*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index,
652*bebae9c0SAndroid Build Coastguard Worker         XAchar * pExtensionName,
653*bebae9c0SAndroid Build Coastguard Worker         XAint16 * pNameLength
654*bebae9c0SAndroid Build Coastguard Worker     );
655*bebae9c0SAndroid Build Coastguard Worker     XAresult (*IsExtensionSupported) (
656*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
657*bebae9c0SAndroid Build Coastguard Worker         const XAchar * pExtensionName,
658*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pSupported
659*bebae9c0SAndroid Build Coastguard Worker     );
660*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryLEDCapabilities) (
661*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
662*bebae9c0SAndroid Build Coastguard Worker         XAuint32 *pIndex,
663*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pLEDDeviceID,
664*bebae9c0SAndroid Build Coastguard Worker         XALEDDescriptor * pDescriptor
665*bebae9c0SAndroid Build Coastguard Worker     );
666*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryVibraCapabilities) (
667*bebae9c0SAndroid Build Coastguard Worker         XAEngineItf self,
668*bebae9c0SAndroid Build Coastguard Worker         XAuint32 *pIndex,
669*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pVibraDeviceID,
670*bebae9c0SAndroid Build Coastguard Worker         XAVibraDescriptor * pDescriptor
671*bebae9c0SAndroid Build Coastguard Worker     );
672*bebae9c0SAndroid Build Coastguard Worker };
673*bebae9c0SAndroid Build Coastguard Worker 
674*bebae9c0SAndroid Build Coastguard Worker /* THREAD SYNC */
675*bebae9c0SAndroid Build Coastguard Worker 
676*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_THREADSYNC;
677*bebae9c0SAndroid Build Coastguard Worker 
678*bebae9c0SAndroid Build Coastguard Worker struct XAThreadSyncItf_;
679*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAThreadSyncItf_ * const * XAThreadSyncItf;
680*bebae9c0SAndroid Build Coastguard Worker 
681*bebae9c0SAndroid Build Coastguard Worker struct XAThreadSyncItf_ {
682*bebae9c0SAndroid Build Coastguard Worker     XAresult (*EnterCriticalSection) (
683*bebae9c0SAndroid Build Coastguard Worker         XAThreadSyncItf self
684*bebae9c0SAndroid Build Coastguard Worker     );
685*bebae9c0SAndroid Build Coastguard Worker     XAresult (*ExitCriticalSection) (
686*bebae9c0SAndroid Build Coastguard Worker         XAThreadSyncItf self
687*bebae9c0SAndroid Build Coastguard Worker     );
688*bebae9c0SAndroid Build Coastguard Worker };
689*bebae9c0SAndroid Build Coastguard Worker 
690*bebae9c0SAndroid Build Coastguard Worker 
691*bebae9c0SAndroid Build Coastguard Worker 
692*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
693*bebae9c0SAndroid Build Coastguard Worker   /* PLAYBACK RELATED INTERFACES, STRUCTS AND DEFINES              */
694*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
695*bebae9c0SAndroid Build Coastguard Worker 
696*bebae9c0SAndroid Build Coastguard Worker /* PLAY */
697*bebae9c0SAndroid Build Coastguard Worker 
698*bebae9c0SAndroid Build Coastguard Worker #define XA_TIME_UNKNOWN                     ((XAuint32) 0xFFFFFFFF)
699*bebae9c0SAndroid Build Coastguard Worker 
700*bebae9c0SAndroid Build Coastguard Worker #define XA_PLAYEVENT_HEADATEND              ((XAuint32) 0x00000001)
701*bebae9c0SAndroid Build Coastguard Worker #define XA_PLAYEVENT_HEADATMARKER           ((XAuint32) 0x00000002)
702*bebae9c0SAndroid Build Coastguard Worker #define XA_PLAYEVENT_HEADATNEWPOS           ((XAuint32) 0x00000004)
703*bebae9c0SAndroid Build Coastguard Worker #define XA_PLAYEVENT_HEADMOVING             ((XAuint32) 0x00000008)
704*bebae9c0SAndroid Build Coastguard Worker #define XA_PLAYEVENT_HEADSTALLED            ((XAuint32) 0x00000010)
705*bebae9c0SAndroid Build Coastguard Worker 
706*bebae9c0SAndroid Build Coastguard Worker #define XA_PLAYSTATE_STOPPED                ((XAuint32) 0x00000001)
707*bebae9c0SAndroid Build Coastguard Worker #define XA_PLAYSTATE_PAUSED                 ((XAuint32) 0x00000002)
708*bebae9c0SAndroid Build Coastguard Worker #define XA_PLAYSTATE_PLAYING                ((XAuint32) 0x00000003)
709*bebae9c0SAndroid Build Coastguard Worker 
710*bebae9c0SAndroid Build Coastguard Worker #define XA_PREFETCHEVENT_STATUSCHANGE       ((XAuint32) 0x00000001)
711*bebae9c0SAndroid Build Coastguard Worker #define XA_PREFETCHEVENT_FILLLEVELCHANGE    ((XAuint32) 0x00000002)
712*bebae9c0SAndroid Build Coastguard Worker 
713*bebae9c0SAndroid Build Coastguard Worker #define XA_PREFETCHSTATUS_UNDERFLOW         ((XAuint32) 0x00000001)
714*bebae9c0SAndroid Build Coastguard Worker #define XA_PREFETCHSTATUS_SUFFICIENTDATA    ((XAuint32) 0x00000002)
715*bebae9c0SAndroid Build Coastguard Worker #define XA_PREFETCHSTATUS_OVERFLOW          ((XAuint32) 0x00000003)
716*bebae9c0SAndroid Build Coastguard Worker 
717*bebae9c0SAndroid Build Coastguard Worker #define XA_SEEKMODE_FAST                    ((XAuint32) 0x0001)
718*bebae9c0SAndroid Build Coastguard Worker #define XA_SEEKMODE_ACCURATE                ((XAuint32) 0x0002)
719*bebae9c0SAndroid Build Coastguard Worker 
720*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_PLAY;
721*bebae9c0SAndroid Build Coastguard Worker 
722*bebae9c0SAndroid Build Coastguard Worker struct XAPlayItf_;
723*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAPlayItf_ * const * XAPlayItf;
724*bebae9c0SAndroid Build Coastguard Worker 
725*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaPlayCallback) (
726*bebae9c0SAndroid Build Coastguard Worker     XAPlayItf caller,
727*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
728*bebae9c0SAndroid Build Coastguard Worker     XAuint32 event
729*bebae9c0SAndroid Build Coastguard Worker );
730*bebae9c0SAndroid Build Coastguard Worker 
731*bebae9c0SAndroid Build Coastguard Worker struct XAPlayItf_ {
732*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetPlayState) (
733*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
734*bebae9c0SAndroid Build Coastguard Worker         XAuint32 state
735*bebae9c0SAndroid Build Coastguard Worker     );
736*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetPlayState) (
737*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
738*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pState
739*bebae9c0SAndroid Build Coastguard Worker     );
740*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetDuration) (
741*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
742*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond * pMsec
743*bebae9c0SAndroid Build Coastguard Worker     );
744*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetPosition) (
745*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
746*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond * pMsec
747*bebae9c0SAndroid Build Coastguard Worker     );
748*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterCallback) (
749*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
750*bebae9c0SAndroid Build Coastguard Worker         xaPlayCallback callback,
751*bebae9c0SAndroid Build Coastguard Worker         void * pContext
752*bebae9c0SAndroid Build Coastguard Worker     );
753*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetCallbackEventsMask) (
754*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
755*bebae9c0SAndroid Build Coastguard Worker         XAuint32 eventFlags
756*bebae9c0SAndroid Build Coastguard Worker     );
757*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetCallbackEventsMask) (
758*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
759*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pEventFlags
760*bebae9c0SAndroid Build Coastguard Worker     );
761*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetMarkerPosition) (
762*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
763*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond mSec
764*bebae9c0SAndroid Build Coastguard Worker     );
765*bebae9c0SAndroid Build Coastguard Worker     XAresult (*ClearMarkerPosition) (
766*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self
767*bebae9c0SAndroid Build Coastguard Worker     );
768*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetMarkerPosition) (
769*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
770*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond * pMsec
771*bebae9c0SAndroid Build Coastguard Worker     );
772*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetPositionUpdatePeriod) (
773*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
774*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond mSec
775*bebae9c0SAndroid Build Coastguard Worker     );
776*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetPositionUpdatePeriod) (
777*bebae9c0SAndroid Build Coastguard Worker         XAPlayItf self,
778*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond * pMsec
779*bebae9c0SAndroid Build Coastguard Worker     );
780*bebae9c0SAndroid Build Coastguard Worker };
781*bebae9c0SAndroid Build Coastguard Worker 
782*bebae9c0SAndroid Build Coastguard Worker /* PLAYBACK RATE */
783*bebae9c0SAndroid Build Coastguard Worker 
784*bebae9c0SAndroid Build Coastguard Worker #define XA_RATEPROP_STAGGEREDVIDEO      ((XAuint32) 0x00000001)
785*bebae9c0SAndroid Build Coastguard Worker #define XA_RATEPROP_SMOOTHVIDEO         ((XAuint32) 0x00000002)
786*bebae9c0SAndroid Build Coastguard Worker #define XA_RATEPROP_SILENTAUDIO         ((XAuint32) 0x00000100)
787*bebae9c0SAndroid Build Coastguard Worker #define XA_RATEPROP_STAGGEREDAUDIO      ((XAuint32) 0x00000200)
788*bebae9c0SAndroid Build Coastguard Worker #define XA_RATEPROP_NOPITCHCORAUDIO     ((XAuint32) 0x00000400)
789*bebae9c0SAndroid Build Coastguard Worker #define XA_RATEPROP_PITCHCORAUDIO       ((XAuint32) 0x00000800)
790*bebae9c0SAndroid Build Coastguard Worker 
791*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_PLAYBACKRATE;
792*bebae9c0SAndroid Build Coastguard Worker 
793*bebae9c0SAndroid Build Coastguard Worker struct XAPlaybackRateItf_;
794*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAPlaybackRateItf_ * const * XAPlaybackRateItf;
795*bebae9c0SAndroid Build Coastguard Worker 
796*bebae9c0SAndroid Build Coastguard Worker struct XAPlaybackRateItf_ {
797*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetRate) (
798*bebae9c0SAndroid Build Coastguard Worker         XAPlaybackRateItf self,
799*bebae9c0SAndroid Build Coastguard Worker         XApermille rate
800*bebae9c0SAndroid Build Coastguard Worker     );
801*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetRate) (
802*bebae9c0SAndroid Build Coastguard Worker         XAPlaybackRateItf self,
803*bebae9c0SAndroid Build Coastguard Worker         XApermille * pRate
804*bebae9c0SAndroid Build Coastguard Worker     );
805*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetPropertyConstraints) (
806*bebae9c0SAndroid Build Coastguard Worker         XAPlaybackRateItf self,
807*bebae9c0SAndroid Build Coastguard Worker         XAuint32 constraints
808*bebae9c0SAndroid Build Coastguard Worker     );
809*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetProperties) (
810*bebae9c0SAndroid Build Coastguard Worker         XAPlaybackRateItf self,
811*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pProperties
812*bebae9c0SAndroid Build Coastguard Worker     );
813*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetCapabilitiesOfRate) (
814*bebae9c0SAndroid Build Coastguard Worker         XAPlaybackRateItf self,
815*bebae9c0SAndroid Build Coastguard Worker         XApermille rate,
816*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pCapabilities
817*bebae9c0SAndroid Build Coastguard Worker     );
818*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetRateRange) (
819*bebae9c0SAndroid Build Coastguard Worker         XAPlaybackRateItf self,
820*bebae9c0SAndroid Build Coastguard Worker         XAuint8 index,
821*bebae9c0SAndroid Build Coastguard Worker         XApermille * pMinRate,
822*bebae9c0SAndroid Build Coastguard Worker         XApermille * pMaxRate,
823*bebae9c0SAndroid Build Coastguard Worker         XApermille * pStepSize,
824*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pCapabilities
825*bebae9c0SAndroid Build Coastguard Worker     );
826*bebae9c0SAndroid Build Coastguard Worker };
827*bebae9c0SAndroid Build Coastguard Worker 
828*bebae9c0SAndroid Build Coastguard Worker /* PREFETCH STATUS */
829*bebae9c0SAndroid Build Coastguard Worker 
830*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_PREFETCHSTATUS;
831*bebae9c0SAndroid Build Coastguard Worker 
832*bebae9c0SAndroid Build Coastguard Worker struct XAPrefetchStatusItf_;
833*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAPrefetchStatusItf_
834*bebae9c0SAndroid Build Coastguard Worker     * const * XAPrefetchStatusItf;
835*bebae9c0SAndroid Build Coastguard Worker 
836*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaPrefetchCallback) (
837*bebae9c0SAndroid Build Coastguard Worker     XAPrefetchStatusItf caller,
838*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
839*bebae9c0SAndroid Build Coastguard Worker     XAuint32 event
840*bebae9c0SAndroid Build Coastguard Worker );
841*bebae9c0SAndroid Build Coastguard Worker 
842*bebae9c0SAndroid Build Coastguard Worker struct XAPrefetchStatusItf_ {
843*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetPrefetchStatus) (
844*bebae9c0SAndroid Build Coastguard Worker         XAPrefetchStatusItf self,
845*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pStatus
846*bebae9c0SAndroid Build Coastguard Worker     );
847*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFillLevel) (
848*bebae9c0SAndroid Build Coastguard Worker         XAPrefetchStatusItf self,
849*bebae9c0SAndroid Build Coastguard Worker         XApermille * pLevel
850*bebae9c0SAndroid Build Coastguard Worker     );
851*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterCallback) (
852*bebae9c0SAndroid Build Coastguard Worker         XAPrefetchStatusItf self,
853*bebae9c0SAndroid Build Coastguard Worker         xaPrefetchCallback callback,
854*bebae9c0SAndroid Build Coastguard Worker         void * pContext
855*bebae9c0SAndroid Build Coastguard Worker     );
856*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetCallbackEventsMask) (
857*bebae9c0SAndroid Build Coastguard Worker         XAPrefetchStatusItf self,
858*bebae9c0SAndroid Build Coastguard Worker         XAuint32 eventFlags
859*bebae9c0SAndroid Build Coastguard Worker     );
860*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetCallbackEventsMask) (
861*bebae9c0SAndroid Build Coastguard Worker         XAPrefetchStatusItf self,
862*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pEventFlags
863*bebae9c0SAndroid Build Coastguard Worker     );
864*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetFillUpdatePeriod) (
865*bebae9c0SAndroid Build Coastguard Worker         XAPrefetchStatusItf self,
866*bebae9c0SAndroid Build Coastguard Worker         XApermille period
867*bebae9c0SAndroid Build Coastguard Worker     );
868*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFillUpdatePeriod) (
869*bebae9c0SAndroid Build Coastguard Worker         XAPrefetchStatusItf self,
870*bebae9c0SAndroid Build Coastguard Worker         XApermille * pPeriod
871*bebae9c0SAndroid Build Coastguard Worker     );
872*bebae9c0SAndroid Build Coastguard Worker };
873*bebae9c0SAndroid Build Coastguard Worker 
874*bebae9c0SAndroid Build Coastguard Worker /* SEEK */
875*bebae9c0SAndroid Build Coastguard Worker 
876*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_SEEK;
877*bebae9c0SAndroid Build Coastguard Worker 
878*bebae9c0SAndroid Build Coastguard Worker struct XASeekItf_;
879*bebae9c0SAndroid Build Coastguard Worker typedef const struct XASeekItf_ * const * XASeekItf;
880*bebae9c0SAndroid Build Coastguard Worker 
881*bebae9c0SAndroid Build Coastguard Worker struct XASeekItf_ {
882*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetPosition) (
883*bebae9c0SAndroid Build Coastguard Worker         XASeekItf self,
884*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond pos,
885*bebae9c0SAndroid Build Coastguard Worker         XAuint32 seekMode
886*bebae9c0SAndroid Build Coastguard Worker     );
887*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetLoop) (
888*bebae9c0SAndroid Build Coastguard Worker         XASeekItf self,
889*bebae9c0SAndroid Build Coastguard Worker         XAboolean loopEnable,
890*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond startPos,
891*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond endPos
892*bebae9c0SAndroid Build Coastguard Worker     );
893*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetLoop) (
894*bebae9c0SAndroid Build Coastguard Worker         XASeekItf self,
895*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pLoopEnabled,
896*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond * pStartPos,
897*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond * pEndPos
898*bebae9c0SAndroid Build Coastguard Worker     );
899*bebae9c0SAndroid Build Coastguard Worker };
900*bebae9c0SAndroid Build Coastguard Worker 
901*bebae9c0SAndroid Build Coastguard Worker /* VOLUME */
902*bebae9c0SAndroid Build Coastguard Worker 
903*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_VOLUME;
904*bebae9c0SAndroid Build Coastguard Worker 
905*bebae9c0SAndroid Build Coastguard Worker struct XAVolumeItf_;
906*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAVolumeItf_ * const * XAVolumeItf;
907*bebae9c0SAndroid Build Coastguard Worker 
908*bebae9c0SAndroid Build Coastguard Worker struct XAVolumeItf_ {
909*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetVolumeLevel) (
910*bebae9c0SAndroid Build Coastguard Worker         XAVolumeItf self,
911*bebae9c0SAndroid Build Coastguard Worker         XAmillibel level
912*bebae9c0SAndroid Build Coastguard Worker     );
913*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetVolumeLevel) (
914*bebae9c0SAndroid Build Coastguard Worker         XAVolumeItf self,
915*bebae9c0SAndroid Build Coastguard Worker         XAmillibel * pLevel
916*bebae9c0SAndroid Build Coastguard Worker     );
917*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetMaxVolumeLevel) (
918*bebae9c0SAndroid Build Coastguard Worker         XAVolumeItf self,
919*bebae9c0SAndroid Build Coastguard Worker         XAmillibel * pMaxLevel
920*bebae9c0SAndroid Build Coastguard Worker     );
921*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetMute) (
922*bebae9c0SAndroid Build Coastguard Worker         XAVolumeItf self,
923*bebae9c0SAndroid Build Coastguard Worker         XAboolean mute
924*bebae9c0SAndroid Build Coastguard Worker     );
925*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetMute) (
926*bebae9c0SAndroid Build Coastguard Worker         XAVolumeItf self,
927*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pMute
928*bebae9c0SAndroid Build Coastguard Worker     );
929*bebae9c0SAndroid Build Coastguard Worker     XAresult (*EnableStereoPosition) (
930*bebae9c0SAndroid Build Coastguard Worker         XAVolumeItf self,
931*bebae9c0SAndroid Build Coastguard Worker         XAboolean enable
932*bebae9c0SAndroid Build Coastguard Worker     );
933*bebae9c0SAndroid Build Coastguard Worker     XAresult (*IsEnabledStereoPosition) (
934*bebae9c0SAndroid Build Coastguard Worker         XAVolumeItf self,
935*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pEnable
936*bebae9c0SAndroid Build Coastguard Worker     );
937*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetStereoPosition) (
938*bebae9c0SAndroid Build Coastguard Worker         XAVolumeItf self,
939*bebae9c0SAndroid Build Coastguard Worker         XApermille stereoPosition
940*bebae9c0SAndroid Build Coastguard Worker     );
941*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetStereoPosition) (
942*bebae9c0SAndroid Build Coastguard Worker         XAVolumeItf self,
943*bebae9c0SAndroid Build Coastguard Worker         XApermille * pStereoPosition
944*bebae9c0SAndroid Build Coastguard Worker     );
945*bebae9c0SAndroid Build Coastguard Worker };
946*bebae9c0SAndroid Build Coastguard Worker 
947*bebae9c0SAndroid Build Coastguard Worker /* IMAGE CONTROL */
948*bebae9c0SAndroid Build Coastguard Worker 
949*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_IMAGECONTROLS;
950*bebae9c0SAndroid Build Coastguard Worker 
951*bebae9c0SAndroid Build Coastguard Worker struct XAImageControlsItf_;
952*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAImageControlsItf_ * const * XAImageControlsItf;
953*bebae9c0SAndroid Build Coastguard Worker 
954*bebae9c0SAndroid Build Coastguard Worker struct XAImageControlsItf_ {
955*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetBrightness) (
956*bebae9c0SAndroid Build Coastguard Worker         XAImageControlsItf self,
957*bebae9c0SAndroid Build Coastguard Worker         XAuint32 brightness
958*bebae9c0SAndroid Build Coastguard Worker     );
959*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetBrightness) (
960*bebae9c0SAndroid Build Coastguard Worker         XAImageControlsItf self,
961*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pBrightness
962*bebae9c0SAndroid Build Coastguard Worker     );
963*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetContrast) (
964*bebae9c0SAndroid Build Coastguard Worker         XAImageControlsItf self,
965*bebae9c0SAndroid Build Coastguard Worker         XAint32 contrast
966*bebae9c0SAndroid Build Coastguard Worker     );
967*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetContrast) (
968*bebae9c0SAndroid Build Coastguard Worker         XAImageControlsItf self,
969*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pContrast
970*bebae9c0SAndroid Build Coastguard Worker     );
971*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetGamma) (
972*bebae9c0SAndroid Build Coastguard Worker         XAImageControlsItf self,
973*bebae9c0SAndroid Build Coastguard Worker         XApermille gamma
974*bebae9c0SAndroid Build Coastguard Worker     );
975*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetGamma) (
976*bebae9c0SAndroid Build Coastguard Worker         XAImageControlsItf self,
977*bebae9c0SAndroid Build Coastguard Worker         XApermille * pGamma
978*bebae9c0SAndroid Build Coastguard Worker     );
979*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSupportedGammaSettings) (
980*bebae9c0SAndroid Build Coastguard Worker         XAImageControlsItf self,
981*bebae9c0SAndroid Build Coastguard Worker         XApermille * pMinValue,
982*bebae9c0SAndroid Build Coastguard Worker         XApermille * pMaxValue,
983*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumSettings,
984*bebae9c0SAndroid Build Coastguard Worker         XApermille ** ppSettings
985*bebae9c0SAndroid Build Coastguard Worker     );
986*bebae9c0SAndroid Build Coastguard Worker };
987*bebae9c0SAndroid Build Coastguard Worker 
988*bebae9c0SAndroid Build Coastguard Worker /* IMAGE EFFECT */
989*bebae9c0SAndroid Build Coastguard Worker 
990*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGEEFFECT_MONOCHROME       ((XAuint32) 0x00000001)
991*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGEEFFECT_NEGATIVE         ((XAuint32) 0x00000002)
992*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGEEFFECT_SEPIA            ((XAuint32) 0x00000003)
993*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGEEFFECT_EMBOSS           ((XAuint32) 0x00000004)
994*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGEEFFECT_PAINTBRUSH       ((XAuint32) 0x00000005)
995*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGEEFFECT_SOLARIZE         ((XAuint32) 0x00000006)
996*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGEEFFECT_CARTOON          ((XAuint32) 0x00000007)
997*bebae9c0SAndroid Build Coastguard Worker 
998*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_IMAGEEFFECTS;
999*bebae9c0SAndroid Build Coastguard Worker 
1000*bebae9c0SAndroid Build Coastguard Worker struct XAImageEffectsItf_;
1001*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAImageEffectsItf_ * const * XAImageEffectsItf;
1002*bebae9c0SAndroid Build Coastguard Worker 
1003*bebae9c0SAndroid Build Coastguard Worker struct XAImageEffectsItf_ {
1004*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QuerySupportedImageEffects) (
1005*bebae9c0SAndroid Build Coastguard Worker         XAImageEffectsItf self,
1006*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index,
1007*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pImageEffectId
1008*bebae9c0SAndroid Build Coastguard Worker     );
1009*bebae9c0SAndroid Build Coastguard Worker     XAresult (*EnableImageEffect) (
1010*bebae9c0SAndroid Build Coastguard Worker         XAImageEffectsItf self,
1011*bebae9c0SAndroid Build Coastguard Worker         XAuint32 imageEffectID
1012*bebae9c0SAndroid Build Coastguard Worker     );
1013*bebae9c0SAndroid Build Coastguard Worker     XAresult (*DisableImageEffect) (
1014*bebae9c0SAndroid Build Coastguard Worker         XAImageEffectsItf self,
1015*bebae9c0SAndroid Build Coastguard Worker         XAuint32 imageEffectID
1016*bebae9c0SAndroid Build Coastguard Worker     );
1017*bebae9c0SAndroid Build Coastguard Worker     XAresult (*IsImageEffectEnabled) (
1018*bebae9c0SAndroid Build Coastguard Worker         XAImageEffectsItf self,
1019*bebae9c0SAndroid Build Coastguard Worker         XAuint32 imageEffectID,
1020*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pEnabled
1021*bebae9c0SAndroid Build Coastguard Worker     );
1022*bebae9c0SAndroid Build Coastguard Worker };
1023*bebae9c0SAndroid Build Coastguard Worker 
1024*bebae9c0SAndroid Build Coastguard Worker /* VIDEO POST PROCESSING */
1025*bebae9c0SAndroid Build Coastguard Worker 
1026*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOMIRROR_NONE             ((XAuint32) 0x00000001)
1027*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOMIRROR_VERTICAL         ((XAuint32) 0x00000002)
1028*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOMIRROR_HORIZONTAL       ((XAuint32) 0x00000003)
1029*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOMIRROR_BOTH             ((XAuint32) 0x00000004)
1030*bebae9c0SAndroid Build Coastguard Worker 
1031*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOSCALE_STRETCH           ((XAuint32) 0x00000001)
1032*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOSCALE_FIT               ((XAuint32) 0x00000002)
1033*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOSCALE_CROP              ((XAuint32) 0x00000003)
1034*bebae9c0SAndroid Build Coastguard Worker 
1035*bebae9c0SAndroid Build Coastguard Worker #define XA_RENDERINGHINT_NONE           ((XAuint32) 0x00000000)
1036*bebae9c0SAndroid Build Coastguard Worker #define XA_RENDERINGHINT_ANTIALIASING   ((XAuint32) 0x00000001)
1037*bebae9c0SAndroid Build Coastguard Worker 
1038*bebae9c0SAndroid Build Coastguard Worker typedef struct XARectangle_ {
1039*bebae9c0SAndroid Build Coastguard Worker     XAuint32 left;
1040*bebae9c0SAndroid Build Coastguard Worker     XAuint32 top;
1041*bebae9c0SAndroid Build Coastguard Worker     XAuint32 width;
1042*bebae9c0SAndroid Build Coastguard Worker     XAuint32 height;
1043*bebae9c0SAndroid Build Coastguard Worker } XARectangle;
1044*bebae9c0SAndroid Build Coastguard Worker 
1045*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_VIDEOPOSTPROCESSING;
1046*bebae9c0SAndroid Build Coastguard Worker 
1047*bebae9c0SAndroid Build Coastguard Worker struct XAVideoPostProcessingItf_;
1048*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAVideoPostProcessingItf_ * const * XAVideoPostProcessingItf;
1049*bebae9c0SAndroid Build Coastguard Worker 
1050*bebae9c0SAndroid Build Coastguard Worker struct XAVideoPostProcessingItf_ {
1051*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetRotation) (
1052*bebae9c0SAndroid Build Coastguard Worker         XAVideoPostProcessingItf self,
1053*bebae9c0SAndroid Build Coastguard Worker         XAmillidegree rotation
1054*bebae9c0SAndroid Build Coastguard Worker     );
1055*bebae9c0SAndroid Build Coastguard Worker     XAresult (*IsArbitraryRotationSupported) (
1056*bebae9c0SAndroid Build Coastguard Worker         XAVideoPostProcessingItf self,
1057*bebae9c0SAndroid Build Coastguard Worker         XAboolean *pSupported
1058*bebae9c0SAndroid Build Coastguard Worker     );
1059*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetScaleOptions) (
1060*bebae9c0SAndroid Build Coastguard Worker         XAVideoPostProcessingItf self,
1061*bebae9c0SAndroid Build Coastguard Worker         XAuint32 scaleOptions,
1062*bebae9c0SAndroid Build Coastguard Worker         XAuint32 backgroundColor,
1063*bebae9c0SAndroid Build Coastguard Worker         XAuint32 renderingHints
1064*bebae9c0SAndroid Build Coastguard Worker     );
1065*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetSourceRectangle) (
1066*bebae9c0SAndroid Build Coastguard Worker         XAVideoPostProcessingItf self,
1067*bebae9c0SAndroid Build Coastguard Worker         const XARectangle *pSrcRect
1068*bebae9c0SAndroid Build Coastguard Worker     );
1069*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetDestinationRectangle) (
1070*bebae9c0SAndroid Build Coastguard Worker         XAVideoPostProcessingItf self,
1071*bebae9c0SAndroid Build Coastguard Worker         const XARectangle *pDestRect
1072*bebae9c0SAndroid Build Coastguard Worker     );
1073*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetMirror) (
1074*bebae9c0SAndroid Build Coastguard Worker         XAVideoPostProcessingItf self,
1075*bebae9c0SAndroid Build Coastguard Worker         XAuint32 mirror
1076*bebae9c0SAndroid Build Coastguard Worker     );
1077*bebae9c0SAndroid Build Coastguard Worker     XAresult (*Commit) (
1078*bebae9c0SAndroid Build Coastguard Worker         XAVideoPostProcessingItf self
1079*bebae9c0SAndroid Build Coastguard Worker     );
1080*bebae9c0SAndroid Build Coastguard Worker };
1081*bebae9c0SAndroid Build Coastguard Worker 
1082*bebae9c0SAndroid Build Coastguard Worker 
1083*bebae9c0SAndroid Build Coastguard Worker 
1084*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
1085*bebae9c0SAndroid Build Coastguard Worker   /* CAPTURING INTERFACES, STRUCTS AND DEFINES                     */
1086*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
1087*bebae9c0SAndroid Build Coastguard Worker 
1088*bebae9c0SAndroid Build Coastguard Worker /* RECORD */
1089*bebae9c0SAndroid Build Coastguard Worker 
1090*bebae9c0SAndroid Build Coastguard Worker #define XA_RECORDEVENT_HEADATLIMIT          ((XAuint32) 0x00000001)
1091*bebae9c0SAndroid Build Coastguard Worker #define XA_RECORDEVENT_HEADATMARKER         ((XAuint32) 0x00000002)
1092*bebae9c0SAndroid Build Coastguard Worker #define XA_RECORDEVENT_HEADATNEWPOS         ((XAuint32) 0x00000004)
1093*bebae9c0SAndroid Build Coastguard Worker #define XA_RECORDEVENT_HEADMOVING           ((XAuint32) 0x00000008)
1094*bebae9c0SAndroid Build Coastguard Worker #define XA_RECORDEVENT_HEADSTALLED          ((XAuint32) 0x00000010)
1095*bebae9c0SAndroid Build Coastguard Worker #define XA_RECORDEVENT_BUFFER_FULL          ((XAuint32) 0x00000020)
1096*bebae9c0SAndroid Build Coastguard Worker 
1097*bebae9c0SAndroid Build Coastguard Worker #define XA_RECORDSTATE_STOPPED          ((XAuint32) 0x00000001)
1098*bebae9c0SAndroid Build Coastguard Worker #define XA_RECORDSTATE_PAUSED           ((XAuint32) 0x00000002)
1099*bebae9c0SAndroid Build Coastguard Worker #define XA_RECORDSTATE_RECORDING        ((XAuint32) 0x00000003)
1100*bebae9c0SAndroid Build Coastguard Worker 
1101*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_RECORD;
1102*bebae9c0SAndroid Build Coastguard Worker 
1103*bebae9c0SAndroid Build Coastguard Worker struct XARecordItf_;
1104*bebae9c0SAndroid Build Coastguard Worker typedef const struct XARecordItf_ * const * XARecordItf;
1105*bebae9c0SAndroid Build Coastguard Worker 
1106*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaRecordCallback) (
1107*bebae9c0SAndroid Build Coastguard Worker     XARecordItf caller,
1108*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
1109*bebae9c0SAndroid Build Coastguard Worker     XAuint32 event
1110*bebae9c0SAndroid Build Coastguard Worker );
1111*bebae9c0SAndroid Build Coastguard Worker 
1112*bebae9c0SAndroid Build Coastguard Worker struct XARecordItf_ {
1113*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetRecordState) (
1114*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1115*bebae9c0SAndroid Build Coastguard Worker         XAuint32 state
1116*bebae9c0SAndroid Build Coastguard Worker     );
1117*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetRecordState) (
1118*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1119*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pState
1120*bebae9c0SAndroid Build Coastguard Worker     );
1121*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetDurationLimit) (
1122*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1123*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond msec
1124*bebae9c0SAndroid Build Coastguard Worker     );
1125*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetPosition) (
1126*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1127*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond * pMsec
1128*bebae9c0SAndroid Build Coastguard Worker     );
1129*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterCallback) (
1130*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1131*bebae9c0SAndroid Build Coastguard Worker         xaRecordCallback callback,
1132*bebae9c0SAndroid Build Coastguard Worker         void * pContext
1133*bebae9c0SAndroid Build Coastguard Worker     );
1134*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetCallbackEventsMask) (
1135*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1136*bebae9c0SAndroid Build Coastguard Worker         XAuint32 eventFlags
1137*bebae9c0SAndroid Build Coastguard Worker     );
1138*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetCallbackEventsMask) (
1139*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1140*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pEventFlags
1141*bebae9c0SAndroid Build Coastguard Worker     );
1142*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetMarkerPosition) (
1143*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1144*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond mSec
1145*bebae9c0SAndroid Build Coastguard Worker     );
1146*bebae9c0SAndroid Build Coastguard Worker     XAresult (*ClearMarkerPosition) (
1147*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self
1148*bebae9c0SAndroid Build Coastguard Worker     );
1149*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetMarkerPosition) (
1150*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1151*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond * pMsec
1152*bebae9c0SAndroid Build Coastguard Worker     );
1153*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetPositionUpdatePeriod) (
1154*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1155*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond mSec
1156*bebae9c0SAndroid Build Coastguard Worker     );
1157*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetPositionUpdatePeriod) (
1158*bebae9c0SAndroid Build Coastguard Worker         XARecordItf self,
1159*bebae9c0SAndroid Build Coastguard Worker         XAmillisecond * pMsec
1160*bebae9c0SAndroid Build Coastguard Worker     );
1161*bebae9c0SAndroid Build Coastguard Worker };
1162*bebae9c0SAndroid Build Coastguard Worker 
1163*bebae9c0SAndroid Build Coastguard Worker /* SNAPSHOT */
1164*bebae9c0SAndroid Build Coastguard Worker 
1165*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_SNAPSHOT;
1166*bebae9c0SAndroid Build Coastguard Worker 
1167*bebae9c0SAndroid Build Coastguard Worker struct XASnapshotItf_;
1168*bebae9c0SAndroid Build Coastguard Worker typedef const struct XASnapshotItf_ * const * XASnapshotItf;
1169*bebae9c0SAndroid Build Coastguard Worker 
1170*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaSnapshotInitiatedCallback) (
1171*bebae9c0SAndroid Build Coastguard Worker     XASnapshotItf caller,
1172*bebae9c0SAndroid Build Coastguard Worker     void * context
1173*bebae9c0SAndroid Build Coastguard Worker );
1174*bebae9c0SAndroid Build Coastguard Worker 
1175*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaSnapshotTakenCallback) (
1176*bebae9c0SAndroid Build Coastguard Worker     XASnapshotItf caller,
1177*bebae9c0SAndroid Build Coastguard Worker     void * context,
1178*bebae9c0SAndroid Build Coastguard Worker     XAuint32 numberOfPicsTaken,
1179*bebae9c0SAndroid Build Coastguard Worker     const XADataSink * image
1180*bebae9c0SAndroid Build Coastguard Worker );
1181*bebae9c0SAndroid Build Coastguard Worker 
1182*bebae9c0SAndroid Build Coastguard Worker struct XASnapshotItf_ {
1183*bebae9c0SAndroid Build Coastguard Worker     XAresult (*InitiateSnapshot) (
1184*bebae9c0SAndroid Build Coastguard Worker         XASnapshotItf self,
1185*bebae9c0SAndroid Build Coastguard Worker         XAuint32 numberOfPictures,
1186*bebae9c0SAndroid Build Coastguard Worker         XAuint32 fps,
1187*bebae9c0SAndroid Build Coastguard Worker         XAboolean freezeViewFinder,
1188*bebae9c0SAndroid Build Coastguard Worker         XADataSink sink,
1189*bebae9c0SAndroid Build Coastguard Worker         xaSnapshotInitiatedCallback initiatedCallback,
1190*bebae9c0SAndroid Build Coastguard Worker         xaSnapshotTakenCallback takenCallback,
1191*bebae9c0SAndroid Build Coastguard Worker         void * pContext
1192*bebae9c0SAndroid Build Coastguard Worker     );
1193*bebae9c0SAndroid Build Coastguard Worker     XAresult (*TakeSnapshot) (
1194*bebae9c0SAndroid Build Coastguard Worker         XASnapshotItf self
1195*bebae9c0SAndroid Build Coastguard Worker     );
1196*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CancelSnapshot) (
1197*bebae9c0SAndroid Build Coastguard Worker         XASnapshotItf self
1198*bebae9c0SAndroid Build Coastguard Worker     );
1199*bebae9c0SAndroid Build Coastguard Worker     XAresult (*ReleaseBuffers) (
1200*bebae9c0SAndroid Build Coastguard Worker         XASnapshotItf self,
1201*bebae9c0SAndroid Build Coastguard Worker         XADataSink * image
1202*bebae9c0SAndroid Build Coastguard Worker     );
1203*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetMaxPicsPerBurst) (
1204*bebae9c0SAndroid Build Coastguard Worker         XASnapshotItf self,
1205*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * maxNumberOfPictures
1206*bebae9c0SAndroid Build Coastguard Worker     );
1207*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetBurstFPSRange) (
1208*bebae9c0SAndroid Build Coastguard Worker         XASnapshotItf self,
1209*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * minFPS,
1210*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * maxFPS
1211*bebae9c0SAndroid Build Coastguard Worker     );
1212*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetShutterFeedback) (
1213*bebae9c0SAndroid Build Coastguard Worker         XASnapshotItf self,
1214*bebae9c0SAndroid Build Coastguard Worker         XAboolean enabled
1215*bebae9c0SAndroid Build Coastguard Worker     );
1216*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetShutterFeedback) (
1217*bebae9c0SAndroid Build Coastguard Worker         XASnapshotItf self,
1218*bebae9c0SAndroid Build Coastguard Worker         XAboolean * enabled
1219*bebae9c0SAndroid Build Coastguard Worker     );
1220*bebae9c0SAndroid Build Coastguard Worker };
1221*bebae9c0SAndroid Build Coastguard Worker 
1222*bebae9c0SAndroid Build Coastguard Worker 
1223*bebae9c0SAndroid Build Coastguard Worker 
1224*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
1225*bebae9c0SAndroid Build Coastguard Worker   /* METADATA RELATED INTERFACES, STRUCTS AND DEFINES              */
1226*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
1227*bebae9c0SAndroid Build Coastguard Worker 
1228*bebae9c0SAndroid Build Coastguard Worker /* METADATA (EXTRACTION, INSERTION, TRAVERSAL) */
1229*bebae9c0SAndroid Build Coastguard Worker 
1230*bebae9c0SAndroid Build Coastguard Worker #define XA_NODE_PARENT                  ((XAuint32) 0xFFFFFFFF)
1231*bebae9c0SAndroid Build Coastguard Worker 
1232*bebae9c0SAndroid Build Coastguard Worker #define XA_ROOT_NODE_ID                 ((XAint32) 0x7FFFFFFF)
1233*bebae9c0SAndroid Build Coastguard Worker 
1234*bebae9c0SAndroid Build Coastguard Worker #define XA_NODETYPE_UNSPECIFIED         ((XAuint32) 0x00000001)
1235*bebae9c0SAndroid Build Coastguard Worker #define XA_NODETYPE_AUDIO               ((XAuint32) 0x00000002)
1236*bebae9c0SAndroid Build Coastguard Worker #define XA_NODETYPE_VIDEO               ((XAuint32) 0x00000003)
1237*bebae9c0SAndroid Build Coastguard Worker #define XA_NODETYPE_IMAGE               ((XAuint32) 0x00000004)
1238*bebae9c0SAndroid Build Coastguard Worker 
1239*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_UNKNOWN            ((XAuint32) 0x00000000)
1240*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_BINARY             ((XAuint32) 0x00000001)
1241*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ASCII              ((XAuint32) 0x00000002)
1242*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_BIG5               ((XAuint32) 0x00000003)
1243*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_CODEPAGE1252       ((XAuint32) 0x00000004)
1244*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_GB2312             ((XAuint32) 0x00000005)
1245*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_HZGB2312           ((XAuint32) 0x00000006)
1246*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_GB12345            ((XAuint32) 0x00000007)
1247*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_GB18030            ((XAuint32) 0x00000008)
1248*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_GBK                ((XAuint32) 0x00000009)
1249*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_IMAPUTF7           ((XAuint32) 0x0000000A)
1250*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO2022JP          ((XAuint32) 0x0000000B)
1251*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO2022JP1         ((XAuint32) 0x0000000B)
1252*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO88591           ((XAuint32) 0x0000000C)
1253*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO885910          ((XAuint32) 0x0000000D)
1254*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO885913          ((XAuint32) 0x0000000E)
1255*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO885914          ((XAuint32) 0x0000000F)
1256*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO885915          ((XAuint32) 0x00000010)
1257*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO88592           ((XAuint32) 0x00000011)
1258*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO88593           ((XAuint32) 0x00000012)
1259*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO88594           ((XAuint32) 0x00000013)
1260*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO88595           ((XAuint32) 0x00000014)
1261*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO88596           ((XAuint32) 0x00000015)
1262*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO88597           ((XAuint32) 0x00000016)
1263*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO88598           ((XAuint32) 0x00000017)
1264*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISO88599           ((XAuint32) 0x00000018)
1265*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_ISOEUCJP           ((XAuint32) 0x00000019)
1266*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_SHIFTJIS           ((XAuint32) 0x0000001A)
1267*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_SMS7BIT            ((XAuint32) 0x0000001B)
1268*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_UTF7               ((XAuint32) 0x0000001C)
1269*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_UTF8               ((XAuint32) 0x0000001D)
1270*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_JAVACONFORMANTUTF8 ((XAuint32) 0x0000001E)
1271*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_UTF16BE            ((XAuint32) 0x0000001F)
1272*bebae9c0SAndroid Build Coastguard Worker #define XA_CHARACTERENCODING_UTF16LE            ((XAuint32) 0x00000020)
1273*bebae9c0SAndroid Build Coastguard Worker 
1274*bebae9c0SAndroid Build Coastguard Worker #define XA_METADATA_FILTER_KEY          ((XAuint8) 0x01)
1275*bebae9c0SAndroid Build Coastguard Worker #define XA_METADATA_FILTER_LANG         ((XAuint8) 0x02)
1276*bebae9c0SAndroid Build Coastguard Worker #define XA_METADATA_FILTER_ENCODING     ((XAuint8) 0x04)
1277*bebae9c0SAndroid Build Coastguard Worker 
1278*bebae9c0SAndroid Build Coastguard Worker #define XA_METADATATRAVERSALMODE_ALL    ((XAuint32) 0x00000001)
1279*bebae9c0SAndroid Build Coastguard Worker #define XA_METADATATRAVERSALMODE_NODE   ((XAuint32) 0x00000002)
1280*bebae9c0SAndroid Build Coastguard Worker 
1281*bebae9c0SAndroid Build Coastguard Worker #ifndef _KHRONOS_KEYS_
1282*bebae9c0SAndroid Build Coastguard Worker #define _KHRONOS_KEYS_
1283*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_TITLE                   "KhronosTitle"
1284*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_ALBUM                   "KhronosAlbum"
1285*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_TRACK_NUMBER            "KhronosTrackNumber"
1286*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_ARTIST                  "KhronosArtist"
1287*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_GENRE                   "KhronosGenre"
1288*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_YEAR                    "KhronosYear"
1289*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_COMMENT                 "KhronosComment"
1290*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_ARTIST_URL              "KhronosArtistURL"
1291*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_CONTENT_URL             "KhronosContentURL"
1292*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_RATING                  "KhronosRating"
1293*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_ALBUM_ART               "KhronosAlbumArt"
1294*bebae9c0SAndroid Build Coastguard Worker #define KHRONOS_COPYRIGHT               "KhronosCopyright"
1295*bebae9c0SAndroid Build Coastguard Worker #endif /* _KHRONOS_KEYS_ */
1296*bebae9c0SAndroid Build Coastguard Worker 
1297*bebae9c0SAndroid Build Coastguard Worker 
1298*bebae9c0SAndroid Build Coastguard Worker typedef struct XAMetadataInfo_ {
1299*bebae9c0SAndroid Build Coastguard Worker     XAuint32 size;
1300*bebae9c0SAndroid Build Coastguard Worker     XAuint32 encoding;
1301*bebae9c0SAndroid Build Coastguard Worker     const XAchar langCountry[16];
1302*bebae9c0SAndroid Build Coastguard Worker     XAuint8 data[1];
1303*bebae9c0SAndroid Build Coastguard Worker } XAMetadataInfo;
1304*bebae9c0SAndroid Build Coastguard Worker 
1305*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_METADATAEXTRACTION;
1306*bebae9c0SAndroid Build Coastguard Worker 
1307*bebae9c0SAndroid Build Coastguard Worker struct XAMetadataExtractionItf_;
1308*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAMetadataExtractionItf_
1309*bebae9c0SAndroid Build Coastguard Worker     * const * XAMetadataExtractionItf;
1310*bebae9c0SAndroid Build Coastguard Worker 
1311*bebae9c0SAndroid Build Coastguard Worker struct XAMetadataExtractionItf_ {
1312*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetItemCount) (
1313*bebae9c0SAndroid Build Coastguard Worker         XAMetadataExtractionItf self,
1314*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pItemCount
1315*bebae9c0SAndroid Build Coastguard Worker     );
1316*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetKeySize) (
1317*bebae9c0SAndroid Build Coastguard Worker         XAMetadataExtractionItf self,
1318*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index,
1319*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pKeySize
1320*bebae9c0SAndroid Build Coastguard Worker     );
1321*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetKey) (
1322*bebae9c0SAndroid Build Coastguard Worker         XAMetadataExtractionItf self,
1323*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index,
1324*bebae9c0SAndroid Build Coastguard Worker         XAuint32 keySize,
1325*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInfo * pKey
1326*bebae9c0SAndroid Build Coastguard Worker     );
1327*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetValueSize) (
1328*bebae9c0SAndroid Build Coastguard Worker         XAMetadataExtractionItf self,
1329*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index,
1330*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pValueSize
1331*bebae9c0SAndroid Build Coastguard Worker     );
1332*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetValue) (
1333*bebae9c0SAndroid Build Coastguard Worker         XAMetadataExtractionItf self,
1334*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index,
1335*bebae9c0SAndroid Build Coastguard Worker         XAuint32 valueSize,
1336*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInfo * pValue
1337*bebae9c0SAndroid Build Coastguard Worker     );
1338*bebae9c0SAndroid Build Coastguard Worker     XAresult (*AddKeyFilter) (
1339*bebae9c0SAndroid Build Coastguard Worker         XAMetadataExtractionItf self,
1340*bebae9c0SAndroid Build Coastguard Worker         XAuint32 keySize,
1341*bebae9c0SAndroid Build Coastguard Worker         const void * pKey,
1342*bebae9c0SAndroid Build Coastguard Worker         XAuint32 keyEncoding,
1343*bebae9c0SAndroid Build Coastguard Worker         const XAchar * pValueLangCountry,
1344*bebae9c0SAndroid Build Coastguard Worker         XAuint32 valueEncoding,
1345*bebae9c0SAndroid Build Coastguard Worker         XAuint8 filterMask
1346*bebae9c0SAndroid Build Coastguard Worker     );
1347*bebae9c0SAndroid Build Coastguard Worker     XAresult (*ClearKeyFilter) (
1348*bebae9c0SAndroid Build Coastguard Worker         XAMetadataExtractionItf self
1349*bebae9c0SAndroid Build Coastguard Worker     );
1350*bebae9c0SAndroid Build Coastguard Worker };
1351*bebae9c0SAndroid Build Coastguard Worker 
1352*bebae9c0SAndroid Build Coastguard Worker 
1353*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_METADATAINSERTION;
1354*bebae9c0SAndroid Build Coastguard Worker 
1355*bebae9c0SAndroid Build Coastguard Worker struct XAMetadataInsertionItf_;
1356*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAMetadataInsertionItf_
1357*bebae9c0SAndroid Build Coastguard Worker     * const * XAMetadataInsertionItf;
1358*bebae9c0SAndroid Build Coastguard Worker 
1359*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaMetadataInsertionCallback) (
1360*bebae9c0SAndroid Build Coastguard Worker     XAMetadataInsertionItf caller,
1361*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
1362*bebae9c0SAndroid Build Coastguard Worker     XAMetadataInfo * pKey,
1363*bebae9c0SAndroid Build Coastguard Worker     XAMetadataInfo * pValue,
1364*bebae9c0SAndroid Build Coastguard Worker     XAint32 nodeID,
1365*bebae9c0SAndroid Build Coastguard Worker     XAboolean result
1366*bebae9c0SAndroid Build Coastguard Worker );
1367*bebae9c0SAndroid Build Coastguard Worker 
1368*bebae9c0SAndroid Build Coastguard Worker struct XAMetadataInsertionItf_ {
1369*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CreateChildNode) (
1370*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInsertionItf self,
1371*bebae9c0SAndroid Build Coastguard Worker         XAint32 parentNodeID,
1372*bebae9c0SAndroid Build Coastguard Worker         XAuint32 type,
1373*bebae9c0SAndroid Build Coastguard Worker         XAchar * mimeType,
1374*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pChildNodeID
1375*bebae9c0SAndroid Build Coastguard Worker     );
1376*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSupportedKeysCount) (
1377*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInsertionItf self,
1378*bebae9c0SAndroid Build Coastguard Worker         XAint32 nodeID,
1379*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pFreeKeys,
1380*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pKeyCount,
1381*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pEncodingCount
1382*bebae9c0SAndroid Build Coastguard Worker     );
1383*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetKeySize) (
1384*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInsertionItf self,
1385*bebae9c0SAndroid Build Coastguard Worker         XAint32 nodeID,
1386*bebae9c0SAndroid Build Coastguard Worker         XAuint32 keyIndex,
1387*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pKeySize
1388*bebae9c0SAndroid Build Coastguard Worker     );
1389*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetKey) (
1390*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInsertionItf self,
1391*bebae9c0SAndroid Build Coastguard Worker         XAint32 nodeID,
1392*bebae9c0SAndroid Build Coastguard Worker         XAuint32 keyIndex,
1393*bebae9c0SAndroid Build Coastguard Worker         XAuint32 keySize,
1394*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInfo * pKey
1395*bebae9c0SAndroid Build Coastguard Worker     );
1396*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFreeKeysEncoding) (
1397*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInsertionItf self,
1398*bebae9c0SAndroid Build Coastguard Worker         XAint32 nodeID,
1399*bebae9c0SAndroid Build Coastguard Worker         XAuint32 encodingIndex,
1400*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pEncoding
1401*bebae9c0SAndroid Build Coastguard Worker     );
1402*bebae9c0SAndroid Build Coastguard Worker     XAresult (*InsertMetadataItem) (
1403*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInsertionItf self,
1404*bebae9c0SAndroid Build Coastguard Worker         XAint32 nodeID,
1405*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInfo * pKey,
1406*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInfo * pValue,
1407*bebae9c0SAndroid Build Coastguard Worker         XAboolean overwrite
1408*bebae9c0SAndroid Build Coastguard Worker     );
1409*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterCallback) (
1410*bebae9c0SAndroid Build Coastguard Worker         XAMetadataInsertionItf self,
1411*bebae9c0SAndroid Build Coastguard Worker         xaMetadataInsertionCallback callback,
1412*bebae9c0SAndroid Build Coastguard Worker         void * pContext
1413*bebae9c0SAndroid Build Coastguard Worker     );
1414*bebae9c0SAndroid Build Coastguard Worker };
1415*bebae9c0SAndroid Build Coastguard Worker 
1416*bebae9c0SAndroid Build Coastguard Worker 
1417*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_METADATATRAVERSAL;
1418*bebae9c0SAndroid Build Coastguard Worker 
1419*bebae9c0SAndroid Build Coastguard Worker struct XAMetadataTraversalItf_;
1420*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAMetadataTraversalItf_
1421*bebae9c0SAndroid Build Coastguard Worker     *  const *  XAMetadataTraversalItf;
1422*bebae9c0SAndroid Build Coastguard Worker 
1423*bebae9c0SAndroid Build Coastguard Worker struct XAMetadataTraversalItf_ {
1424*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetMode) (
1425*bebae9c0SAndroid Build Coastguard Worker         XAMetadataTraversalItf self,
1426*bebae9c0SAndroid Build Coastguard Worker         XAuint32 mode
1427*bebae9c0SAndroid Build Coastguard Worker     );
1428*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetChildCount) (
1429*bebae9c0SAndroid Build Coastguard Worker         XAMetadataTraversalItf self,
1430*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pCount
1431*bebae9c0SAndroid Build Coastguard Worker     );
1432*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetChildMIMETypeSize) (
1433*bebae9c0SAndroid Build Coastguard Worker         XAMetadataTraversalItf self,
1434*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index,
1435*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pSize
1436*bebae9c0SAndroid Build Coastguard Worker     );
1437*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetChildInfo) (
1438*bebae9c0SAndroid Build Coastguard Worker         XAMetadataTraversalItf self,
1439*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index,
1440*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pNodeID,
1441*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pType,
1442*bebae9c0SAndroid Build Coastguard Worker         XAuint32 size,
1443*bebae9c0SAndroid Build Coastguard Worker         XAchar * pMimeType
1444*bebae9c0SAndroid Build Coastguard Worker     );
1445*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetActiveNode) (
1446*bebae9c0SAndroid Build Coastguard Worker         XAMetadataTraversalItf self,
1447*bebae9c0SAndroid Build Coastguard Worker         XAuint32 index
1448*bebae9c0SAndroid Build Coastguard Worker     );
1449*bebae9c0SAndroid Build Coastguard Worker };
1450*bebae9c0SAndroid Build Coastguard Worker 
1451*bebae9c0SAndroid Build Coastguard Worker /* DYNAMIC SOURCE */
1452*bebae9c0SAndroid Build Coastguard Worker 
1453*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_DYNAMICSOURCE;
1454*bebae9c0SAndroid Build Coastguard Worker 
1455*bebae9c0SAndroid Build Coastguard Worker struct XADynamicSourceItf_;
1456*bebae9c0SAndroid Build Coastguard Worker typedef const struct XADynamicSourceItf_ * const * XADynamicSourceItf;
1457*bebae9c0SAndroid Build Coastguard Worker 
1458*bebae9c0SAndroid Build Coastguard Worker struct XADynamicSourceItf_ {
1459*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetSource) (
1460*bebae9c0SAndroid Build Coastguard Worker         XADynamicSourceItf self,
1461*bebae9c0SAndroid Build Coastguard Worker         XADataSource * pDataSource
1462*bebae9c0SAndroid Build Coastguard Worker     );
1463*bebae9c0SAndroid Build Coastguard Worker };
1464*bebae9c0SAndroid Build Coastguard Worker 
1465*bebae9c0SAndroid Build Coastguard Worker 
1466*bebae9c0SAndroid Build Coastguard Worker 
1467*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
1468*bebae9c0SAndroid Build Coastguard Worker   /*  I/O DEVICES RELATED INTERFACES, STRUCTS AND DEFINES          */
1469*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
1470*bebae9c0SAndroid Build Coastguard Worker 
1471*bebae9c0SAndroid Build Coastguard Worker /* CAMERA AND CAMERA CAPABILITIES */
1472*bebae9c0SAndroid Build Coastguard Worker 
1473*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_APERTUREMODE_MANUAL               ((XAuint32) 0x00000001)
1474*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_APERTUREMODE_AUTO                 ((XAuint32) 0x00000002)
1475*bebae9c0SAndroid Build Coastguard Worker 
1476*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_AUTOEXPOSURESTATUS_SUCCESS        ((XAuint32) 0x00000001)
1477*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_AUTOEXPOSURESTATUS_UNDEREXPOSURE  ((XAuint32) 0x00000002)
1478*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_AUTOEXPOSURESTATUS_OVEREXPOSURE   ((XAuint32) 0x00000003)
1479*bebae9c0SAndroid Build Coastguard Worker 
1480*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACBEVENT_ROTATION                   ((XAuint32) 0x00000001)
1481*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACBEVENT_FLASHREADY                 ((XAuint32) 0x00000002)
1482*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACBEVENT_FOCUSSTATUS                ((XAuint32) 0x00000003)
1483*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACBEVENT_EXPOSURESTATUS             ((XAuint32) 0x00000004)
1484*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACBEVENT_WHITEBALANCELOCKED         ((XAuint32) 0x00000005)
1485*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACBEVENT_ZOOMSTATUS                 ((XAuint32) 0x00000006)
1486*bebae9c0SAndroid Build Coastguard Worker 
1487*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_FLASH                          ((XAuint32) 0x00000001)
1488*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_AUTOFOCUS                      ((XAuint32) 0x00000002)
1489*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_CONTINUOUSAUTOFOCUS            ((XAuint32) 0x00000004)
1490*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_MANUALFOCUS                    ((XAuint32) 0x00000008)
1491*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_AUTOEXPOSURE                   ((XAuint32) 0x00000010)
1492*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_MANUALEXPOSURE                 ((XAuint32) 0x00000020)
1493*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_AUTOISOSENSITIVITY             ((XAuint32) 0x00000040)
1494*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_MANUALISOSENSITIVITY           ((XAuint32) 0x00000080)
1495*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_AUTOAPERTURE                   ((XAuint32) 0x00000100)
1496*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_MANUALAPERTURE                 ((XAuint32) 0x00000200)
1497*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_AUTOSHUTTERSPEED               ((XAuint32) 0x00000400)
1498*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_MANUALSHUTTERSPEED             ((XAuint32) 0x00000800)
1499*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_AUTOWHITEBALANCE               ((XAuint32) 0x00001000)
1500*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_MANUALWHITEBALANCE             ((XAuint32) 0x00002000)
1501*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_OPTICALZOOM                    ((XAuint32) 0x00004000)
1502*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_DIGITALZOOM                    ((XAuint32) 0x00008000)
1503*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_METERING                       ((XAuint32) 0x00010000)
1504*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_BRIGHTNESS                     ((XAuint32) 0x00020000)
1505*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_CONTRAST                       ((XAuint32) 0x00040000)
1506*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERACAP_GAMMA                          ((XAuint32) 0x00080000)
1507*bebae9c0SAndroid Build Coastguard Worker 
1508*bebae9c0SAndroid Build Coastguard Worker 
1509*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_MANUAL               ((XAuint32) 0x00000001)
1510*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_AUTO                 ((XAuint32) 0x00000002)
1511*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_NIGHT                ((XAuint32) 0x00000004)
1512*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_BACKLIGHT            ((XAuint32) 0x00000008)
1513*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_SPOTLIGHT            ((XAuint32) 0x00000010)
1514*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_SPORTS               ((XAuint32) 0x00000020)
1515*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_SNOW                 ((XAuint32) 0x00000040)
1516*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_BEACH                ((XAuint32) 0x00000080)
1517*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_LARGEAPERTURE        ((XAuint32) 0x00000100)
1518*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_SMALLAPERTURE        ((XAuint32) 0x00000200)
1519*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_PORTRAIT             ((XAuint32) 0x0000400)
1520*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_EXPOSUREMODE_NIGHTPORTRAIT        ((XAuint32) 0x00000800)
1521*bebae9c0SAndroid Build Coastguard Worker 
1522*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FLASHMODE_OFF                     ((XAuint32) 0x00000001)
1523*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FLASHMODE_ON                      ((XAuint32) 0x00000002)
1524*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FLASHMODE_AUTO                    ((XAuint32) 0x00000004)
1525*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FLASHMODE_REDEYEREDUCTION         ((XAuint32) 0x00000008)
1526*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FLASHMODE_REDEYEREDUCTION_AUTO    ((XAuint32) 0x00000010)
1527*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FLASHMODE_FILLIN                  ((XAuint32) 0x00000020)
1528*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FLASHMODE_TORCH                   ((XAuint32) 0x00000040)
1529*bebae9c0SAndroid Build Coastguard Worker 
1530*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODE_MANUAL                  ((XAuint32) 0x00000001)
1531*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODE_AUTO                    ((XAuint32) 0x00000002)
1532*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODE_CENTROID                ((XAuint32) 0x00000004)
1533*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODE_CONTINUOUS_AUTO         ((XAuint32) 0x00000008)
1534*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODE_CONTINUOUS_CENTROID     ((XAuint32) 0x00000010)
1535*bebae9c0SAndroid Build Coastguard Worker 
1536*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODESTATUS_OFF               ((XAuint32) 0x00000001)
1537*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODESTATUS_REQUEST           ((XAuint32) 0x00000002)
1538*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODESTATUS_REACHED           ((XAuint32) 0x00000003)
1539*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODESTATUS_UNABLETOREACH     ((XAuint32) 0x00000004)
1540*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_FOCUSMODESTATUS_LOST              ((XAuint32) 0x00000005)
1541*bebae9c0SAndroid Build Coastguard Worker 
1542*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_ISOSENSITIVITYMODE_MANUAL         ((XAuint32) 0x00000001)
1543*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_ISOSENSITIVITYMODE_AUTO           ((XAuint32) 0x00000002)
1544*bebae9c0SAndroid Build Coastguard Worker 
1545*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_LOCK_AUTOFOCUS                    ((XAuint32) 0x00000001)
1546*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_LOCK_AUTOEXPOSURE                 ((XAuint32) 0x00000002)
1547*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_LOCK_AUTOWHITEBALANCE             ((XAuint32) 0x00000004)
1548*bebae9c0SAndroid Build Coastguard Worker 
1549*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_METERINGMODE_AVERAGE              ((XAuint32) 0x00000001)
1550*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_METERINGMODE_SPOT                 ((XAuint32) 0x00000002)
1551*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_METERINGMODE_MATRIX               ((XAuint32) 0x00000004)
1552*bebae9c0SAndroid Build Coastguard Worker 
1553*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_SHUTTERSPEEDMODE_MANUAL           ((XAuint32) 0x00000001)
1554*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_SHUTTERSPEEDMODE_AUTO             ((XAuint32) 0x00000002)
1555*bebae9c0SAndroid Build Coastguard Worker 
1556*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_MANUAL           ((XAuint32) 0x00000001)
1557*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_AUTO             ((XAuint32) 0x00000002)
1558*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_SUNLIGHT         ((XAuint32) 0x00000004)
1559*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_CLOUDY           ((XAuint32) 0x00000008)
1560*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_SHADE            ((XAuint32) 0x00000010)
1561*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_TUNGSTEN         ((XAuint32) 0x00000020)
1562*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_FLUORESCENT      ((XAuint32) 0x00000040)
1563*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_INCANDESCENT     ((XAuint32) 0x00000080)
1564*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_FLASH            ((XAuint32) 0x00000100)
1565*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_WHITEBALANCEMODE_SUNSET           ((XAuint32) 0x00000200)
1566*bebae9c0SAndroid Build Coastguard Worker 
1567*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_ZOOM_SLOW                         ((XAuint32) 50)
1568*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_ZOOM_NORMAL                       ((XAuint32) 100)
1569*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_ZOOM_FAST                         ((XAuint32) 200)
1570*bebae9c0SAndroid Build Coastguard Worker #define XA_CAMERA_ZOOM_FASTEST                      ((XAuint32) 0xFFFFFFFF)
1571*bebae9c0SAndroid Build Coastguard Worker 
1572*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_ONE                          ((XAuint32) 0x00000001)
1573*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_THREE_3X1                    ((XAuint32) 0x00000002)
1574*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_FIVE_CROSS                   ((XAuint32) 0x00000003)
1575*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_SEVEN_CROSS                  ((XAuint32) 0x00000004)
1576*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_NINE_SQUARE                  ((XAuint32) 0x00000005)
1577*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_ELEVEN_CROSS                 ((XAuint32) 0x00000006)
1578*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_TWELVE_3X4                   ((XAuint32) 0x00000007)
1579*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_TWELVE_4X3                   ((XAuint32) 0x00000008)
1580*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_SIXTEEN_SQUARE               ((XAuint32) 0x00000009)
1581*bebae9c0SAndroid Build Coastguard Worker #define XA_FOCUSPOINTS_CUSTOM                       ((XAuint32) 0x0000000A)
1582*bebae9c0SAndroid Build Coastguard Worker 
1583*bebae9c0SAndroid Build Coastguard Worker typedef struct XAFocusPointPosition_ {
1584*bebae9c0SAndroid Build Coastguard Worker     XAuint32 left;
1585*bebae9c0SAndroid Build Coastguard Worker     XAuint32 top;
1586*bebae9c0SAndroid Build Coastguard Worker     XAuint32 width;
1587*bebae9c0SAndroid Build Coastguard Worker     XAuint32 height;
1588*bebae9c0SAndroid Build Coastguard Worker } XAFocusPointPosition;
1589*bebae9c0SAndroid Build Coastguard Worker 
1590*bebae9c0SAndroid Build Coastguard Worker #define XA_ORIENTATION_UNKNOWN                      ((XAuint32) 0x00000001)
1591*bebae9c0SAndroid Build Coastguard Worker #define XA_ORIENTATION_OUTWARDS                     ((XAuint32) 0x00000002)
1592*bebae9c0SAndroid Build Coastguard Worker #define XA_ORIENTATION_INWARDS                      ((XAuint32) 0x00000003)
1593*bebae9c0SAndroid Build Coastguard Worker 
1594*bebae9c0SAndroid Build Coastguard Worker typedef struct XACameraDescriptor_ {
1595*bebae9c0SAndroid Build Coastguard Worker     XAchar * name;
1596*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxWidth;
1597*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxHeight;
1598*bebae9c0SAndroid Build Coastguard Worker     XAuint32 orientation;
1599*bebae9c0SAndroid Build Coastguard Worker     XAuint32 featuresSupported;
1600*bebae9c0SAndroid Build Coastguard Worker     XAuint32 exposureModesSupported;
1601*bebae9c0SAndroid Build Coastguard Worker     XAuint32 flashModesSupported;
1602*bebae9c0SAndroid Build Coastguard Worker     XAuint32 focusModesSupported;
1603*bebae9c0SAndroid Build Coastguard Worker     XAuint32 meteringModesSupported;
1604*bebae9c0SAndroid Build Coastguard Worker     XAuint32 whiteBalanceModesSupported;
1605*bebae9c0SAndroid Build Coastguard Worker } XACameraDescriptor;
1606*bebae9c0SAndroid Build Coastguard Worker 
1607*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_CAMERACAPABILITIES;
1608*bebae9c0SAndroid Build Coastguard Worker 
1609*bebae9c0SAndroid Build Coastguard Worker struct XACameraCapabilitiesItf_;
1610*bebae9c0SAndroid Build Coastguard Worker typedef const struct XACameraCapabilitiesItf_
1611*bebae9c0SAndroid Build Coastguard Worker     * const * XACameraCapabilitiesItf;
1612*bebae9c0SAndroid Build Coastguard Worker 
1613*bebae9c0SAndroid Build Coastguard Worker struct XACameraCapabilitiesItf_ {
1614*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetCameraCapabilities) (
1615*bebae9c0SAndroid Build Coastguard Worker         XACameraCapabilitiesItf self,
1616*bebae9c0SAndroid Build Coastguard Worker         XAuint32 *pIndex,
1617*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pCameraDeviceID,
1618*bebae9c0SAndroid Build Coastguard Worker         XACameraDescriptor * pDescriptor
1619*bebae9c0SAndroid Build Coastguard Worker     );
1620*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryFocusRegionPatterns) (
1621*bebae9c0SAndroid Build Coastguard Worker         XACameraCapabilitiesItf self,
1622*bebae9c0SAndroid Build Coastguard Worker         XAuint32 cameraDeviceID,
1623*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pPatternID,
1624*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pFocusPattern,
1625*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pCustomPoints1,
1626*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pCustomPoints2
1627*bebae9c0SAndroid Build Coastguard Worker     );
1628*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSupportedAutoLocks) (
1629*bebae9c0SAndroid Build Coastguard Worker         XACameraCapabilitiesItf self,
1630*bebae9c0SAndroid Build Coastguard Worker         XAuint32 cameraDeviceID,
1631*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumCombinations,
1632*bebae9c0SAndroid Build Coastguard Worker         XAuint32 ** ppLocks
1633*bebae9c0SAndroid Build Coastguard Worker     );
1634*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSupportedFocusManualSettings) (
1635*bebae9c0SAndroid Build Coastguard Worker         XACameraCapabilitiesItf self,
1636*bebae9c0SAndroid Build Coastguard Worker         XAuint32 cameraDeviceID,
1637*bebae9c0SAndroid Build Coastguard Worker         XAboolean macroEnabled,
1638*bebae9c0SAndroid Build Coastguard Worker         XAmillimeter * pMinValue,
1639*bebae9c0SAndroid Build Coastguard Worker         XAmillimeter * pMaxValue,
1640*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumSettings,
1641*bebae9c0SAndroid Build Coastguard Worker         XAmillimeter ** ppSettings
1642*bebae9c0SAndroid Build Coastguard Worker     );
1643*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSupportedISOSensitivitySettings) (
1644*bebae9c0SAndroid Build Coastguard Worker         XACameraCapabilitiesItf self,
1645*bebae9c0SAndroid Build Coastguard Worker         XAuint32 cameraDeviceID,
1646*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMinValue,
1647*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMaxValue,
1648*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumSettings,
1649*bebae9c0SAndroid Build Coastguard Worker         XAuint32 ** ppSettings
1650*bebae9c0SAndroid Build Coastguard Worker     );
1651*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSupportedApertureManualSettings) (
1652*bebae9c0SAndroid Build Coastguard Worker         XACameraCapabilitiesItf self,
1653*bebae9c0SAndroid Build Coastguard Worker         XAuint32 cameraDeviceID,
1654*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMinValue,
1655*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMaxValue,
1656*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumSettings,
1657*bebae9c0SAndroid Build Coastguard Worker         XAuint32 ** ppSettings
1658*bebae9c0SAndroid Build Coastguard Worker     );
1659*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSupportedShutterSpeedManualSettings) (
1660*bebae9c0SAndroid Build Coastguard Worker         XACameraCapabilitiesItf self,
1661*bebae9c0SAndroid Build Coastguard Worker         XAuint32 cameraDeviceID,
1662*bebae9c0SAndroid Build Coastguard Worker         XAmicrosecond * pMinValue,
1663*bebae9c0SAndroid Build Coastguard Worker         XAmicrosecond * pMaxValue,
1664*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumSettings,
1665*bebae9c0SAndroid Build Coastguard Worker         XAmicrosecond ** ppSettings
1666*bebae9c0SAndroid Build Coastguard Worker     );
1667*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSupportedWhiteBalanceManualSettings) (
1668*bebae9c0SAndroid Build Coastguard Worker         XACameraCapabilitiesItf self,
1669*bebae9c0SAndroid Build Coastguard Worker         XAuint32 cameraDeviceID,
1670*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMinValue,
1671*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMaxValue,
1672*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumSettings,
1673*bebae9c0SAndroid Build Coastguard Worker         XAuint32 ** ppSettings
1674*bebae9c0SAndroid Build Coastguard Worker     );
1675*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSupportedZoomSettings) (
1676*bebae9c0SAndroid Build Coastguard Worker         XACameraCapabilitiesItf self,
1677*bebae9c0SAndroid Build Coastguard Worker         XAuint32 cameraDeviceID,
1678*bebae9c0SAndroid Build Coastguard Worker         XAboolean digitalEnabled,
1679*bebae9c0SAndroid Build Coastguard Worker         XAboolean macroEnabled,
1680*bebae9c0SAndroid Build Coastguard Worker         XApermille * pMaxValue,
1681*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumSettings,
1682*bebae9c0SAndroid Build Coastguard Worker         XApermille ** ppSettings,
1683*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pSpeedSupported
1684*bebae9c0SAndroid Build Coastguard Worker 
1685*bebae9c0SAndroid Build Coastguard Worker     );
1686*bebae9c0SAndroid Build Coastguard Worker };
1687*bebae9c0SAndroid Build Coastguard Worker 
1688*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_CAMERA;
1689*bebae9c0SAndroid Build Coastguard Worker 
1690*bebae9c0SAndroid Build Coastguard Worker struct XACameraItf_;
1691*bebae9c0SAndroid Build Coastguard Worker typedef const struct XACameraItf_ * const * XACameraItf;
1692*bebae9c0SAndroid Build Coastguard Worker 
1693*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaCameraCallback) (
1694*bebae9c0SAndroid Build Coastguard Worker     XACameraItf caller,
1695*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
1696*bebae9c0SAndroid Build Coastguard Worker     XAuint32 eventId,
1697*bebae9c0SAndroid Build Coastguard Worker     XAuint32 eventData
1698*bebae9c0SAndroid Build Coastguard Worker );
1699*bebae9c0SAndroid Build Coastguard Worker 
1700*bebae9c0SAndroid Build Coastguard Worker struct XACameraItf_ {
1701*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterCallback) (
1702*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1703*bebae9c0SAndroid Build Coastguard Worker         xaCameraCallback callback,
1704*bebae9c0SAndroid Build Coastguard Worker         void * pContext
1705*bebae9c0SAndroid Build Coastguard Worker     );
1706*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetFlashMode) (
1707*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1708*bebae9c0SAndroid Build Coastguard Worker         XAuint32 flashMode
1709*bebae9c0SAndroid Build Coastguard Worker     );
1710*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFlashMode) (
1711*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1712*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pFlashMode
1713*bebae9c0SAndroid Build Coastguard Worker     );
1714*bebae9c0SAndroid Build Coastguard Worker     XAresult (*IsFlashReady) (
1715*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1716*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pReady
1717*bebae9c0SAndroid Build Coastguard Worker     );
1718*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetFocusMode) (
1719*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1720*bebae9c0SAndroid Build Coastguard Worker         XAuint32 focusMode,
1721*bebae9c0SAndroid Build Coastguard Worker         XAmillimeter manualSetting,
1722*bebae9c0SAndroid Build Coastguard Worker         XAboolean macroEnabled
1723*bebae9c0SAndroid Build Coastguard Worker     );
1724*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFocusMode) (
1725*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1726*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pFocusMode,
1727*bebae9c0SAndroid Build Coastguard Worker         XAmillimeter * pManualSetting,
1728*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pMacroEnabled
1729*bebae9c0SAndroid Build Coastguard Worker     );
1730*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetFocusRegionPattern) (
1731*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1732*bebae9c0SAndroid Build Coastguard Worker         XAuint32 focusPattern,
1733*bebae9c0SAndroid Build Coastguard Worker         XAuint32 activePoints1,
1734*bebae9c0SAndroid Build Coastguard Worker         XAuint32 activePoints2
1735*bebae9c0SAndroid Build Coastguard Worker     );
1736*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFocusRegionPattern) (
1737*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1738*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pFocusPattern,
1739*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pActivePoints1,
1740*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pActivePoints2
1741*bebae9c0SAndroid Build Coastguard Worker     );
1742*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFocusRegionPositions) (
1743*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1744*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumPositionEntries,
1745*bebae9c0SAndroid Build Coastguard Worker         XAFocusPointPosition * pFocusPosition
1746*bebae9c0SAndroid Build Coastguard Worker     );
1747*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFocusModeStatus) (
1748*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1749*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pFocusStatus,
1750*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pRegionStatus1,
1751*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pRegionStatus2
1752*bebae9c0SAndroid Build Coastguard Worker     );
1753*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetMeteringMode) (
1754*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1755*bebae9c0SAndroid Build Coastguard Worker         XAuint32 meteringMode
1756*bebae9c0SAndroid Build Coastguard Worker     );
1757*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetMeteringMode) (
1758*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1759*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMeteringMode
1760*bebae9c0SAndroid Build Coastguard Worker     );
1761*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetExposureMode) (
1762*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1763*bebae9c0SAndroid Build Coastguard Worker         XAuint32 exposure,
1764*bebae9c0SAndroid Build Coastguard Worker         XAuint32 compensation
1765*bebae9c0SAndroid Build Coastguard Worker     );
1766*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetExposureMode) (
1767*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1768*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pExposure,
1769*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pCompensation
1770*bebae9c0SAndroid Build Coastguard Worker     );
1771*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetISOSensitivity) (
1772*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1773*bebae9c0SAndroid Build Coastguard Worker         XAuint32 isoSensitivity,
1774*bebae9c0SAndroid Build Coastguard Worker         XAuint32 manualSetting
1775*bebae9c0SAndroid Build Coastguard Worker     );
1776*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetISOSensitivity) (
1777*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1778*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pIsoSensitivity,
1779*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pManualSetting
1780*bebae9c0SAndroid Build Coastguard Worker     );
1781*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetAperture) (
1782*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1783*bebae9c0SAndroid Build Coastguard Worker         XAuint32 aperture,
1784*bebae9c0SAndroid Build Coastguard Worker         XAuint32 manualSetting
1785*bebae9c0SAndroid Build Coastguard Worker     );
1786*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAperture) (
1787*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1788*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pAperture,
1789*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pManualSetting
1790*bebae9c0SAndroid Build Coastguard Worker     );
1791*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetShutterSpeed) (
1792*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1793*bebae9c0SAndroid Build Coastguard Worker         XAuint32 shutterSpeed,
1794*bebae9c0SAndroid Build Coastguard Worker         XAmicrosecond manualSetting
1795*bebae9c0SAndroid Build Coastguard Worker     );
1796*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetShutterSpeed) (
1797*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1798*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pShutterSpeed,
1799*bebae9c0SAndroid Build Coastguard Worker         XAmicrosecond * pManualSetting
1800*bebae9c0SAndroid Build Coastguard Worker     );
1801*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetWhiteBalance) (
1802*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1803*bebae9c0SAndroid Build Coastguard Worker         XAuint32 whiteBalance,
1804*bebae9c0SAndroid Build Coastguard Worker         XAuint32 manualSetting
1805*bebae9c0SAndroid Build Coastguard Worker     );
1806*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetWhiteBalance) (
1807*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1808*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pWhiteBalance,
1809*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pManualSetting
1810*bebae9c0SAndroid Build Coastguard Worker     );
1811*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetAutoLocks) (
1812*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1813*bebae9c0SAndroid Build Coastguard Worker         XAuint32 locks
1814*bebae9c0SAndroid Build Coastguard Worker     );
1815*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAutoLocks) (
1816*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1817*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * locks
1818*bebae9c0SAndroid Build Coastguard Worker     );
1819*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetZoom) (
1820*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1821*bebae9c0SAndroid Build Coastguard Worker         XApermille zoom,
1822*bebae9c0SAndroid Build Coastguard Worker         XAboolean digitalEnabled,
1823*bebae9c0SAndroid Build Coastguard Worker         XAuint32 speed,
1824*bebae9c0SAndroid Build Coastguard Worker         XAboolean async
1825*bebae9c0SAndroid Build Coastguard Worker     );
1826*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetZoom) (
1827*bebae9c0SAndroid Build Coastguard Worker         XACameraItf self,
1828*bebae9c0SAndroid Build Coastguard Worker         XApermille * pZoom,
1829*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pDigital
1830*bebae9c0SAndroid Build Coastguard Worker     );
1831*bebae9c0SAndroid Build Coastguard Worker };
1832*bebae9c0SAndroid Build Coastguard Worker 
1833*bebae9c0SAndroid Build Coastguard Worker /* AUDIO I/O DEVICE CAPABILITIES */
1834*bebae9c0SAndroid Build Coastguard Worker 
1835*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVCONNECTION_INTEGRATED                 ((XAint16) 0x0001)
1836*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVCONNECTION_ATTACHED_WIRED             ((XAint16) 0x0100)
1837*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVCONNECTION_ATTACHED_WIRELESS          ((XAint16) 0x0200)
1838*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVCONNECTION_NETWORK                    ((XAint16) 0x0400)
1839*bebae9c0SAndroid Build Coastguard Worker 
1840*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVLOCATION_HANDSET                      ((XAint16) 0x0001)
1841*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVLOCATION_HEADSET                      ((XAint16) 0x0002)
1842*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVLOCATION_CARKIT                       ((XAint16) 0x0003)
1843*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVLOCATION_DOCK                         ((XAint16) 0x0004)
1844*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVLOCATION_REMOTE                       ((XAint16) 0x0005)
1845*bebae9c0SAndroid Build Coastguard Worker 
1846*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVSCOPE_UNKNOWN                         ((XAint16) 0x0001)
1847*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVSCOPE_ENVIRONMENT                     ((XAint16) 0x0002)
1848*bebae9c0SAndroid Build Coastguard Worker #define XA_DEVSCOPE_USER                            ((XAint16) 0x0003)
1849*bebae9c0SAndroid Build Coastguard Worker 
1850*bebae9c0SAndroid Build Coastguard Worker typedef struct XAAudioInputDescriptor_ {
1851*bebae9c0SAndroid Build Coastguard Worker     XAchar * deviceName;
1852*bebae9c0SAndroid Build Coastguard Worker     XAint16 deviceConnection;
1853*bebae9c0SAndroid Build Coastguard Worker     XAint16 deviceScope;
1854*bebae9c0SAndroid Build Coastguard Worker     XAint16 deviceLocation;
1855*bebae9c0SAndroid Build Coastguard Worker     XAboolean isForTelephony;
1856*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz minSampleRate;
1857*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz maxSampleRate;
1858*bebae9c0SAndroid Build Coastguard Worker     XAboolean isFreqRangeContinuous;
1859*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz * samplingRatesSupported;
1860*bebae9c0SAndroid Build Coastguard Worker     XAint16 numOfSamplingRatesSupported;
1861*bebae9c0SAndroid Build Coastguard Worker     XAint16 maxChannels;
1862*bebae9c0SAndroid Build Coastguard Worker } XAAudioInputDescriptor;
1863*bebae9c0SAndroid Build Coastguard Worker 
1864*bebae9c0SAndroid Build Coastguard Worker typedef struct XAAudioOutputDescriptor_ {
1865*bebae9c0SAndroid Build Coastguard Worker     XAchar *pDeviceName;
1866*bebae9c0SAndroid Build Coastguard Worker     XAint16 deviceConnection;
1867*bebae9c0SAndroid Build Coastguard Worker     XAint16 deviceScope;
1868*bebae9c0SAndroid Build Coastguard Worker     XAint16 deviceLocation;
1869*bebae9c0SAndroid Build Coastguard Worker     XAboolean isForTelephony;
1870*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz minSampleRate;
1871*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz maxSampleRate;
1872*bebae9c0SAndroid Build Coastguard Worker     XAboolean isFreqRangeContinuous;
1873*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz *samplingRatesSupported;
1874*bebae9c0SAndroid Build Coastguard Worker     XAint16 numOfSamplingRatesSupported;
1875*bebae9c0SAndroid Build Coastguard Worker     XAint16 maxChannels;
1876*bebae9c0SAndroid Build Coastguard Worker } XAAudioOutputDescriptor;
1877*bebae9c0SAndroid Build Coastguard Worker 
1878*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_AUDIOIODEVICECAPABILITIES;
1879*bebae9c0SAndroid Build Coastguard Worker 
1880*bebae9c0SAndroid Build Coastguard Worker struct XAAudioIODeviceCapabilitiesItf_;
1881*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAAudioIODeviceCapabilitiesItf_
1882*bebae9c0SAndroid Build Coastguard Worker     * const * XAAudioIODeviceCapabilitiesItf;
1883*bebae9c0SAndroid Build Coastguard Worker 
1884*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaAvailableAudioInputsChangedCallback) (
1885*bebae9c0SAndroid Build Coastguard Worker     XAAudioIODeviceCapabilitiesItf caller,
1886*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
1887*bebae9c0SAndroid Build Coastguard Worker     XAuint32 deviceID,
1888*bebae9c0SAndroid Build Coastguard Worker     XAint32 numInputs,
1889*bebae9c0SAndroid Build Coastguard Worker     XAboolean isNew
1890*bebae9c0SAndroid Build Coastguard Worker );
1891*bebae9c0SAndroid Build Coastguard Worker 
1892*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaAvailableAudioOutputsChangedCallback) (
1893*bebae9c0SAndroid Build Coastguard Worker     XAAudioIODeviceCapabilitiesItf caller,
1894*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
1895*bebae9c0SAndroid Build Coastguard Worker     XAuint32 deviceID,
1896*bebae9c0SAndroid Build Coastguard Worker     XAint32 numOutputs,
1897*bebae9c0SAndroid Build Coastguard Worker     XAboolean isNew
1898*bebae9c0SAndroid Build Coastguard Worker );
1899*bebae9c0SAndroid Build Coastguard Worker 
1900*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaDefaultDeviceIDMapChangedCallback) (
1901*bebae9c0SAndroid Build Coastguard Worker     XAAudioIODeviceCapabilitiesItf caller,
1902*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
1903*bebae9c0SAndroid Build Coastguard Worker 	XAboolean isOutput,
1904*bebae9c0SAndroid Build Coastguard Worker     XAint32 numDevices
1905*bebae9c0SAndroid Build Coastguard Worker );
1906*bebae9c0SAndroid Build Coastguard Worker 
1907*bebae9c0SAndroid Build Coastguard Worker struct XAAudioIODeviceCapabilitiesItf_ {
1908*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAvailableAudioInputs) (
1909*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1910*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pNumInputs,
1911*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pInputDeviceIDs
1912*bebae9c0SAndroid Build Coastguard Worker     );
1913*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryAudioInputCapabilities) (
1914*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1915*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
1916*bebae9c0SAndroid Build Coastguard Worker         XAAudioInputDescriptor * pDescriptor
1917*bebae9c0SAndroid Build Coastguard Worker     );
1918*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterAvailableAudioInputsChangedCallback) (
1919*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1920*bebae9c0SAndroid Build Coastguard Worker         xaAvailableAudioInputsChangedCallback callback,
1921*bebae9c0SAndroid Build Coastguard Worker         void * pContext
1922*bebae9c0SAndroid Build Coastguard Worker     );
1923*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAvailableAudioOutputs) (
1924*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1925*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pNumOutputs,
1926*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pOutputDeviceIDs
1927*bebae9c0SAndroid Build Coastguard Worker     );
1928*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryAudioOutputCapabilities) (
1929*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1930*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
1931*bebae9c0SAndroid Build Coastguard Worker         XAAudioOutputDescriptor * pDescriptor
1932*bebae9c0SAndroid Build Coastguard Worker     );
1933*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterAvailableAudioOutputsChangedCallback) (
1934*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1935*bebae9c0SAndroid Build Coastguard Worker         xaAvailableAudioOutputsChangedCallback callback,
1936*bebae9c0SAndroid Build Coastguard Worker         void * pContext
1937*bebae9c0SAndroid Build Coastguard Worker     );
1938*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterDefaultDeviceIDMapChangedCallback) (
1939*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1940*bebae9c0SAndroid Build Coastguard Worker         xaDefaultDeviceIDMapChangedCallback callback,
1941*bebae9c0SAndroid Build Coastguard Worker         void * pContext
1942*bebae9c0SAndroid Build Coastguard Worker     );
1943*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAssociatedAudioInputs) (
1944*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1945*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
1946*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pNumAudioInputs,
1947*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pAudioInputDeviceIDs
1948*bebae9c0SAndroid Build Coastguard Worker     );
1949*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAssociatedAudioOutputs) (
1950*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1951*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
1952*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pNumAudioOutputs,
1953*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pAudioOutputDeviceIDs
1954*bebae9c0SAndroid Build Coastguard Worker     );
1955*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetDefaultAudioDevices) (
1956*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1957*bebae9c0SAndroid Build Coastguard Worker         XAuint32 defaultDeviceID,
1958*bebae9c0SAndroid Build Coastguard Worker         XAint32 *pNumAudioDevices,
1959*bebae9c0SAndroid Build Coastguard Worker         XAuint32 *pAudioDeviceIDs
1960*bebae9c0SAndroid Build Coastguard Worker     );
1961*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QuerySampleFormatsSupported) (
1962*bebae9c0SAndroid Build Coastguard Worker         XAAudioIODeviceCapabilitiesItf self,
1963*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
1964*bebae9c0SAndroid Build Coastguard Worker         XAmilliHertz samplingRate,
1965*bebae9c0SAndroid Build Coastguard Worker         XAint32 *pSampleFormats,
1966*bebae9c0SAndroid Build Coastguard Worker         XAint32 *pNumOfSampleFormats
1967*bebae9c0SAndroid Build Coastguard Worker     );
1968*bebae9c0SAndroid Build Coastguard Worker };
1969*bebae9c0SAndroid Build Coastguard Worker 
1970*bebae9c0SAndroid Build Coastguard Worker /* DEVICE VOLUME */
1971*bebae9c0SAndroid Build Coastguard Worker 
1972*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_DEVICEVOLUME;
1973*bebae9c0SAndroid Build Coastguard Worker 
1974*bebae9c0SAndroid Build Coastguard Worker struct XADeviceVolumeItf_;
1975*bebae9c0SAndroid Build Coastguard Worker typedef const struct XADeviceVolumeItf_ * const * XADeviceVolumeItf;
1976*bebae9c0SAndroid Build Coastguard Worker 
1977*bebae9c0SAndroid Build Coastguard Worker struct XADeviceVolumeItf_ {
1978*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetVolumeScale) (
1979*bebae9c0SAndroid Build Coastguard Worker         XADeviceVolumeItf self,
1980*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
1981*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pMinValue,
1982*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pMaxValue,
1983*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pIsMillibelScale
1984*bebae9c0SAndroid Build Coastguard Worker     );
1985*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetVolume) (
1986*bebae9c0SAndroid Build Coastguard Worker         XADeviceVolumeItf self,
1987*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
1988*bebae9c0SAndroid Build Coastguard Worker         XAint32 volume
1989*bebae9c0SAndroid Build Coastguard Worker     );
1990*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetVolume) (
1991*bebae9c0SAndroid Build Coastguard Worker         XADeviceVolumeItf self,
1992*bebae9c0SAndroid Build Coastguard Worker         XAuint32 deviceID,
1993*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pVolume
1994*bebae9c0SAndroid Build Coastguard Worker     );
1995*bebae9c0SAndroid Build Coastguard Worker };
1996*bebae9c0SAndroid Build Coastguard Worker 
1997*bebae9c0SAndroid Build Coastguard Worker /* EQUALIZER */
1998*bebae9c0SAndroid Build Coastguard Worker 
1999*bebae9c0SAndroid Build Coastguard Worker #define XA_EQUALIZER_UNDEFINED    ((XAuint16) 0xFFFF)
2000*bebae9c0SAndroid Build Coastguard Worker 
2001*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_EQUALIZER;
2002*bebae9c0SAndroid Build Coastguard Worker 
2003*bebae9c0SAndroid Build Coastguard Worker struct XAEqualizerItf_;
2004*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAEqualizerItf_ * const * XAEqualizerItf;
2005*bebae9c0SAndroid Build Coastguard Worker 
2006*bebae9c0SAndroid Build Coastguard Worker struct XAEqualizerItf_ {
2007*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetEnabled) (
2008*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2009*bebae9c0SAndroid Build Coastguard Worker         XAboolean enabled
2010*bebae9c0SAndroid Build Coastguard Worker     );
2011*bebae9c0SAndroid Build Coastguard Worker     XAresult (*IsEnabled) (
2012*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2013*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pEnabled
2014*bebae9c0SAndroid Build Coastguard Worker     );
2015*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetNumberOfBands) (
2016*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2017*bebae9c0SAndroid Build Coastguard Worker         XAuint16 * pNumBands
2018*bebae9c0SAndroid Build Coastguard Worker     );
2019*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetBandLevelRange) (
2020*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2021*bebae9c0SAndroid Build Coastguard Worker         XAmillibel * pMin,
2022*bebae9c0SAndroid Build Coastguard Worker         XAmillibel * pMax
2023*bebae9c0SAndroid Build Coastguard Worker     );
2024*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetBandLevel) (
2025*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2026*bebae9c0SAndroid Build Coastguard Worker         XAuint16 band,
2027*bebae9c0SAndroid Build Coastguard Worker         XAmillibel level
2028*bebae9c0SAndroid Build Coastguard Worker     );
2029*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetBandLevel) (
2030*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2031*bebae9c0SAndroid Build Coastguard Worker         XAuint16 band,
2032*bebae9c0SAndroid Build Coastguard Worker         XAmillibel * pLevel
2033*bebae9c0SAndroid Build Coastguard Worker     );
2034*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetCenterFreq) (
2035*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2036*bebae9c0SAndroid Build Coastguard Worker         XAuint16 band,
2037*bebae9c0SAndroid Build Coastguard Worker         XAmilliHertz * pCenter
2038*bebae9c0SAndroid Build Coastguard Worker     );
2039*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetBandFreqRange) (
2040*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2041*bebae9c0SAndroid Build Coastguard Worker         XAuint16 band,
2042*bebae9c0SAndroid Build Coastguard Worker         XAmilliHertz * pMin,
2043*bebae9c0SAndroid Build Coastguard Worker         XAmilliHertz * pMax
2044*bebae9c0SAndroid Build Coastguard Worker     );
2045*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetBand) (
2046*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2047*bebae9c0SAndroid Build Coastguard Worker         XAmilliHertz frequency,
2048*bebae9c0SAndroid Build Coastguard Worker         XAuint16 * pBand
2049*bebae9c0SAndroid Build Coastguard Worker     );
2050*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetCurrentPreset) (
2051*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2052*bebae9c0SAndroid Build Coastguard Worker         XAuint16 * pPreset
2053*bebae9c0SAndroid Build Coastguard Worker     );
2054*bebae9c0SAndroid Build Coastguard Worker     XAresult (*UsePreset) (
2055*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2056*bebae9c0SAndroid Build Coastguard Worker         XAuint16 index
2057*bebae9c0SAndroid Build Coastguard Worker     );
2058*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetNumberOfPresets) (
2059*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2060*bebae9c0SAndroid Build Coastguard Worker         XAuint16 * pNumPresets
2061*bebae9c0SAndroid Build Coastguard Worker     );
2062*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetPresetName) (
2063*bebae9c0SAndroid Build Coastguard Worker         XAEqualizerItf self,
2064*bebae9c0SAndroid Build Coastguard Worker         XAuint16 index,
2065*bebae9c0SAndroid Build Coastguard Worker         const XAchar ** ppName
2066*bebae9c0SAndroid Build Coastguard Worker     );
2067*bebae9c0SAndroid Build Coastguard Worker };
2068*bebae9c0SAndroid Build Coastguard Worker 
2069*bebae9c0SAndroid Build Coastguard Worker /* OUTPUT MIX */
2070*bebae9c0SAndroid Build Coastguard Worker 
2071*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_OUTPUTMIX;
2072*bebae9c0SAndroid Build Coastguard Worker 
2073*bebae9c0SAndroid Build Coastguard Worker struct XAOutputMixItf_;
2074*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAOutputMixItf_ * const * XAOutputMixItf;
2075*bebae9c0SAndroid Build Coastguard Worker 
2076*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaMixDeviceChangeCallback) (
2077*bebae9c0SAndroid Build Coastguard Worker     XAOutputMixItf caller,
2078*bebae9c0SAndroid Build Coastguard Worker     void * pContext
2079*bebae9c0SAndroid Build Coastguard Worker );
2080*bebae9c0SAndroid Build Coastguard Worker 
2081*bebae9c0SAndroid Build Coastguard Worker struct XAOutputMixItf_ {
2082*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetDestinationOutputDeviceIDs) (
2083*bebae9c0SAndroid Build Coastguard Worker         XAOutputMixItf self,
2084*bebae9c0SAndroid Build Coastguard Worker         XAint32 * pNumDevices,
2085*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pDeviceIDs
2086*bebae9c0SAndroid Build Coastguard Worker     );
2087*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterDeviceChangeCallback) (
2088*bebae9c0SAndroid Build Coastguard Worker         XAOutputMixItf self,
2089*bebae9c0SAndroid Build Coastguard Worker         xaMixDeviceChangeCallback callback,
2090*bebae9c0SAndroid Build Coastguard Worker         void * pContext
2091*bebae9c0SAndroid Build Coastguard Worker     );
2092*bebae9c0SAndroid Build Coastguard Worker     XAresult (*ReRoute) (
2093*bebae9c0SAndroid Build Coastguard Worker         XAOutputMixItf self,
2094*bebae9c0SAndroid Build Coastguard Worker         XAint32 numOutputDevices,
2095*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pOutputDeviceIDs
2096*bebae9c0SAndroid Build Coastguard Worker     );
2097*bebae9c0SAndroid Build Coastguard Worker };
2098*bebae9c0SAndroid Build Coastguard Worker 
2099*bebae9c0SAndroid Build Coastguard Worker /* RADIO */
2100*bebae9c0SAndroid Build Coastguard Worker 
2101*bebae9c0SAndroid Build Coastguard Worker #define XA_FREQRANGE_FMEUROAMERICA                  ((XAuint8) 0x01)
2102*bebae9c0SAndroid Build Coastguard Worker #define XA_FREQRANGE_FMJAPAN                        ((XAuint8) 0x02)
2103*bebae9c0SAndroid Build Coastguard Worker #define XA_FREQRANGE_AMLW                           ((XAuint8) 0x03)
2104*bebae9c0SAndroid Build Coastguard Worker #define XA_FREQRANGE_AMMW                           ((XAuint8) 0x04)
2105*bebae9c0SAndroid Build Coastguard Worker #define XA_FREQRANGE_AMSW                           ((XAuint8) 0x05)
2106*bebae9c0SAndroid Build Coastguard Worker 
2107*bebae9c0SAndroid Build Coastguard Worker #define XA_RADIO_EVENT_ANTENNA_STATUS_CHANGED       ((XAuint32) 0x00000001)
2108*bebae9c0SAndroid Build Coastguard Worker #define XA_RADIO_EVENT_FREQUENCY_CHANGED            ((XAuint32) 0x00000002)
2109*bebae9c0SAndroid Build Coastguard Worker #define XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED      ((XAuint32) 0x00000003)
2110*bebae9c0SAndroid Build Coastguard Worker #define XA_RADIO_EVENT_PRESET_CHANGED               ((XAuint32) 0x00000004)
2111*bebae9c0SAndroid Build Coastguard Worker #define XA_RADIO_EVENT_SEEK_COMPLETED               ((XAuint32) 0x00000005)
2112*bebae9c0SAndroid Build Coastguard Worker 
2113*bebae9c0SAndroid Build Coastguard Worker #define XA_STEREOMODE_MONO                          ((XAuint32) 0x00000000)
2114*bebae9c0SAndroid Build Coastguard Worker #define XA_STEREOMODE_STEREO                        ((XAuint32) 0x00000001)
2115*bebae9c0SAndroid Build Coastguard Worker #define XA_STEREOMODE_AUTO                          ((XAuint32) 0x00000002)
2116*bebae9c0SAndroid Build Coastguard Worker 
2117*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_RADIO;
2118*bebae9c0SAndroid Build Coastguard Worker 
2119*bebae9c0SAndroid Build Coastguard Worker struct XARadioItf_;
2120*bebae9c0SAndroid Build Coastguard Worker typedef const struct XARadioItf_ * const * XARadioItf;
2121*bebae9c0SAndroid Build Coastguard Worker 
2122*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaRadioCallback) (
2123*bebae9c0SAndroid Build Coastguard Worker     XARadioItf caller,
2124*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
2125*bebae9c0SAndroid Build Coastguard Worker     XAuint32 event,
2126*bebae9c0SAndroid Build Coastguard Worker     XAuint32 eventIntData,
2127*bebae9c0SAndroid Build Coastguard Worker     XAboolean eventBooleanData
2128*bebae9c0SAndroid Build Coastguard Worker );
2129*bebae9c0SAndroid Build Coastguard Worker 
2130*bebae9c0SAndroid Build Coastguard Worker struct XARadioItf_ {
2131*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetFreqRange) (
2132*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2133*bebae9c0SAndroid Build Coastguard Worker         XAuint8 range
2134*bebae9c0SAndroid Build Coastguard Worker     );
2135*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFreqRange) (
2136*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2137*bebae9c0SAndroid Build Coastguard Worker         XAuint8 * pRange
2138*bebae9c0SAndroid Build Coastguard Worker     );
2139*bebae9c0SAndroid Build Coastguard Worker     XAresult (*IsFreqRangeSupported) (
2140*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2141*bebae9c0SAndroid Build Coastguard Worker         XAuint8 range,
2142*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pSupported
2143*bebae9c0SAndroid Build Coastguard Worker     );
2144*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFreqRangeProperties) (
2145*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2146*bebae9c0SAndroid Build Coastguard Worker         XAuint8 range,
2147*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMinFreq,
2148*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMaxFreq,
2149*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pFreqInterval
2150*bebae9c0SAndroid Build Coastguard Worker     );
2151*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetFrequency) (
2152*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2153*bebae9c0SAndroid Build Coastguard Worker         XAuint32 freq
2154*bebae9c0SAndroid Build Coastguard Worker     );
2155*bebae9c0SAndroid Build Coastguard Worker     XAresult (*CancelSetFrequency) (
2156*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self
2157*bebae9c0SAndroid Build Coastguard Worker     );
2158*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFrequency) (
2159*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2160*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pFreq
2161*bebae9c0SAndroid Build Coastguard Worker     );
2162*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetSquelch) (
2163*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2164*bebae9c0SAndroid Build Coastguard Worker         XAboolean squelch
2165*bebae9c0SAndroid Build Coastguard Worker     );
2166*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSquelch) (
2167*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2168*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pSquelch
2169*bebae9c0SAndroid Build Coastguard Worker     );
2170*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetStereoMode) (
2171*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2172*bebae9c0SAndroid Build Coastguard Worker         XAuint32 mode
2173*bebae9c0SAndroid Build Coastguard Worker     );
2174*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetStereoMode) (
2175*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2176*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMode
2177*bebae9c0SAndroid Build Coastguard Worker     );
2178*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSignalStrength) (
2179*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2180*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pStrength
2181*bebae9c0SAndroid Build Coastguard Worker     );
2182*bebae9c0SAndroid Build Coastguard Worker     XAresult (*Seek) (
2183*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2184*bebae9c0SAndroid Build Coastguard Worker         XAboolean upwards
2185*bebae9c0SAndroid Build Coastguard Worker     );
2186*bebae9c0SAndroid Build Coastguard Worker     XAresult (*StopSeeking) (
2187*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self
2188*bebae9c0SAndroid Build Coastguard Worker     );
2189*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetNumberOfPresets) (
2190*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2191*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumPresets
2192*bebae9c0SAndroid Build Coastguard Worker     );
2193*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetPreset) (
2194*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2195*bebae9c0SAndroid Build Coastguard Worker         XAuint32 preset,
2196*bebae9c0SAndroid Build Coastguard Worker         XAuint32 freq,
2197*bebae9c0SAndroid Build Coastguard Worker         XAuint8 range,
2198*bebae9c0SAndroid Build Coastguard Worker         XAuint32 mode,
2199*bebae9c0SAndroid Build Coastguard Worker         const XAchar * pName
2200*bebae9c0SAndroid Build Coastguard Worker     );
2201*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetPreset) (
2202*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2203*bebae9c0SAndroid Build Coastguard Worker         XAuint32 preset,
2204*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pFreq,
2205*bebae9c0SAndroid Build Coastguard Worker         XAuint8 * pRange,
2206*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pMode,
2207*bebae9c0SAndroid Build Coastguard Worker         XAchar * pName,
2208*bebae9c0SAndroid Build Coastguard Worker         XAuint16 * pNameLength
2209*bebae9c0SAndroid Build Coastguard Worker     );
2210*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterRadioCallback) (
2211*bebae9c0SAndroid Build Coastguard Worker         XARadioItf self,
2212*bebae9c0SAndroid Build Coastguard Worker         xaRadioCallback callback,
2213*bebae9c0SAndroid Build Coastguard Worker         void * pContext
2214*bebae9c0SAndroid Build Coastguard Worker     );
2215*bebae9c0SAndroid Build Coastguard Worker };
2216*bebae9c0SAndroid Build Coastguard Worker 
2217*bebae9c0SAndroid Build Coastguard Worker /* RDS */
2218*bebae9c0SAndroid Build Coastguard Worker 
2219*bebae9c0SAndroid Build Coastguard Worker #define XA_RDS_EVENT_NEW_PI                         ((XAuint16) 0x0001)
2220*bebae9c0SAndroid Build Coastguard Worker #define XA_RDS_EVENT_NEW_PTY                        ((XAuint16) 0x0002)
2221*bebae9c0SAndroid Build Coastguard Worker #define XA_RDS_EVENT_NEW_PS                         ((XAuint16) 0x0004)
2222*bebae9c0SAndroid Build Coastguard Worker #define XA_RDS_EVENT_NEW_RT                         ((XAuint16) 0x0008)
2223*bebae9c0SAndroid Build Coastguard Worker #define XA_RDS_EVENT_NEW_RT_PLUS                    ((XAuint16) 0x0010)
2224*bebae9c0SAndroid Build Coastguard Worker #define XA_RDS_EVENT_NEW_CT                         ((XAuint16) 0x0020)
2225*bebae9c0SAndroid Build Coastguard Worker #define XA_RDS_EVENT_NEW_TA                         ((XAuint16) 0x0040)
2226*bebae9c0SAndroid Build Coastguard Worker #define XA_RDS_EVENT_NEW_TP                         ((XAuint16) 0x0080)
2227*bebae9c0SAndroid Build Coastguard Worker #define XA_RDS_EVENT_NEW_ALARM                      ((XAuint16) 0x0100)
2228*bebae9c0SAndroid Build Coastguard Worker 
2229*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_NONE \
2230*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000000)
2231*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_NEWS \
2232*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000001)
2233*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_CURRENTAFFAIRS \
2234*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000002)
2235*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_INFORMATION \
2236*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000003)
2237*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_SPORT \
2238*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000004)
2239*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_EDUCATION \
2240*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000005)
2241*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_DRAMA \
2242*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000006)
2243*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_CULTURE \
2244*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000007)
2245*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_SCIENCE \
2246*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000008)
2247*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_VARIEDSPEECH \
2248*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000009)
2249*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_POPMUSIC \
2250*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000A)
2251*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_ROCKMUSIC \
2252*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000B)
2253*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_EASYLISTENING \
2254*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000C)
2255*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_LIGHTCLASSICAL \
2256*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000D)
2257*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_SERIOUSCLASSICAL \
2258*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000E)
2259*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_OTHERMUSIC \
2260*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000F)
2261*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_WEATHER \
2262*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000010)
2263*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_FINANCE \
2264*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000011)
2265*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_CHILDRENSPROGRAMMES \
2266*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000012)
2267*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_SOCIALAFFAIRS \
2268*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000013)
2269*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_RELIGION \
2270*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000014)
2271*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_PHONEIN \
2272*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000015)
2273*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_TRAVEL \
2274*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000016)
2275*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_LEISURE \
2276*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000017)
2277*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_JAZZMUSIC \
2278*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000018)
2279*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_COUNTRYMUSIC \
2280*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000019)
2281*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_NATIONALMUSIC \
2282*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001A)
2283*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_OLDIESMUSIC \
2284*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001B)
2285*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_FOLKMUSIC \
2286*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001C)
2287*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_DOCUMENTARY \
2288*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001D)
2289*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_ALARMTEST \
2290*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001E)
2291*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RDSPTY_ALARM \
2292*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001F)
2293*bebae9c0SAndroid Build Coastguard Worker 
2294*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_NONE \
2295*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000000)
2296*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_NEWS \
2297*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000001)
2298*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_INFORMATION \
2299*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000002)
2300*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_SPORTS \
2301*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000003)
2302*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_TALK \
2303*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000004)
2304*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_ROCK \
2305*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000005)
2306*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_CLASSICROCK \
2307*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000006)
2308*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_ADULTHITS \
2309*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000007)
2310*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFTROCK \
2311*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000008)
2312*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_TOP40 \
2313*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000009)
2314*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_COUNTRY \
2315*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000A)
2316*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_OLDIES \
2317*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000B)
2318*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFT \
2319*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000C)
2320*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_NOSTALGIA \
2321*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000D)
2322*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_JAZZ \
2323*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000E)
2324*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_CLASSICAL \
2325*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000000F)
2326*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_RHYTHMANDBLUES \
2327*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000010)
2328*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFTRHYTHMANDBLUES \
2329*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000011)
2330*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_LANGUAGE \
2331*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000012)
2332*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_RELIGIOUSMUSIC \
2333*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000013)
2334*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_RELIGIOUSTALK \
2335*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000014)
2336*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_PERSONALITY \
2337*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000015)
2338*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_PUBLIC \
2339*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000016)
2340*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_COLLEGE \
2341*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000017)
2342*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED1 \
2343*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000018)
2344*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED2 \
2345*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x00000019)
2346*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED3 \
2347*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001A)
2348*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED4 \
2349*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001B)
2350*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED5 \
2351*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001C)
2352*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_WEATHER \
2353*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001D)
2354*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_EMERGENCYTEST \
2355*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001E)
2356*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSPROGRAMMETYPE_RBDSPTY_EMERGENCY \
2357*bebae9c0SAndroid Build Coastguard Worker     ((XAuint32) 0x0000001F)
2358*bebae9c0SAndroid Build Coastguard Worker 
2359*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMTITLE              ((XAuint8) 0x01)
2360*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMALBUM              ((XAuint8) 0x02)
2361*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMTRACKNUMBER        ((XAuint8) 0x03)
2362*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMARTIST             ((XAuint8) 0x04)
2363*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMCOMPOSITION        ((XAuint8) 0x05)
2364*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMMOVEMENT           ((XAuint8) 0x06)
2365*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMCONDUCTOR          ((XAuint8) 0x07)
2366*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMCOMPOSER           ((XAuint8) 0x08)
2367*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMBAND               ((XAuint8) 0x09)
2368*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMCOMMENT            ((XAuint8) 0x0A)
2369*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_ITEMGENRE              ((XAuint8) 0x0B)
2370*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFONEWS               ((XAuint8) 0x0C)
2371*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFONEWSLOCAL          ((XAuint8) 0x0D)
2372*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOSTOCKMARKET        ((XAuint8) 0x0E)
2373*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOSPORT              ((XAuint8) 0x0F)
2374*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOLOTTERY            ((XAuint8) 0x10)
2375*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOHOROSCOPE          ((XAuint8) 0x11)
2376*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFODAILYDIVERSION     ((XAuint8) 0x12)
2377*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOHEALTH             ((XAuint8) 0x13)
2378*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOEVENT              ((XAuint8) 0x14)
2379*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOSZENE              ((XAuint8) 0x15)
2380*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOCINEMA             ((XAuint8) 0x16)
2381*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOTV                 ((XAuint8) 0x17)
2382*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFODATETIME           ((XAuint8) 0x18)
2383*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOWEATHER            ((XAuint8) 0x19)
2384*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOTRAFFIC            ((XAuint8) 0x1A)
2385*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOALARM              ((XAuint8) 0x1B)
2386*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOADVISERTISEMENT    ((XAuint8) 0x1C)
2387*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOURL                ((XAuint8) 0x1D)
2388*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_INFOOTHER              ((XAuint8) 0x1E)
2389*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_STATIONNAMESHORT       ((XAuint8) 0x1F)
2390*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_STATIONNAMELONG        ((XAuint8) 0x20)
2391*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PROGRAMNOW             ((XAuint8) 0x21)
2392*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PROGRAMNEXT            ((XAuint8) 0x22)
2393*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PROGRAMPART            ((XAuint8) 0x23)
2394*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PROGRAMHOST            ((XAuint8) 0x24)
2395*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PROFRAMEDITORIALSTAFF  ((XAuint8) 0x25)
2396*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PROGRAMFREQUENCY       ((XAuint8) 0x26)
2397*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PROGRAMHOMEPAGE        ((XAuint8) 0x27)
2398*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PROGRAMSUBCHANNEL      ((XAuint8) 0x28)
2399*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PHONEHOTLINE           ((XAuint8) 0x29)
2400*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PHONESTUDIO            ((XAuint8) 0x2A)
2401*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PHONEOTHER             ((XAuint8) 0x2B)
2402*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_SMSSTUDIO              ((XAuint8) 0x2C)
2403*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_SMSOTHER               ((XAuint8) 0x2D)
2404*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_EMAILHOTLINE           ((XAuint8) 0x2E)
2405*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_EMAILSTUDIO            ((XAuint8) 0x2F)
2406*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_EMAILOTHER             ((XAuint8) 0x30)
2407*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_MMSOTHER               ((XAuint8) 0x31)
2408*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_CHAT                   ((XAuint8) 0x32)
2409*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_CHATCENTER             ((XAuint8) 0x33)
2410*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_VOTEQUESTION           ((XAuint8) 0x34)
2411*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_VOTECENTER             ((XAuint8) 0x35)
2412*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_OPENCLASS45            ((XAuint8) 0x36)
2413*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_OPENCLASS55            ((XAuint8) 0x37)
2414*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_OPENCLASS56            ((XAuint8) 0x38)
2415*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_OPENCLASS57            ((XAuint8) 0x39)
2416*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_OPENCLASS58            ((XAuint8) 0x3A)
2417*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PLACE                  ((XAuint8) 0x3B)
2418*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_APPOINTMENT            ((XAuint8) 0x3C)
2419*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_IDENTIFIER             ((XAuint8) 0x3D)
2420*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_PURCHASE               ((XAuint8) 0x3E)
2421*bebae9c0SAndroid Build Coastguard Worker #define XA_RDSRTPLUS_GETDATA                ((XAuint8) 0x3F)
2422*bebae9c0SAndroid Build Coastguard Worker 
2423*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_RDS;
2424*bebae9c0SAndroid Build Coastguard Worker 
2425*bebae9c0SAndroid Build Coastguard Worker struct XARDSItf_;
2426*bebae9c0SAndroid Build Coastguard Worker typedef const struct XARDSItf_ * const * XARDSItf;
2427*bebae9c0SAndroid Build Coastguard Worker 
2428*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaGetODAGroupCallback) (
2429*bebae9c0SAndroid Build Coastguard Worker     XARadioItf caller,
2430*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
2431*bebae9c0SAndroid Build Coastguard Worker     XAboolean success,
2432*bebae9c0SAndroid Build Coastguard Worker     XAint16 group,
2433*bebae9c0SAndroid Build Coastguard Worker     XAuint16 message
2434*bebae9c0SAndroid Build Coastguard Worker );
2435*bebae9c0SAndroid Build Coastguard Worker 
2436*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaNewODADataCallback) (
2437*bebae9c0SAndroid Build Coastguard Worker     XARDSItf caller,
2438*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
2439*bebae9c0SAndroid Build Coastguard Worker     XAint16 group,
2440*bebae9c0SAndroid Build Coastguard Worker     XAuint64 data
2441*bebae9c0SAndroid Build Coastguard Worker );
2442*bebae9c0SAndroid Build Coastguard Worker 
2443*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaRDSCallback) (
2444*bebae9c0SAndroid Build Coastguard Worker     XARDSItf caller,
2445*bebae9c0SAndroid Build Coastguard Worker     void * pContext,
2446*bebae9c0SAndroid Build Coastguard Worker     XAuint16 event,
2447*bebae9c0SAndroid Build Coastguard Worker     XAuint8 eventData
2448*bebae9c0SAndroid Build Coastguard Worker );
2449*bebae9c0SAndroid Build Coastguard Worker 
2450*bebae9c0SAndroid Build Coastguard Worker struct XARDSItf_ {
2451*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryRDSSignal) (
2452*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2453*bebae9c0SAndroid Build Coastguard Worker         XAboolean * isSignal
2454*bebae9c0SAndroid Build Coastguard Worker     );
2455*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetProgrammeServiceName) (
2456*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2457*bebae9c0SAndroid Build Coastguard Worker         XAchar * ps
2458*bebae9c0SAndroid Build Coastguard Worker     );
2459*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetRadioText) (
2460*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2461*bebae9c0SAndroid Build Coastguard Worker         XAchar * rt
2462*bebae9c0SAndroid Build Coastguard Worker     );
2463*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetRadioTextPlus) (
2464*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2465*bebae9c0SAndroid Build Coastguard Worker         XAuint8 contentType,
2466*bebae9c0SAndroid Build Coastguard Worker         XAchar * informationElement,
2467*bebae9c0SAndroid Build Coastguard Worker         XAchar * descriptor,
2468*bebae9c0SAndroid Build Coastguard Worker         XAuint8 * descriptorContentType
2469*bebae9c0SAndroid Build Coastguard Worker     );
2470*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetProgrammeType) (
2471*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2472*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pty
2473*bebae9c0SAndroid Build Coastguard Worker     );
2474*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetProgrammeTypeString) (
2475*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2476*bebae9c0SAndroid Build Coastguard Worker         XAboolean isLengthMax16,
2477*bebae9c0SAndroid Build Coastguard Worker         XAchar * pty
2478*bebae9c0SAndroid Build Coastguard Worker     );
2479*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetProgrammeIdentificationCode) (
2480*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2481*bebae9c0SAndroid Build Coastguard Worker         XAint16 * pi
2482*bebae9c0SAndroid Build Coastguard Worker     );
2483*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetClockTime) (
2484*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2485*bebae9c0SAndroid Build Coastguard Worker         XAtime * dateAndTime
2486*bebae9c0SAndroid Build Coastguard Worker     );
2487*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetTrafficAnnouncement) (
2488*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2489*bebae9c0SAndroid Build Coastguard Worker         XAboolean * ta
2490*bebae9c0SAndroid Build Coastguard Worker     );
2491*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetTrafficProgramme) (
2492*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2493*bebae9c0SAndroid Build Coastguard Worker         XAboolean * tp
2494*bebae9c0SAndroid Build Coastguard Worker     );
2495*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SeekByProgrammeType) (
2496*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2497*bebae9c0SAndroid Build Coastguard Worker         XAuint32 pty,
2498*bebae9c0SAndroid Build Coastguard Worker         XAboolean upwards
2499*bebae9c0SAndroid Build Coastguard Worker     );
2500*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SeekTrafficAnnouncement) (
2501*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2502*bebae9c0SAndroid Build Coastguard Worker         XAboolean upwards
2503*bebae9c0SAndroid Build Coastguard Worker     );
2504*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SeekTrafficProgramme) (
2505*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2506*bebae9c0SAndroid Build Coastguard Worker         XAboolean upwards
2507*bebae9c0SAndroid Build Coastguard Worker     );
2508*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetAutomaticSwitching) (
2509*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2510*bebae9c0SAndroid Build Coastguard Worker         XAboolean automatic
2511*bebae9c0SAndroid Build Coastguard Worker     );
2512*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAutomaticSwitching) (
2513*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2514*bebae9c0SAndroid Build Coastguard Worker         XAboolean * automatic
2515*bebae9c0SAndroid Build Coastguard Worker     );
2516*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetAutomaticTrafficAnnouncement) (
2517*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2518*bebae9c0SAndroid Build Coastguard Worker         XAboolean automatic
2519*bebae9c0SAndroid Build Coastguard Worker     );
2520*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAutomaticTrafficAnnouncement) (
2521*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2522*bebae9c0SAndroid Build Coastguard Worker         XAboolean * automatic
2523*bebae9c0SAndroid Build Coastguard Worker     );
2524*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetODAGroup) (
2525*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2526*bebae9c0SAndroid Build Coastguard Worker         XAuint16 AID,
2527*bebae9c0SAndroid Build Coastguard Worker         xaGetODAGroupCallback callback,
2528*bebae9c0SAndroid Build Coastguard Worker         void * pContext
2529*bebae9c0SAndroid Build Coastguard Worker     );
2530*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SubscribeODAGroup) (
2531*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2532*bebae9c0SAndroid Build Coastguard Worker         XAint16 group,
2533*bebae9c0SAndroid Build Coastguard Worker         XAboolean useErrorCorrection
2534*bebae9c0SAndroid Build Coastguard Worker     );
2535*bebae9c0SAndroid Build Coastguard Worker     XAresult (*UnsubscribeODAGroup) (
2536*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2537*bebae9c0SAndroid Build Coastguard Worker         XAint16 group
2538*bebae9c0SAndroid Build Coastguard Worker     );
2539*bebae9c0SAndroid Build Coastguard Worker     XAresult (*ListODAGroupSubscriptions) (
2540*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2541*bebae9c0SAndroid Build Coastguard Worker         XAint16* pGroups,
2542*bebae9c0SAndroid Build Coastguard Worker         XAuint32* pLength
2543*bebae9c0SAndroid Build Coastguard Worker     );
2544*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterRDSCallback) (
2545*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2546*bebae9c0SAndroid Build Coastguard Worker         xaRDSCallback callback,
2547*bebae9c0SAndroid Build Coastguard Worker         void * pContext
2548*bebae9c0SAndroid Build Coastguard Worker     );
2549*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterODADataCallback) (
2550*bebae9c0SAndroid Build Coastguard Worker         XARDSItf self,
2551*bebae9c0SAndroid Build Coastguard Worker         xaNewODADataCallback callback,
2552*bebae9c0SAndroid Build Coastguard Worker         void * pContext
2553*bebae9c0SAndroid Build Coastguard Worker     );
2554*bebae9c0SAndroid Build Coastguard Worker };
2555*bebae9c0SAndroid Build Coastguard Worker 
2556*bebae9c0SAndroid Build Coastguard Worker /* VIBRA */
2557*bebae9c0SAndroid Build Coastguard Worker 
2558*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_VIBRA;
2559*bebae9c0SAndroid Build Coastguard Worker 
2560*bebae9c0SAndroid Build Coastguard Worker struct XAVibraItf_;
2561*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAVibraItf_ * const * XAVibraItf;
2562*bebae9c0SAndroid Build Coastguard Worker 
2563*bebae9c0SAndroid Build Coastguard Worker struct XAVibraItf_ {
2564*bebae9c0SAndroid Build Coastguard Worker     XAresult (*Vibrate) (
2565*bebae9c0SAndroid Build Coastguard Worker         XAVibraItf self,
2566*bebae9c0SAndroid Build Coastguard Worker         XAboolean vibrate
2567*bebae9c0SAndroid Build Coastguard Worker     );
2568*bebae9c0SAndroid Build Coastguard Worker     XAresult (*IsVibrating) (
2569*bebae9c0SAndroid Build Coastguard Worker         XAVibraItf self,
2570*bebae9c0SAndroid Build Coastguard Worker         XAboolean * pVibrating
2571*bebae9c0SAndroid Build Coastguard Worker     );
2572*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetFrequency) (
2573*bebae9c0SAndroid Build Coastguard Worker         XAVibraItf self,
2574*bebae9c0SAndroid Build Coastguard Worker         XAmilliHertz frequency
2575*bebae9c0SAndroid Build Coastguard Worker     );
2576*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetFrequency) (
2577*bebae9c0SAndroid Build Coastguard Worker         XAVibraItf self,
2578*bebae9c0SAndroid Build Coastguard Worker         XAmilliHertz * pFrequency
2579*bebae9c0SAndroid Build Coastguard Worker     );
2580*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetIntensity) (
2581*bebae9c0SAndroid Build Coastguard Worker         XAVibraItf self,
2582*bebae9c0SAndroid Build Coastguard Worker         XApermille intensity
2583*bebae9c0SAndroid Build Coastguard Worker     );
2584*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetIntensity) (
2585*bebae9c0SAndroid Build Coastguard Worker         XAVibraItf self,
2586*bebae9c0SAndroid Build Coastguard Worker         XApermille * pIntensity
2587*bebae9c0SAndroid Build Coastguard Worker     );
2588*bebae9c0SAndroid Build Coastguard Worker };
2589*bebae9c0SAndroid Build Coastguard Worker 
2590*bebae9c0SAndroid Build Coastguard Worker /* LED ARRAY */
2591*bebae9c0SAndroid Build Coastguard Worker 
2592*bebae9c0SAndroid Build Coastguard Worker typedef struct XAHSL_ {
2593*bebae9c0SAndroid Build Coastguard Worker     XAmillidegree hue;
2594*bebae9c0SAndroid Build Coastguard Worker     XApermille saturation;
2595*bebae9c0SAndroid Build Coastguard Worker     XApermille lightness;
2596*bebae9c0SAndroid Build Coastguard Worker } XAHSL;
2597*bebae9c0SAndroid Build Coastguard Worker 
2598*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_LED;
2599*bebae9c0SAndroid Build Coastguard Worker 
2600*bebae9c0SAndroid Build Coastguard Worker struct XALEDArrayItf_;
2601*bebae9c0SAndroid Build Coastguard Worker typedef const struct XALEDArrayItf_ * const * XALEDArrayItf;
2602*bebae9c0SAndroid Build Coastguard Worker 
2603*bebae9c0SAndroid Build Coastguard Worker struct XALEDArrayItf_ {
2604*bebae9c0SAndroid Build Coastguard Worker     XAresult (*ActivateLEDArray) (
2605*bebae9c0SAndroid Build Coastguard Worker         XALEDArrayItf self,
2606*bebae9c0SAndroid Build Coastguard Worker         XAuint32 lightMask
2607*bebae9c0SAndroid Build Coastguard Worker     );
2608*bebae9c0SAndroid Build Coastguard Worker     XAresult (*IsLEDArrayActivated) (
2609*bebae9c0SAndroid Build Coastguard Worker         XALEDArrayItf self,
2610*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pLightMask
2611*bebae9c0SAndroid Build Coastguard Worker     );
2612*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetColor) (
2613*bebae9c0SAndroid Build Coastguard Worker         XALEDArrayItf self,
2614*bebae9c0SAndroid Build Coastguard Worker         XAuint8 index,
2615*bebae9c0SAndroid Build Coastguard Worker         const XAHSL * pColor
2616*bebae9c0SAndroid Build Coastguard Worker     );
2617*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetColor) (
2618*bebae9c0SAndroid Build Coastguard Worker         XALEDArrayItf self,
2619*bebae9c0SAndroid Build Coastguard Worker         XAuint8 index,
2620*bebae9c0SAndroid Build Coastguard Worker         XAHSL * pColor
2621*bebae9c0SAndroid Build Coastguard Worker     );
2622*bebae9c0SAndroid Build Coastguard Worker };
2623*bebae9c0SAndroid Build Coastguard Worker 
2624*bebae9c0SAndroid Build Coastguard Worker 
2625*bebae9c0SAndroid Build Coastguard Worker 
2626*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
2627*bebae9c0SAndroid Build Coastguard Worker   /* CODEC RELATED INTERFACES, STRUCTS AND DEFINES                 */
2628*bebae9c0SAndroid Build Coastguard Worker   /*****************************************************************/
2629*bebae9c0SAndroid Build Coastguard Worker 
2630*bebae9c0SAndroid Build Coastguard Worker /* AUDIO ENCODER AND AUDIO ENCODER/DECODER CAPABILITIES */
2631*bebae9c0SAndroid Build Coastguard Worker 
2632*bebae9c0SAndroid Build Coastguard Worker #define XA_RATECONTROLMODE_CONSTANTBITRATE  ((XAuint32) 0x00000001)
2633*bebae9c0SAndroid Build Coastguard Worker #define XA_RATECONTROLMODE_VARIABLEBITRATE  ((XAuint32) 0x00000002)
2634*bebae9c0SAndroid Build Coastguard Worker 
2635*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCODEC_PCM                   ((XAuint32) 0x00000001)
2636*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCODEC_MP3                   ((XAuint32) 0x00000002)
2637*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCODEC_AMR                   ((XAuint32) 0x00000003)
2638*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCODEC_AMRWB                 ((XAuint32) 0x00000004)
2639*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCODEC_AMRWBPLUS             ((XAuint32) 0x00000005)
2640*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCODEC_AAC                   ((XAuint32) 0x00000006)
2641*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCODEC_WMA                   ((XAuint32) 0x00000007)
2642*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCODEC_REAL                  ((XAuint32) 0x00000008)
2643*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCODEC_VORBIS                ((XAuint32) 0x00000009)
2644*bebae9c0SAndroid Build Coastguard Worker 
2645*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_PCM                 ((XAuint32) 0x00000001)
2646*bebae9c0SAndroid Build Coastguard Worker 
2647*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_MPEG1_L3            ((XAuint32) 0x00000001)
2648*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_MPEG2_L3            ((XAuint32) 0x00000002)
2649*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_MPEG25_L3           ((XAuint32) 0x00000003)
2650*bebae9c0SAndroid Build Coastguard Worker 
2651*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCHANMODE_MP3_MONO           ((XAuint32) 0x00000001)
2652*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCHANMODE_MP3_STEREO         ((XAuint32) 0x00000002)
2653*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCHANMODE_MP3_JOINTSTEREO    ((XAuint32) 0x00000003)
2654*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOCHANMODE_MP3_DUAL           ((XAuint32) 0x00000004)
2655*bebae9c0SAndroid Build Coastguard Worker 
2656*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_AMR                 ((XAuint32) 0x00000001)
2657*bebae9c0SAndroid Build Coastguard Worker 
2658*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_CONFORMANCE    ((XAuint32) 0x00000001)
2659*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_IF1            ((XAuint32) 0x00000002)
2660*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_IF2            ((XAuint32) 0x00000003)
2661*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_FSF            ((XAuint32) 0x00000004)
2662*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_RTPPAYLOAD     ((XAuint32) 0x00000005)
2663*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_ITU            ((XAuint32) 0x00000006)
2664*bebae9c0SAndroid Build Coastguard Worker 
2665*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_AMRWB               ((XAuint32) 0x00000001)
2666*bebae9c0SAndroid Build Coastguard Worker 
2667*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_AMRWBPLUS           ((XAuint32) 0x00000001)
2668*bebae9c0SAndroid Build Coastguard Worker 
2669*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_AAC_AAC             ((XAuint32) 0x00000001)
2670*bebae9c0SAndroid Build Coastguard Worker 
2671*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_MAIN               ((XAuint32) 0x00000001)
2672*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_LC                 ((XAuint32) 0x00000002)
2673*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_SSR                ((XAuint32) 0x00000003)
2674*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_LTP                ((XAuint32) 0x00000004)
2675*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_HE                 ((XAuint32) 0x00000005)
2676*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_SCALABLE           ((XAuint32) 0x00000006)
2677*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_ERLC               ((XAuint32) 0x00000007)
2678*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_LD                 ((XAuint32) 0x00000008)
2679*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_HE_PS              ((XAuint32) 0x00000009)
2680*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_AAC_HE_MPS             ((XAuint32) 0x0000000A)
2681*bebae9c0SAndroid Build Coastguard Worker 
2682*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_MP2ADTS        ((XAuint32) 0x00000001)
2683*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_MP4ADTS        ((XAuint32) 0x00000002)
2684*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_MP4LOAS        ((XAuint32) 0x00000003)
2685*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_MP4LATM        ((XAuint32) 0x00000004)
2686*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_ADIF           ((XAuint32) 0x00000005)
2687*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_MP4FF          ((XAuint32) 0x00000006)
2688*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOSTREAMFORMAT_RAW            ((XAuint32) 0x00000007)
2689*bebae9c0SAndroid Build Coastguard Worker 
2690*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_WMA7                ((XAuint32) 0x00000001)
2691*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_WMA8                ((XAuint32) 0x00000002)
2692*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_WMA9                ((XAuint32) 0x00000003)
2693*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_WMA10               ((XAuint32) 0x00000004)
2694*bebae9c0SAndroid Build Coastguard Worker 
2695*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_WMA_LEVEL1             ((XAuint32) 0x00000001)
2696*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_WMA_LEVEL2             ((XAuint32) 0x00000002)
2697*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_WMA_LEVEL3             ((XAuint32) 0x00000003)
2698*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_WMA_LEVEL4             ((XAuint32) 0x00000004)
2699*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_WMAPRO_LEVELM0         ((XAuint32) 0x00000005)
2700*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_WMAPRO_LEVELM1         ((XAuint32) 0x00000006)
2701*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_WMAPRO_LEVELM2         ((XAuint32) 0x00000007)
2702*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_WMAPRO_LEVELM3         ((XAuint32) 0x00000008)
2703*bebae9c0SAndroid Build Coastguard Worker 
2704*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_REALAUDIO           ((XAuint32) 0x00000001)
2705*bebae9c0SAndroid Build Coastguard Worker 
2706*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_REALAUDIO_G2           ((XAuint32) 0x00000001)
2707*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_REALAUDIO_8            ((XAuint32) 0x00000002)
2708*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_REALAUDIO_10           ((XAuint32) 0x00000003)
2709*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_REALAUDIO_SURROUND     ((XAuint32) 0x00000004)
2710*bebae9c0SAndroid Build Coastguard Worker 
2711*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOPROFILE_VORBIS              ((XAuint32) 0x00000001)
2712*bebae9c0SAndroid Build Coastguard Worker 
2713*bebae9c0SAndroid Build Coastguard Worker #define XA_AUDIOMODE_VORBIS                 ((XAuint32) 0x00000001)
2714*bebae9c0SAndroid Build Coastguard Worker 
2715*bebae9c0SAndroid Build Coastguard Worker 
2716*bebae9c0SAndroid Build Coastguard Worker typedef struct XAAudioCodecDescriptor_ {
2717*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxChannels;
2718*bebae9c0SAndroid Build Coastguard Worker     XAuint32 minBitsPerSample;
2719*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxBitsPerSample;
2720*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz minSampleRate;
2721*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz maxSampleRate;
2722*bebae9c0SAndroid Build Coastguard Worker     XAboolean isFreqRangeContinuous;
2723*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz * pSampleRatesSupported;
2724*bebae9c0SAndroid Build Coastguard Worker     XAuint32 numSampleRatesSupported;
2725*bebae9c0SAndroid Build Coastguard Worker     XAuint32 minBitRate;
2726*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxBitRate;
2727*bebae9c0SAndroid Build Coastguard Worker     XAboolean isBitrateRangeContinuous;
2728*bebae9c0SAndroid Build Coastguard Worker     XAuint32 * pBitratesSupported;
2729*bebae9c0SAndroid Build Coastguard Worker     XAuint32 numBitratesSupported;
2730*bebae9c0SAndroid Build Coastguard Worker     XAuint32 profileSetting;
2731*bebae9c0SAndroid Build Coastguard Worker     XAuint32 modeSetting;
2732*bebae9c0SAndroid Build Coastguard Worker } XAAudioCodecDescriptor;
2733*bebae9c0SAndroid Build Coastguard Worker 
2734*bebae9c0SAndroid Build Coastguard Worker typedef struct XAAudioEncoderSettings_ {
2735*bebae9c0SAndroid Build Coastguard Worker     XAuint32 encoderId;
2736*bebae9c0SAndroid Build Coastguard Worker     XAuint32 channelsIn;
2737*bebae9c0SAndroid Build Coastguard Worker     XAuint32 channelsOut;
2738*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz sampleRate;
2739*bebae9c0SAndroid Build Coastguard Worker     XAuint32 bitRate;
2740*bebae9c0SAndroid Build Coastguard Worker     XAuint32 bitsPerSample;
2741*bebae9c0SAndroid Build Coastguard Worker     XAuint32 rateControl;
2742*bebae9c0SAndroid Build Coastguard Worker     XAuint32 profileSetting;
2743*bebae9c0SAndroid Build Coastguard Worker     XAuint32 levelSetting;
2744*bebae9c0SAndroid Build Coastguard Worker     XAuint32 channelMode;
2745*bebae9c0SAndroid Build Coastguard Worker     XAuint32 streamFormat;
2746*bebae9c0SAndroid Build Coastguard Worker     XAuint32 encodeOptions;
2747*bebae9c0SAndroid Build Coastguard Worker     XAuint32 blockAlignment;
2748*bebae9c0SAndroid Build Coastguard Worker } XAAudioEncoderSettings;
2749*bebae9c0SAndroid Build Coastguard Worker 
2750*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_AUDIODECODERCAPABILITIES;
2751*bebae9c0SAndroid Build Coastguard Worker 
2752*bebae9c0SAndroid Build Coastguard Worker struct XAAudioDecoderCapabilitiesItf_;
2753*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAAudioDecoderCapabilitiesItf_
2754*bebae9c0SAndroid Build Coastguard Worker     * const * XAAudioDecoderCapabilitiesItf;
2755*bebae9c0SAndroid Build Coastguard Worker 
2756*bebae9c0SAndroid Build Coastguard Worker struct XAAudioDecoderCapabilitiesItf_ {
2757*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAudioDecoders) (
2758*bebae9c0SAndroid Build Coastguard Worker         XAAudioDecoderCapabilitiesItf self,
2759*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumDecoders,
2760*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pDecoderIds
2761*bebae9c0SAndroid Build Coastguard Worker     );
2762*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAudioDecoderCapabilities) (
2763*bebae9c0SAndroid Build Coastguard Worker         XAAudioDecoderCapabilitiesItf self,
2764*bebae9c0SAndroid Build Coastguard Worker         XAuint32 decoderId,
2765*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pIndex,
2766*bebae9c0SAndroid Build Coastguard Worker         XAAudioCodecDescriptor * pDescriptor
2767*bebae9c0SAndroid Build Coastguard Worker     );
2768*bebae9c0SAndroid Build Coastguard Worker };
2769*bebae9c0SAndroid Build Coastguard Worker 
2770*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_AUDIOENCODER;
2771*bebae9c0SAndroid Build Coastguard Worker 
2772*bebae9c0SAndroid Build Coastguard Worker struct XAAudioEncoderItf_;
2773*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAAudioEncoderItf_ * const * XAAudioEncoderItf;
2774*bebae9c0SAndroid Build Coastguard Worker 
2775*bebae9c0SAndroid Build Coastguard Worker struct XAAudioEncoderItf_ {
2776*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetEncoderSettings) (
2777*bebae9c0SAndroid Build Coastguard Worker         XAAudioEncoderItf self,
2778*bebae9c0SAndroid Build Coastguard Worker         XAAudioEncoderSettings * pSettings
2779*bebae9c0SAndroid Build Coastguard Worker     );
2780*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetEncoderSettings) (
2781*bebae9c0SAndroid Build Coastguard Worker         XAAudioEncoderItf self,
2782*bebae9c0SAndroid Build Coastguard Worker         XAAudioEncoderSettings * pSettings
2783*bebae9c0SAndroid Build Coastguard Worker     );
2784*bebae9c0SAndroid Build Coastguard Worker };
2785*bebae9c0SAndroid Build Coastguard Worker 
2786*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_AUDIOENCODERCAPABILITIES;
2787*bebae9c0SAndroid Build Coastguard Worker 
2788*bebae9c0SAndroid Build Coastguard Worker struct XAAudioEncoderCapabilitiesItf_;
2789*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAAudioEncoderCapabilitiesItf_
2790*bebae9c0SAndroid Build Coastguard Worker     * const * XAAudioEncoderCapabilitiesItf;
2791*bebae9c0SAndroid Build Coastguard Worker 
2792*bebae9c0SAndroid Build Coastguard Worker struct XAAudioEncoderCapabilitiesItf_ {
2793*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAudioEncoders) (
2794*bebae9c0SAndroid Build Coastguard Worker         XAAudioEncoderCapabilitiesItf self,
2795*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumEncoders,
2796*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pEncoderIds
2797*bebae9c0SAndroid Build Coastguard Worker     );
2798*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetAudioEncoderCapabilities) (
2799*bebae9c0SAndroid Build Coastguard Worker         XAAudioEncoderCapabilitiesItf self,
2800*bebae9c0SAndroid Build Coastguard Worker         XAuint32 encoderId,
2801*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pIndex,
2802*bebae9c0SAndroid Build Coastguard Worker         XAAudioCodecDescriptor * pDescriptor
2803*bebae9c0SAndroid Build Coastguard Worker     );
2804*bebae9c0SAndroid Build Coastguard Worker };
2805*bebae9c0SAndroid Build Coastguard Worker 
2806*bebae9c0SAndroid Build Coastguard Worker /* IMAGE ENCODER AND IMAGE ENCODER/DECODER CAPABILITIES */
2807*bebae9c0SAndroid Build Coastguard Worker 
2808*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGECODEC_JPEG              ((XAuint32) 0x00000001)
2809*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGECODEC_GIF               ((XAuint32) 0x00000002)
2810*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGECODEC_BMP               ((XAuint32) 0x00000003)
2811*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGECODEC_PNG               ((XAuint32) 0x00000004)
2812*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGECODEC_TIFF              ((XAuint32) 0x00000005)
2813*bebae9c0SAndroid Build Coastguard Worker #define XA_IMAGECODEC_RAW               ((XAuint32) 0x00000006)
2814*bebae9c0SAndroid Build Coastguard Worker 
2815*bebae9c0SAndroid Build Coastguard Worker typedef struct XAImageCodecDescriptor_ {
2816*bebae9c0SAndroid Build Coastguard Worker     XAuint32 codecId;
2817*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxWidth;
2818*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxHeight;
2819*bebae9c0SAndroid Build Coastguard Worker } XAImageCodecDescriptor;
2820*bebae9c0SAndroid Build Coastguard Worker 
2821*bebae9c0SAndroid Build Coastguard Worker typedef struct XAImageSettings_ {
2822*bebae9c0SAndroid Build Coastguard Worker     XAuint32 encoderId;
2823*bebae9c0SAndroid Build Coastguard Worker     XAuint32 width;
2824*bebae9c0SAndroid Build Coastguard Worker     XAuint32 height;
2825*bebae9c0SAndroid Build Coastguard Worker     XApermille compressionLevel;
2826*bebae9c0SAndroid Build Coastguard Worker     XAuint32 colorFormat;
2827*bebae9c0SAndroid Build Coastguard Worker } XAImageSettings;
2828*bebae9c0SAndroid Build Coastguard Worker 
2829*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_IMAGEENCODERCAPABILITIES;
2830*bebae9c0SAndroid Build Coastguard Worker 
2831*bebae9c0SAndroid Build Coastguard Worker struct XAImageEncoderCapabilitiesItf_;
2832*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAImageEncoderCapabilitiesItf_
2833*bebae9c0SAndroid Build Coastguard Worker     * const * XAImageEncoderCapabilitiesItf;
2834*bebae9c0SAndroid Build Coastguard Worker 
2835*bebae9c0SAndroid Build Coastguard Worker struct XAImageEncoderCapabilitiesItf_ {
2836*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetImageEncoderCapabilities) (
2837*bebae9c0SAndroid Build Coastguard Worker         XAImageEncoderCapabilitiesItf self,
2838*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pEncoderId,
2839*bebae9c0SAndroid Build Coastguard Worker         XAImageCodecDescriptor * pDescriptor
2840*bebae9c0SAndroid Build Coastguard Worker     );
2841*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryColorFormats) (
2842*bebae9c0SAndroid Build Coastguard Worker         const XAImageEncoderCapabilitiesItf self,
2843*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pIndex,
2844*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pColorFormat
2845*bebae9c0SAndroid Build Coastguard Worker     );
2846*bebae9c0SAndroid Build Coastguard Worker };
2847*bebae9c0SAndroid Build Coastguard Worker 
2848*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_IMAGEDECODERCAPABILITIES;
2849*bebae9c0SAndroid Build Coastguard Worker 
2850*bebae9c0SAndroid Build Coastguard Worker struct XAImageDecoderCapabilitiesItf_;
2851*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAImageDecoderCapabilitiesItf_
2852*bebae9c0SAndroid Build Coastguard Worker     * const * XAImageDecoderCapabilitiesItf;
2853*bebae9c0SAndroid Build Coastguard Worker 
2854*bebae9c0SAndroid Build Coastguard Worker struct XAImageDecoderCapabilitiesItf_ {
2855*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetImageDecoderCapabilities) (
2856*bebae9c0SAndroid Build Coastguard Worker         XAImageDecoderCapabilitiesItf self,
2857*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pDecoderId,
2858*bebae9c0SAndroid Build Coastguard Worker         XAImageCodecDescriptor * pDescriptor
2859*bebae9c0SAndroid Build Coastguard Worker     );
2860*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryColorFormats) (
2861*bebae9c0SAndroid Build Coastguard Worker         const XAImageDecoderCapabilitiesItf self,
2862*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pIndex,
2863*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pColorFormat
2864*bebae9c0SAndroid Build Coastguard Worker     );
2865*bebae9c0SAndroid Build Coastguard Worker };
2866*bebae9c0SAndroid Build Coastguard Worker 
2867*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_IMAGEENCODER;
2868*bebae9c0SAndroid Build Coastguard Worker 
2869*bebae9c0SAndroid Build Coastguard Worker struct XAImageEncoderItf_;
2870*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAImageEncoderItf_ * const * XAImageEncoderItf;
2871*bebae9c0SAndroid Build Coastguard Worker 
2872*bebae9c0SAndroid Build Coastguard Worker struct XAImageEncoderItf_ {
2873*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetImageSettings) (
2874*bebae9c0SAndroid Build Coastguard Worker         XAImageEncoderItf self,
2875*bebae9c0SAndroid Build Coastguard Worker         const XAImageSettings * pSettings
2876*bebae9c0SAndroid Build Coastguard Worker     );
2877*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetImageSettings) (
2878*bebae9c0SAndroid Build Coastguard Worker         XAImageEncoderItf self,
2879*bebae9c0SAndroid Build Coastguard Worker         XAImageSettings * pSettings
2880*bebae9c0SAndroid Build Coastguard Worker     );
2881*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetSizeEstimate) (
2882*bebae9c0SAndroid Build Coastguard Worker         XAImageEncoderItf self,
2883*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pSize
2884*bebae9c0SAndroid Build Coastguard Worker     );
2885*bebae9c0SAndroid Build Coastguard Worker };
2886*bebae9c0SAndroid Build Coastguard Worker 
2887*bebae9c0SAndroid Build Coastguard Worker /* VIDEO ENCODER AND VIDEO ENCODER/DECODER CAPABILITIES */
2888*bebae9c0SAndroid Build Coastguard Worker 
2889*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOCODEC_MPEG2                     ((XAuint32) 0x00000001)
2890*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOCODEC_H263                      ((XAuint32) 0x00000002)
2891*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOCODEC_MPEG4                     ((XAuint32) 0x00000003)
2892*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOCODEC_AVC                       ((XAuint32) 0x00000004)
2893*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOCODEC_VC1                       ((XAuint32) 0x00000005)
2894*bebae9c0SAndroid Build Coastguard Worker 
2895*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG2_SIMPLE            ((XAuint32) 0x00000001)
2896*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG2_MAIN              ((XAuint32) 0x00000002)
2897*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG2_422               ((XAuint32) 0x00000003)
2898*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG2_SNR               ((XAuint32) 0x00000004)
2899*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG2_SPATIAL           ((XAuint32) 0x00000005)
2900*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG2_HIGH              ((XAuint32) 0x00000006)
2901*bebae9c0SAndroid Build Coastguard Worker 
2902*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG2_LL                  ((XAuint32) 0x00000001)
2903*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG2_ML                  ((XAuint32) 0x00000002)
2904*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG2_H14                 ((XAuint32) 0x00000003)
2905*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG2_HL                  ((XAuint32) 0x00000004)
2906*bebae9c0SAndroid Build Coastguard Worker 
2907*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_H263_BASELINE           ((XAuint32) 0x00000001)
2908*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_H263_H320CODING         ((XAuint32) 0x00000002)
2909*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_H263_BACKWARDCOMPATIBLE ((XAuint32) 0x00000003)
2910*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_H263_ISWV2              ((XAuint32) 0x00000004)
2911*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_H263_ISWV3              ((XAuint32) 0x00000005)
2912*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_H263_HIGHCOMPRESSION    ((XAuint32) 0x00000006)
2913*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_H263_INTERNET           ((XAuint32) 0x00000007)
2914*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_H263_INTERLACE          ((XAuint32) 0x00000008)
2915*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_H263_HIGHLATENCY        ((XAuint32) 0x00000009)
2916*bebae9c0SAndroid Build Coastguard Worker 
2917*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_H263_10                   ((XAuint32) 0x00000001)
2918*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_H263_20                   ((XAuint32) 0x00000002)
2919*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_H263_30                   ((XAuint32) 0x00000003)
2920*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_H263_40                   ((XAuint32) 0x00000004)
2921*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_H263_45                   ((XAuint32) 0x00000005)
2922*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_H263_50                   ((XAuint32) 0x00000006)
2923*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_H263_60                   ((XAuint32) 0x00000007)
2924*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_H263_70                   ((XAuint32) 0x00000008)
2925*bebae9c0SAndroid Build Coastguard Worker 
2926*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_SIMPLE            ((XAuint32) 0x00000001)
2927*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_SIMPLESCALABLE    ((XAuint32) 0x00000002)
2928*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_CORE              ((XAuint32) 0x00000003)
2929*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_MAIN              ((XAuint32) 0x00000004)
2930*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_NBIT              ((XAuint32) 0x00000005)
2931*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_SCALABLETEXTURE   ((XAuint32) 0x00000006)
2932*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_SIMPLEFACE        ((XAuint32) 0x00000007)
2933*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_SIMPLEFBA         ((XAuint32) 0x00000008)
2934*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_BASICANIMATED     ((XAuint32) 0x00000009)
2935*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_HYBRID            ((XAuint32) 0x0000000A)
2936*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_ADVANCEDREALTIME  ((XAuint32) 0x0000000B)
2937*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_CORESCALABLE      ((XAuint32) 0x0000000C)
2938*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_ADVANCEDCODING    ((XAuint32) 0x0000000D)
2939*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_ADVANCEDCORE      ((XAuint32) 0x0000000E)
2940*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_MPEG4_ADVANCEDSCALABLE  ((XAuint32) 0x0000000F)
2941*bebae9c0SAndroid Build Coastguard Worker 
2942*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG4_0                   ((XAuint32) 0x00000001)
2943*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG4_0b                  ((XAuint32) 0x00000002)
2944*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG4_1                   ((XAuint32) 0x00000003)
2945*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG4_2                   ((XAuint32) 0x00000004)
2946*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG4_3                   ((XAuint32) 0x00000005)
2947*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG4_4                   ((XAuint32) 0x00000006)
2948*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG4_4a                  ((XAuint32) 0x00000007)
2949*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_MPEG4_5                   ((XAuint32) 0x00000008)
2950*bebae9c0SAndroid Build Coastguard Worker 
2951*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_AVC_BASELINE            ((XAuint32) 0x00000001)
2952*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_AVC_MAIN                ((XAuint32) 0x00000002)
2953*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_AVC_EXTENDED            ((XAuint32) 0x00000003)
2954*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_AVC_HIGH                ((XAuint32) 0x00000004)
2955*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_AVC_HIGH10              ((XAuint32) 0x00000005)
2956*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_AVC_HIGH422             ((XAuint32) 0x00000006)
2957*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOPROFILE_AVC_HIGH444             ((XAuint32) 0x00000007)
2958*bebae9c0SAndroid Build Coastguard Worker 
2959*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_1                     ((XAuint32) 0x00000001)
2960*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_1B                    ((XAuint32) 0x00000002)
2961*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_11                    ((XAuint32) 0x00000003)
2962*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_12                    ((XAuint32) 0x00000004)
2963*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_13                    ((XAuint32) 0x00000005)
2964*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_2                     ((XAuint32) 0x00000006)
2965*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_21                    ((XAuint32) 0x00000007)
2966*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_22                    ((XAuint32) 0x00000008)
2967*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_3                     ((XAuint32) 0x00000009)
2968*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_31                    ((XAuint32) 0x0000000A)
2969*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_32                    ((XAuint32) 0x0000000B)
2970*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_4                     ((XAuint32) 0x0000000C)
2971*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_41                    ((XAuint32) 0x0000000D)
2972*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_42                    ((XAuint32) 0x0000000E)
2973*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_5                     ((XAuint32) 0x0000000F)
2974*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_AVC_51                    ((XAuint32) 0x00000010)
2975*bebae9c0SAndroid Build Coastguard Worker 
2976*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_SIMPLE                ((XAuint32) 0x00000001)
2977*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_MAIN                  ((XAuint32) 0x00000002)
2978*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_ADVANCED              ((XAuint32) 0x00000003)
2979*bebae9c0SAndroid Build Coastguard Worker 
2980*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_LOW                   ((XAuint32) 0x00000001)
2981*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_MEDIUM                ((XAuint32) 0x00000002)
2982*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_HIGH                  ((XAuint32) 0x00000003)
2983*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_L0                    ((XAuint32) 0x00000004)
2984*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_L1                    ((XAuint32) 0x00000005)
2985*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_L2                    ((XAuint32) 0x00000006)
2986*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_L3                    ((XAuint32) 0x00000007)
2987*bebae9c0SAndroid Build Coastguard Worker #define XA_VIDEOLEVEL_VC1_L4                    ((XAuint32) 0x00000008)
2988*bebae9c0SAndroid Build Coastguard Worker 
2989*bebae9c0SAndroid Build Coastguard Worker typedef struct XAVideoCodecDescriptor_ {
2990*bebae9c0SAndroid Build Coastguard Worker     XAuint32 codecId;
2991*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxWidth;
2992*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxHeight;
2993*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxFrameRate;
2994*bebae9c0SAndroid Build Coastguard Worker     XAuint32 maxBitRate;
2995*bebae9c0SAndroid Build Coastguard Worker     XAuint32 rateControlSupported;
2996*bebae9c0SAndroid Build Coastguard Worker     XAuint32 profileSetting;
2997*bebae9c0SAndroid Build Coastguard Worker     XAuint32 levelSetting;
2998*bebae9c0SAndroid Build Coastguard Worker } XAVideoCodecDescriptor;
2999*bebae9c0SAndroid Build Coastguard Worker 
3000*bebae9c0SAndroid Build Coastguard Worker typedef struct XAVideoSettings_ {
3001*bebae9c0SAndroid Build Coastguard Worker     XAuint32 encoderId;
3002*bebae9c0SAndroid Build Coastguard Worker     XAuint32 width;
3003*bebae9c0SAndroid Build Coastguard Worker     XAuint32 height;
3004*bebae9c0SAndroid Build Coastguard Worker     XAuint32 frameRate;
3005*bebae9c0SAndroid Build Coastguard Worker     XAuint32 bitRate;
3006*bebae9c0SAndroid Build Coastguard Worker     XAuint32 rateControl;
3007*bebae9c0SAndroid Build Coastguard Worker     XAuint32 profileSetting;
3008*bebae9c0SAndroid Build Coastguard Worker     XAuint32 levelSetting;
3009*bebae9c0SAndroid Build Coastguard Worker     XAuint32 keyFrameInterval;
3010*bebae9c0SAndroid Build Coastguard Worker } XAVideoSettings;
3011*bebae9c0SAndroid Build Coastguard Worker 
3012*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_VIDEODECODERCAPABILITIES;
3013*bebae9c0SAndroid Build Coastguard Worker 
3014*bebae9c0SAndroid Build Coastguard Worker struct XAVideoDecoderCapabilitiesItf_;
3015*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAVideoDecoderCapabilitiesItf_
3016*bebae9c0SAndroid Build Coastguard Worker     * const * XAVideoDecoderCapabilitiesItf;
3017*bebae9c0SAndroid Build Coastguard Worker 
3018*bebae9c0SAndroid Build Coastguard Worker struct XAVideoDecoderCapabilitiesItf_ {
3019*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetVideoDecoders) (
3020*bebae9c0SAndroid Build Coastguard Worker         XAVideoDecoderCapabilitiesItf self,
3021*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumDecoders,
3022*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pDecoderIds
3023*bebae9c0SAndroid Build Coastguard Worker     );
3024*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetVideoDecoderCapabilities) (
3025*bebae9c0SAndroid Build Coastguard Worker         XAVideoDecoderCapabilitiesItf self,
3026*bebae9c0SAndroid Build Coastguard Worker         XAuint32 decoderId,
3027*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pIndex,
3028*bebae9c0SAndroid Build Coastguard Worker         XAVideoCodecDescriptor * pDescriptor
3029*bebae9c0SAndroid Build Coastguard Worker     );
3030*bebae9c0SAndroid Build Coastguard Worker };
3031*bebae9c0SAndroid Build Coastguard Worker 
3032*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_VIDEOENCODER;
3033*bebae9c0SAndroid Build Coastguard Worker 
3034*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_VIDEOENCODERCAPABILITIES;
3035*bebae9c0SAndroid Build Coastguard Worker 
3036*bebae9c0SAndroid Build Coastguard Worker struct XAVideoEncoderCapabilitiesItf_;
3037*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAVideoEncoderCapabilitiesItf_
3038*bebae9c0SAndroid Build Coastguard Worker     * const * XAVideoEncoderCapabilitiesItf;
3039*bebae9c0SAndroid Build Coastguard Worker 
3040*bebae9c0SAndroid Build Coastguard Worker struct XAVideoEncoderCapabilitiesItf_ {
3041*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetVideoEncoders) (
3042*bebae9c0SAndroid Build Coastguard Worker         XAVideoEncoderCapabilitiesItf self,
3043*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pNumEncoders,
3044*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pEncoderIds
3045*bebae9c0SAndroid Build Coastguard Worker     );
3046*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetVideoEncoderCapabilities) (
3047*bebae9c0SAndroid Build Coastguard Worker         XAVideoEncoderCapabilitiesItf self,
3048*bebae9c0SAndroid Build Coastguard Worker         XAuint32 encoderId,
3049*bebae9c0SAndroid Build Coastguard Worker         XAuint32 * pIndex,
3050*bebae9c0SAndroid Build Coastguard Worker         XAVideoCodecDescriptor * pDescriptor
3051*bebae9c0SAndroid Build Coastguard Worker     );
3052*bebae9c0SAndroid Build Coastguard Worker };
3053*bebae9c0SAndroid Build Coastguard Worker 
3054*bebae9c0SAndroid Build Coastguard Worker struct XAVideoEncoderItf_;
3055*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAVideoEncoderItf_ * const * XAVideoEncoderItf;
3056*bebae9c0SAndroid Build Coastguard Worker 
3057*bebae9c0SAndroid Build Coastguard Worker struct XAVideoEncoderItf_ {
3058*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetVideoSettings) (
3059*bebae9c0SAndroid Build Coastguard Worker         XAVideoEncoderItf self,
3060*bebae9c0SAndroid Build Coastguard Worker         XAVideoSettings * pSettings
3061*bebae9c0SAndroid Build Coastguard Worker     );
3062*bebae9c0SAndroid Build Coastguard Worker     XAresult (*GetVideoSettings) (
3063*bebae9c0SAndroid Build Coastguard Worker         XAVideoEncoderItf self,
3064*bebae9c0SAndroid Build Coastguard Worker         XAVideoSettings * pSettings
3065*bebae9c0SAndroid Build Coastguard Worker     );
3066*bebae9c0SAndroid Build Coastguard Worker };
3067*bebae9c0SAndroid Build Coastguard Worker 
3068*bebae9c0SAndroid Build Coastguard Worker /* STREAM INFORMATION */
3069*bebae9c0SAndroid Build Coastguard Worker 
3070*bebae9c0SAndroid Build Coastguard Worker #define XA_DOMAINTYPE_AUDIO     0x00000001
3071*bebae9c0SAndroid Build Coastguard Worker #define XA_DOMAINTYPE_VIDEO     0x00000002
3072*bebae9c0SAndroid Build Coastguard Worker #define XA_DOMAINTYPE_IMAGE     0x00000003
3073*bebae9c0SAndroid Build Coastguard Worker #define XA_DOMAINTYPE_TIMEDTEXT 0x00000004
3074*bebae9c0SAndroid Build Coastguard Worker #define XA_DOMAINTYPE_MIDI      0x00000005
3075*bebae9c0SAndroid Build Coastguard Worker #define XA_DOMAINTYPE_VENDOR    0xFFFFFFFE
3076*bebae9c0SAndroid Build Coastguard Worker #define XA_DOMAINTYPE_UNKNOWN   0xFFFFFFFF
3077*bebae9c0SAndroid Build Coastguard Worker 
3078*bebae9c0SAndroid Build Coastguard Worker #define XA_MIDIBANK_DEVICE      0x00000001
3079*bebae9c0SAndroid Build Coastguard Worker #define XA_MIDIBANK_CUSTOM      0x00000002
3080*bebae9c0SAndroid Build Coastguard Worker 
3081*bebae9c0SAndroid Build Coastguard Worker #define XA_MIDI_UNKNOWN         0xFFFFFFFF
3082*bebae9c0SAndroid Build Coastguard Worker 
3083*bebae9c0SAndroid Build Coastguard Worker #define XA_STREAMCBEVENT_PROPERTYCHANGE     ((XAuint32) 0x00000001)
3084*bebae9c0SAndroid Build Coastguard Worker 
3085*bebae9c0SAndroid Build Coastguard Worker typedef struct XAMediaContainerInformation_ {
3086*bebae9c0SAndroid Build Coastguard Worker     XAuint32 containerType;
3087*bebae9c0SAndroid Build Coastguard Worker     XAmillisecond mediaDuration;
3088*bebae9c0SAndroid Build Coastguard Worker     XAuint32 numStreams;
3089*bebae9c0SAndroid Build Coastguard Worker } XAMediaContainerInformation;
3090*bebae9c0SAndroid Build Coastguard Worker 
3091*bebae9c0SAndroid Build Coastguard Worker typedef struct XAVideoStreamInformation_ {
3092*bebae9c0SAndroid Build Coastguard Worker     XAuint32 codecId;
3093*bebae9c0SAndroid Build Coastguard Worker     XAuint32 width;
3094*bebae9c0SAndroid Build Coastguard Worker     XAuint32 height;
3095*bebae9c0SAndroid Build Coastguard Worker     XAuint32 frameRate;
3096*bebae9c0SAndroid Build Coastguard Worker     XAuint32 bitRate;
3097*bebae9c0SAndroid Build Coastguard Worker     XAmillisecond duration;
3098*bebae9c0SAndroid Build Coastguard Worker } XAVideoStreamInformation;
3099*bebae9c0SAndroid Build Coastguard Worker 
3100*bebae9c0SAndroid Build Coastguard Worker typedef struct XAAudioStreamInformation_ {
3101*bebae9c0SAndroid Build Coastguard Worker     XAuint32 codecId;
3102*bebae9c0SAndroid Build Coastguard Worker     XAuint32 channels;
3103*bebae9c0SAndroid Build Coastguard Worker     XAmilliHertz sampleRate;
3104*bebae9c0SAndroid Build Coastguard Worker     XAuint32 bitRate;
3105*bebae9c0SAndroid Build Coastguard Worker     XAchar langCountry[16];
3106*bebae9c0SAndroid Build Coastguard Worker     XAmillisecond duration;
3107*bebae9c0SAndroid Build Coastguard Worker } XAAudioStreamInformation;
3108*bebae9c0SAndroid Build Coastguard Worker 
3109*bebae9c0SAndroid Build Coastguard Worker typedef struct XAImageStreamInformation_ {
3110*bebae9c0SAndroid Build Coastguard Worker     XAuint32 codecId;
3111*bebae9c0SAndroid Build Coastguard Worker     XAuint32 width;
3112*bebae9c0SAndroid Build Coastguard Worker     XAuint32 height;
3113*bebae9c0SAndroid Build Coastguard Worker     XAmillisecond presentationDuration;
3114*bebae9c0SAndroid Build Coastguard Worker } XAImageStreamInformation;
3115*bebae9c0SAndroid Build Coastguard Worker 
3116*bebae9c0SAndroid Build Coastguard Worker typedef struct XATimedTextStreamInformation_ {
3117*bebae9c0SAndroid Build Coastguard Worker     XAuint16 layer;
3118*bebae9c0SAndroid Build Coastguard Worker     XAuint32 width;
3119*bebae9c0SAndroid Build Coastguard Worker     XAuint32 height;
3120*bebae9c0SAndroid Build Coastguard Worker     XAuint16 tx;
3121*bebae9c0SAndroid Build Coastguard Worker     XAuint16 ty;
3122*bebae9c0SAndroid Build Coastguard Worker     XAuint32 bitrate;
3123*bebae9c0SAndroid Build Coastguard Worker     XAchar langCountry[16];
3124*bebae9c0SAndroid Build Coastguard Worker     XAmillisecond duration;
3125*bebae9c0SAndroid Build Coastguard Worker } XATimedTextStreamInformation;
3126*bebae9c0SAndroid Build Coastguard Worker 
3127*bebae9c0SAndroid Build Coastguard Worker typedef struct XAMIDIStreamInformation_ {
3128*bebae9c0SAndroid Build Coastguard Worker     XAuint32 channels;
3129*bebae9c0SAndroid Build Coastguard Worker     XAuint32 tracks;
3130*bebae9c0SAndroid Build Coastguard Worker     XAuint32 bankType;
3131*bebae9c0SAndroid Build Coastguard Worker     XAchar langCountry[16];
3132*bebae9c0SAndroid Build Coastguard Worker     XAmillisecond duration;
3133*bebae9c0SAndroid Build Coastguard Worker } XAMIDIStreamInformation;
3134*bebae9c0SAndroid Build Coastguard Worker 
3135*bebae9c0SAndroid Build Coastguard Worker typedef struct XAVendorStreamInformation_ {
3136*bebae9c0SAndroid Build Coastguard Worker     void *VendorStreamInfo;
3137*bebae9c0SAndroid Build Coastguard Worker } XAVendorStreamInformation;
3138*bebae9c0SAndroid Build Coastguard Worker 
3139*bebae9c0SAndroid Build Coastguard Worker XA_API extern const XAInterfaceID XA_IID_STREAMINFORMATION;
3140*bebae9c0SAndroid Build Coastguard Worker 
3141*bebae9c0SAndroid Build Coastguard Worker struct XAStreamInformationItf_;
3142*bebae9c0SAndroid Build Coastguard Worker typedef const struct XAStreamInformationItf_ * const * XAStreamInformationItf;
3143*bebae9c0SAndroid Build Coastguard Worker 
3144*bebae9c0SAndroid Build Coastguard Worker typedef void (XAAPIENTRY * xaStreamEventChangeCallback) (
3145*bebae9c0SAndroid Build Coastguard Worker     XAStreamInformationItf caller,
3146*bebae9c0SAndroid Build Coastguard Worker     XAuint32 eventId,
3147*bebae9c0SAndroid Build Coastguard Worker     XAuint32 streamIndex,
3148*bebae9c0SAndroid Build Coastguard Worker     void * pEventData,
3149*bebae9c0SAndroid Build Coastguard Worker     void * pContext
3150*bebae9c0SAndroid Build Coastguard Worker );
3151*bebae9c0SAndroid Build Coastguard Worker 
3152*bebae9c0SAndroid Build Coastguard Worker struct XAStreamInformationItf_ {
3153*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryMediaContainerInformation) (
3154*bebae9c0SAndroid Build Coastguard Worker         XAStreamInformationItf self,
3155*bebae9c0SAndroid Build Coastguard Worker         XAMediaContainerInformation * info
3156*bebae9c0SAndroid Build Coastguard Worker     );
3157*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryStreamType) (
3158*bebae9c0SAndroid Build Coastguard Worker         XAStreamInformationItf self,
3159*bebae9c0SAndroid Build Coastguard Worker         XAuint32 streamIndex,
3160*bebae9c0SAndroid Build Coastguard Worker         XAuint32 *domain
3161*bebae9c0SAndroid Build Coastguard Worker     );
3162*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryStreamInformation) (
3163*bebae9c0SAndroid Build Coastguard Worker         XAStreamInformationItf self,
3164*bebae9c0SAndroid Build Coastguard Worker         XAuint32 streamIndex,
3165*bebae9c0SAndroid Build Coastguard Worker         void * info
3166*bebae9c0SAndroid Build Coastguard Worker     );
3167*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryStreamName) (
3168*bebae9c0SAndroid Build Coastguard Worker         XAStreamInformationItf self,
3169*bebae9c0SAndroid Build Coastguard Worker         XAuint32 streamIndex,
3170*bebae9c0SAndroid Build Coastguard Worker         XAuint16 * pNameSize,
3171*bebae9c0SAndroid Build Coastguard Worker         XAchar * pName
3172*bebae9c0SAndroid Build Coastguard Worker     );
3173*bebae9c0SAndroid Build Coastguard Worker     XAresult (*RegisterStreamChangeCallback) (
3174*bebae9c0SAndroid Build Coastguard Worker         XAStreamInformationItf self,
3175*bebae9c0SAndroid Build Coastguard Worker         xaStreamEventChangeCallback callback,
3176*bebae9c0SAndroid Build Coastguard Worker         void * pContext
3177*bebae9c0SAndroid Build Coastguard Worker     );
3178*bebae9c0SAndroid Build Coastguard Worker     XAresult (*QueryActiveStreams) (
3179*bebae9c0SAndroid Build Coastguard Worker         XAStreamInformationItf self,
3180*bebae9c0SAndroid Build Coastguard Worker         XAuint32 *numStreams,
3181*bebae9c0SAndroid Build Coastguard Worker         XAboolean *activeStreams
3182*bebae9c0SAndroid Build Coastguard Worker     );
3183*bebae9c0SAndroid Build Coastguard Worker     XAresult (*SetActiveStream) (
3184*bebae9c0SAndroid Build Coastguard Worker         XAStreamInformationItf self,
3185*bebae9c0SAndroid Build Coastguard Worker         XAuint32   streamNum,
3186*bebae9c0SAndroid Build Coastguard Worker         XAboolean  active,
3187*bebae9c0SAndroid Build Coastguard Worker         XAboolean  commitNow
3188*bebae9c0SAndroid Build Coastguard Worker     );
3189*bebae9c0SAndroid Build Coastguard Worker };
3190*bebae9c0SAndroid Build Coastguard Worker 
3191*bebae9c0SAndroid Build Coastguard Worker #ifdef __cplusplus
3192*bebae9c0SAndroid Build Coastguard Worker } /* extern "C" */
3193*bebae9c0SAndroid Build Coastguard Worker #endif
3194*bebae9c0SAndroid Build Coastguard Worker 
3195*bebae9c0SAndroid Build Coastguard Worker #endif /* _OPENMAXAL_H_ */
3196