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