OpenMAXAL.h revision 8db0b106cdce5f5216b1535492de7930ad738aed
18db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* 28db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * Copyright (c) 2007-2010 The Khronos Group Inc. 38db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * 48db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * Permission is hereby granted, free of charge, to any person obtaining 58db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * a copy of this software and/or associated documentation files (the 68db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * "Materials "), to deal in the Materials without restriction, including 78db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * without limitation the rights to use, copy, modify, merge, publish, 88db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * distribute, sublicense, and/or sell copies of the Materials, and to 98db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * permit persons to whom the Materials are furnished to do so, subject to 108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * the following conditions: 118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * 128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * The above copyright notice and this permission notice shall be included 138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * in all copies or substantial portions of the Materials. 148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * 158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * 238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * OpenMAXAL.h - OpenMAX AL version 1.0.1 248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * 258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten */ 268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/****************************************************************************/ 288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* NOTE: This file is a standard OpenMAX AL header file and should not be */ 298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* modified in any way. */ 308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/****************************************************************************/ 318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#ifndef _OPENMAXAL_H_ 338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define _OPENMAXAL_H_ 348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#include "OpenMAXAL_Platform.h" 368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#ifdef __cplusplus 388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenextern "C" { 398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#endif 408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /* TYPES */ 458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* remap common types to XA types for clarity */ 488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef xa_int8_t XAint8; /* 8 bit signed integer */ 498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef xa_uint8_t XAuint8; /* 8 bit unsigned integer */ 508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef xa_int16_t XAint16; /* 16 bit signed integer */ 518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef xa_uint16_t XAuint16; /* 16 bit unsigned integer */ 528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef xa_int32_t XAint32; /* 32 bit signed integer */ 538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef xa_uint32_t XAuint32; /* 32 bit unsigned integer */ 548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef xa_uint64_t XAuint64; /* 64 bit unsigned integer */ 558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAuint32 XAboolean; 578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAuint8 XAchar; 588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAint16 XAmillibel; 598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAuint32 XAmillisecond; 608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAuint32 XAmilliHertz; 618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAint32 XAmillimeter; 628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAint32 XAmillidegree; 638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAint16 XApermille; 648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAuint32 XAmicrosecond; 658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAuint64 XAtime; 668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef XAuint32 XAresult; 678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_BOOLEAN_FALSE ((XAuint32) 0x00000000) 698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_BOOLEAN_TRUE ((XAuint32) 0x00000001) 708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_MILLIBEL_MAX ((XAmillibel) 0x7FFF) 728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_MILLIBEL_MIN ((XAmillibel) (-XA_MILLIBEL_MAX-1)) 738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_MILLIHERTZ_MAX ((XAmilliHertz) 0xFFFFFFFF) 758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_MILLIMETER_MAX ((XAmillimeter) 0x7FFFFFFF) 778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /* RESULT CODES */ 828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_SUCCESS ((XAuint32) 0x00000000) 858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_PRECONDITIONS_VIOLATED ((XAuint32) 0x00000001) 868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_PARAMETER_INVALID ((XAuint32) 0x00000002) 878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_MEMORY_FAILURE ((XAuint32) 0x00000003) 888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_RESOURCE_ERROR ((XAuint32) 0x00000004) 898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_RESOURCE_LOST ((XAuint32) 0x00000005) 908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_IO_ERROR ((XAuint32) 0x00000006) 918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_BUFFER_INSUFFICIENT ((XAuint32) 0x00000007) 928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_CONTENT_CORRUPTED ((XAuint32) 0x00000008) 938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_CONTENT_UNSUPPORTED ((XAuint32) 0x00000009) 948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_CONTENT_NOT_FOUND ((XAuint32) 0x0000000A) 958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_PERMISSION_DENIED ((XAuint32) 0x0000000B) 968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_FEATURE_UNSUPPORTED ((XAuint32) 0x0000000C) 978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_INTERNAL_ERROR ((XAuint32) 0x0000000D) 988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_UNKNOWN_ERROR ((XAuint32) 0x0000000E) 998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_OPERATION_ABORTED ((XAuint32) 0x0000000F) 1008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RESULT_CONTROL_LOST ((XAuint32) 0x00000010) 1018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 1058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /* INTERFACE ID DEFINITION */ 1068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 1078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* Interface ID defined as a UUID */ 1098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAInterfaceID_ { 1108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 time_low; 1118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 time_mid; 1128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 time_hi_and_version; 1138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 clock_seq; 1148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 node[6]; 1158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} * XAInterfaceID; 1168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* NULL Interface */ 1188db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_NULL; 1198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 1238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /* GENERAL INTERFACES, STRUCTS AND DEFINES */ 1248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 1258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* OBJECT */ 1278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PRIORITY_LOWEST ((XAint32) (-0x7FFFFFFF-1)) 1298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PRIORITY_VERYLOW ((XAint32) -0x60000000) 1308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PRIORITY_LOW ((XAint32) -0x40000000) 1318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PRIORITY_BELOWNORMAL ((XAint32) -0x20000000) 1328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PRIORITY_NORMAL ((XAint32) 0x00000000) 1338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PRIORITY_ABOVENORMAL ((XAint32) 0x20000000) 1348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PRIORITY_HIGH ((XAint32) 0x40000000) 1358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PRIORITY_VERYHIGH ((XAint32) 0x60000000) 1368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PRIORITY_HIGHEST ((XAint32) 0x7FFFFFFF) 1378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_EVENT_RUNTIME_ERROR ((XAuint32) 0x00000001) 1398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_EVENT_ASYNC_TERMINATION ((XAuint32) 0x00000002) 1408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_EVENT_RESOURCES_LOST ((XAuint32) 0x00000003) 1418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_EVENT_RESOURCES_AVAILABLE ((XAuint32) 0x00000004) 1428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_EVENT_ITF_CONTROL_TAKEN ((XAuint32) 0x00000005) 1438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_EVENT_ITF_CONTROL_RETURNED ((XAuint32) 0x00000006) 1448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_EVENT_ITF_PARAMETERS_CHANGED ((XAuint32) 0x00000007) 1458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_STATE_UNREALIZED ((XAuint32) 0x00000001) 1478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_STATE_REALIZED ((XAuint32) 0x00000002) 1488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECT_STATE_SUSPENDED ((XAuint32) 0x00000003) 1498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1518db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_OBJECT; 1528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAObjectItf_; 1548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAObjectItf_ * const * XAObjectItf; 1558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaObjectCallback) ( 1578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf caller, 1588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const void * pContext, 1598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 event, 1608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult result, 1618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 param, 1628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pInterface 1638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 1648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 1658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAObjectItf_ { 1668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*Realize) ( 1678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self, 1688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean async 1698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 1708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*Resume) ( 1718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self, 1728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean async 1738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 1748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetState) ( 1758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self, 1768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pState 1778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 1788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetInterface) ( 1798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self, 1808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID iid, 1818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pInterface 1828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 1838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterCallback) ( 1848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self, 1858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaObjectCallback callback, 1868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 1878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 1888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void (*AbortAsyncOperation) ( 1898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self 1908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 1918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void (*Destroy) ( 1928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self 1938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 1948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetPriority) ( 1958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self, 1968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 priority, 1978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean preemptable 1988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 1998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetPriority) ( 2008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self, 2018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pPriority, 2028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pPreemptable 2038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 2048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetLossOfControlInterfaces) ( 2058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf self, 2068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 numInterfaces, 2078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAInterfaceID * pInterfaceIDs, 2088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean enabled 2098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 2108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 2118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* CONFIG EXTENSION */ 2138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2148db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_CONFIGEXTENSION; 2158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAConfigExtensionsItf_; 2178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAConfigExtensionsItf_ 2188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAConfigExtensionsItf; 2198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAConfigExtensionsItf_ { 2218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetConfiguration) ( 2228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAConfigExtensionsItf self, 2238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAchar * configKey, 2248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 valueSize, 2258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const void * pConfigValue 2268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 2278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetConfiguration) ( 2288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAConfigExtensionsItf self, 2298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAchar * configKey, 2308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pValueSize, 2318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pConfigValue 2328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 2338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 2348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* DYNAMIC INTERFACE MANAGEMENT */ 2368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DYNAMIC_ITF_EVENT_RUNTIME_ERROR ((XAuint32) 0x00000001) 2388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DYNAMIC_ITF_EVENT_ASYNC_TERMINATION ((XAuint32) 0x00000002) 2398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DYNAMIC_ITF_EVENT_RESOURCES_LOST ((XAuint32) 0x00000003) 2408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DYNAMIC_ITF_EVENT_RESOURCES_LOST_PERMANENTLY ((XAuint32) 0x00000004) 2418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DYNAMIC_ITF_EVENT_RESOURCES_AVAILABLE ((XAuint32) 0x00000005) 2428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2438db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_DYNAMICINTERFACEMANAGEMENT; 2448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XADynamicInterfaceManagementItf_; 2468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XADynamicInterfaceManagementItf_ 2478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XADynamicInterfaceManagementItf; 2488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaDynamicInterfaceManagementCallback) ( 2508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADynamicInterfaceManagementItf caller, 2518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 2528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 event, 2538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult result, 2548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID iid 2558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 2568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XADynamicInterfaceManagementItf_ { 2588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*AddInterface) ( 2598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADynamicInterfaceManagementItf self, 2608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID iid, 2618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean aysnc 2628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 2638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RemoveInterface) ( 2648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADynamicInterfaceManagementItf self, 2658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID iid 2668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 2678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*ResumeInterface) ( 2688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADynamicInterfaceManagementItf self, 2698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID iid, 2708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean aysnc 2718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 2728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterCallback) ( 2738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADynamicInterfaceManagementItf self, 2748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaDynamicInterfaceManagementCallback callback, 2758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 2768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 2778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 2788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* DATA SOURCES/SINKS */ 2808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATAFORMAT_MIME ((XAuint32) 0x00000001) 2828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATAFORMAT_PCM ((XAuint32) 0x00000002) 2838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATAFORMAT_RAWIMAGE ((XAuint32) 0x00000003) 2848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATALOCATOR_URI ((XAuint32) 0x00000001) 2868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATALOCATOR_ADDRESS ((XAuint32) 0x00000002) 2878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATALOCATOR_IODEVICE ((XAuint32) 0x00000003) 2888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATALOCATOR_OUTPUTMIX ((XAuint32) 0x00000004) 2898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATALOCATOR_NATIVEDISPLAY ((XAuint32) 0x00000005) 2908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATALOCATOR_RESERVED6 ((XAuint32) 0x00000006) 2918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DATALOCATOR_RESERVED7 ((XAuint32) 0x00000007) 2928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataSink_ { 2948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pLocator; 2958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pFormat; 2968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataSink; 2978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 2988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataSource_ { 2998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pLocator; 3008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pFormat; 3018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataSource; 3028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 3038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_UNSPECIFIED ((XAuint32) 0x00000001) 3048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_RAW ((XAuint32) 0x00000002) 3058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_ASF ((XAuint32) 0x00000003) 3068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_AVI ((XAuint32) 0x00000004) 3078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_BMP ((XAuint32) 0x00000005) 3088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_JPG ((XAuint32) 0x00000006) 3098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_JPG2000 ((XAuint32) 0x00000007) 3108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_M4A ((XAuint32) 0x00000008) 3118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_MP3 ((XAuint32) 0x00000009) 3128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_MP4 ((XAuint32) 0x0000000A) 3138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_MPEG_ES ((XAuint32) 0x0000000B) 3148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_MPEG_PS ((XAuint32) 0x0000000C) 3158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_MPEG_TS ((XAuint32) 0x0000000D) 3168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_QT ((XAuint32) 0x0000000E) 3178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_WAV ((XAuint32) 0x0000000F) 3188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_XMF_0 ((XAuint32) 0x00000010) 3198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_XMF_1 ((XAuint32) 0x00000011) 3208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_XMF_2 ((XAuint32) 0x00000012) 3218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_XMF_3 ((XAuint32) 0x00000013) 3228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_XMF_GENERIC ((XAuint32) 0x00000014) 3238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_AMR ((XAuint32) 0x00000015) 3248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_AAC ((XAuint32) 0x00000016) 3258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_3GPP ((XAuint32) 0x00000017) 3268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_3GA ((XAuint32) 0x00000018) 3278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_RM ((XAuint32) 0x00000019) 3288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_DMF ((XAuint32) 0x0000001A) 3298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_SMF ((XAuint32) 0x0000001B) 3308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_MOBILE_DLS ((XAuint32) 0x0000001C) 3318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CONTAINERTYPE_OGG ((XAuint32) 0x0000001D) 3328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 3338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataFormat_MIME_ { 3348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 formatType; 3358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * mimeType; 3368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 containerType; 3378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataFormat_MIME; 3388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 3398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_BYTEORDER_BIGENDIAN ((XAuint32) 0x00000001) 3408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_BYTEORDER_LITTLEENDIAN ((XAuint32) 0x00000002) 3418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 3428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_8 ((XAuint32) 8000000) 3438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_11_025 ((XAuint32) 11025000) 3448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_12 ((XAuint32) 12000000) 3458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_16 ((XAuint32) 16000000) 3468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_22_05 ((XAuint32) 22050000) 3478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_24 ((XAuint32) 24000000) 3488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_32 ((XAuint32) 32000000) 3498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_44_1 ((XAuint32) 44100000) 3508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_48 ((XAuint32) 48000000) 3518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_64 ((XAuint32) 64000000) 3528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_88_2 ((XAuint32) 88200000) 3538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_96 ((XAuint32) 96000000) 3548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SAMPLINGRATE_192 ((XAuint32) 192000000) 3558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 3568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_FRONT_LEFT ((XAuint32) 0x00000001) 3578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_FRONT_RIGHT ((XAuint32) 0x00000002) 3588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_FRONT_CENTER ((XAuint32) 0x00000004) 3598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_LOW_FREQUENCY ((XAuint32) 0x00000008) 3608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_BACK_LEFT ((XAuint32) 0x00000010) 3618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_BACK_RIGHT ((XAuint32) 0x00000020) 3628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_FRONT_LEFT_OF_CENTER ((XAuint32) 0x00000040) 3638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_FRONT_RIGHT_OF_CENTER ((XAuint32) 0x00000080) 3648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_BACK_CENTER ((XAuint32) 0x00000100) 3658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_SIDE_LEFT ((XAuint32) 0x00000200) 3668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_SIDE_RIGHT ((XAuint32) 0x00000400) 3678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_TOP_CENTER ((XAuint32) 0x00000800) 3688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_TOP_FRONT_LEFT ((XAuint32) 0x00001000) 3698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_TOP_FRONT_CENTER ((XAuint32) 0x00002000) 3708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_TOP_FRONT_RIGHT ((XAuint32) 0x00004000) 3718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_TOP_BACK_LEFT ((XAuint32) 0x00008000) 3728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_TOP_BACK_CENTER ((XAuint32) 0x00010000) 3738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SPEAKER_TOP_BACK_RIGHT ((XAuint32) 0x00020000) 3748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 3758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PCMSAMPLEFORMAT_FIXED_8 ((XAuint16) 0x0008) 3768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PCMSAMPLEFORMAT_FIXED_16 ((XAuint16) 0x0010) 3778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PCMSAMPLEFORMAT_FIXED_20 ((XAuint16) 0x0014) 3788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PCMSAMPLEFORMAT_FIXED_24 ((XAuint16) 0x0018) 3798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PCMSAMPLEFORMAT_FIXED_28 ((XAuint16) 0x001C) 3808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PCMSAMPLEFORMAT_FIXED_32 ((XAuint16) 0x0020) 3818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 3828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataFormat_PCM_ { 3838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 formatType; 3848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numChannels; 3858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 samplesPerSec; 3868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 bitsPerSample; 3878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 containerSize; 3888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 channelMask; 3898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 endianness; 3908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataFormat_PCM; 3918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 3928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_UNUSED ((XAuint32) 0x00000000) 3938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_MONOCHROME ((XAuint32) 0x00000001) 3948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_8BITRGB332 ((XAuint32) 0x00000002) 3958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_12BITRGB444 ((XAuint32) 0x00000003) 3968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_16BITARGB4444 ((XAuint32) 0x00000004) 3978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_16BITARGB1555 ((XAuint32) 0x00000005) 3988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_16BITRGB565 ((XAuint32) 0x00000006) 3998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_16BITBGR565 ((XAuint32) 0x00000007) 4008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_18BITRGB666 ((XAuint32) 0x00000008) 4018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_18BITARGB1665 ((XAuint32) 0x00000009) 4028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_19BITARGB1666 ((XAuint32) 0x0000000A) 4038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_24BITRGB888 ((XAuint32) 0x0000000B) 4048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_24BITBGR888 ((XAuint32) 0x0000000C) 4058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_24BITARGB1887 ((XAuint32) 0x0000000D) 4068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_25BITARGB1888 ((XAuint32) 0x0000000E) 4078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_32BITBGRA8888 ((XAuint32) 0x0000000F) 4088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_32BITARGB8888 ((XAuint32) 0x00000010) 4098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_YUV411PLANAR ((XAuint32) 0x00000011) 4108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_YUV420PLANAR ((XAuint32) 0x00000013) 4118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_YUV420SEMIPLANAR ((XAuint32) 0x00000015) 4128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_YUV422PLANAR ((XAuint32) 0x00000016) 4138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_YUV422SEMIPLANAR ((XAuint32) 0x00000018) 4148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_YCBYCR ((XAuint32) 0x00000019) 4158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_YCRYCB ((XAuint32) 0x0000001A) 4168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_CBYCRY ((XAuint32) 0x0000001B) 4178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_CRYCBY ((XAuint32) 0x0000001C) 4188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_YUV444INTERLEAVED ((XAuint32) 0x0000001D) 4198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_RAWBAYER8BIT ((XAuint32) 0x0000001E) 4208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_RAWBAYER10BIT ((XAuint32) 0x0000001F) 4218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_RAWBAYER8BITCOMPRESSED ((XAuint32) 0x00000020) 4228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_L2 ((XAuint32) 0x00000021) 4238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_L4 ((XAuint32) 0x00000022) 4248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_L8 ((XAuint32) 0x00000023) 4258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_L16 ((XAuint32) 0x00000024) 4268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_L24 ((XAuint32) 0x00000025) 4278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_L32 ((XAuint32) 0x00000026) 4288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_18BITBGR666 ((XAuint32) 0x00000029) 4298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_24BITARGB6666 ((XAuint32) 0x0000002A) 4308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_COLORFORMAT_24BITABGR6666 ((XAuint32) 0x0000002B) 4318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataFormat_RawImage_ { 4338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 formatType; 4348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 colorFormat; 4358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 height; 4368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 width; 4378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 stride; 4388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataFormat_RawImage; 4398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataLocator_Address_ { 4418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 locatorType; 4428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pAddress; 4438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 length; 4448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataLocator_Address; 4458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IODEVICE_AUDIOINPUT ((XAuint32) 0x00000001) 4478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IODEVICE_LEDARRAY ((XAuint32) 0x00000002) 4488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IODEVICE_VIBRA ((XAuint32) 0x00000003) 4498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IODEVICE_CAMERA ((XAuint32) 0x00000004) 4508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IODEVICE_RADIO ((XAuint32) 0x00000005) 4518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataLocator_IODevice_ { 4538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 locatorType; 4548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceType; 4558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID; 4568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf device; 4578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataLocator_IODevice; 4588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void * XANativeHandle; 4608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataLocator_NativeDisplay_{ 4628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 locatorType; 4638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XANativeHandle hWindow; 4648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XANativeHandle hDisplay; 4658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataLocator_NativeDisplay; 4668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataLocator_OutputMix { 4688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 locatorType; 4698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf outputMix; 4708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataLocator_OutputMix; 4718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XADataLocator_URI_ { 4738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 locatorType; 4748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * URI; 4758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XADataLocator_URI; 4768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* ENGINE */ 4798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEFAULTDEVICEID_AUDIOINPUT ((XAuint32) 0xFFFFFFFF) 4818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEFAULTDEVICEID_AUDIOOUTPUT ((XAuint32) 0xFFFFFFFE) 4828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEFAULTDEVICEID_LED ((XAuint32) 0xFFFFFFFD) 4838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEFAULTDEVICEID_VIBRA ((XAuint32) 0xFFFFFFFC) 4848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEFAULTDEVICEID_CAMERA ((XAuint32) 0xFFFFFFFB) 4858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_ENGINEOPTION_THREADSAFE ((XAuint32) 0x00000001) 4878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_ENGINEOPTION_LOSSOFCONTROL ((XAuint32) 0x00000002) 4888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECTID_ENGINE ((XAuint32) 0x00000001) 4908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECTID_LEDDEVICE ((XAuint32) 0x00000002) 4918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECTID_VIBRADEVICE ((XAuint32) 0x00000003) 4928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECTID_MEDIAPLAYER ((XAuint32) 0x00000004) 4938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECTID_MEDIARECORDER ((XAuint32) 0x00000005) 4948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECTID_RADIODEVICE ((XAuint32) 0x00000006) 4958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECTID_OUTPUTMIX ((XAuint32) 0x00000007) 4968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECTID_METADATAEXTRACTOR ((XAuint32) 0x00000008) 4978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_OBJECTID_CAMERADEVICE ((XAuint32) 0x00000009) 4988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 4998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PROFILES_MEDIA_PLAYER ((XAint16) 0x0001) 5008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PROFILES_MEDIA_PLAYER_RECORDER ((XAint16) 0x0002) 5018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PROFILES_PLUS_MIDI ((XAint16) 0x0004) 5028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAEngineOption_ { 5048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 feature; 5058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 data; 5068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAEngineOption; 5078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5088db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API XAresult XAAPIENTRY xaCreateEngine( 5098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pEngine, 5108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numOptions, 5118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAEngineOption * pEngineOptions, 5128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 5138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 5148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 5158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 5168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5178db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API XAresult XAAPIENTRY xaQueryNumSupportedEngineInterfaces( 5188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumSupportedInterfaces 5198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 5208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5218db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API XAresult XAAPIENTRY xaQuerySupportedEngineInterfaces( 5228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 5238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAInterfaceID * pInterfaceId 5248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 5258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XALEDDescriptor_ { 5278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 ledCount; 5288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 primaryLED; 5298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 colorMask; 5308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XALEDDescriptor; 5318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAVibraDescriptor_ { 5338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean supportsFrequency; 5348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean supportsIntensity; 5358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz minFrequency; 5368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz maxFrequency; 5378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAVibraDescriptor; 5388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5408db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_ENGINE; 5418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAEngineItf_; 5438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAEngineItf_ * const * XAEngineItf; 5448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 5458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAEngineItf_ { 5468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateCameraDevice) ( 5478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 5488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pDevice, 5498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 5508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 5518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 5528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 5538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 5548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateRadioDevice) ( 5558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 5568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pDevice, 5578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 5588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 5598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 5608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 5618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateLEDDevice) ( 5628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 5638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pDevice, 5648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 5658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 5668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 5678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 5688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 5698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateVibraDevice) ( 5708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 5718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pDevice, 5728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 5738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 5748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 5758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 5768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 5778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateMediaPlayer) ( 5788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 5798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pPlayer, 5808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSource * pDataSrc, 5818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSource * pBankSrc, 5828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSink * pAudioSnk, 5838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSink * pImageVideoSnk, 5848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSink * pVibra, 5858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSink * pLEDArray, 5868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 5878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 5888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 5898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 5908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateMediaRecorder) ( 5918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 5928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pRecorder, 5938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSource * pAudioSrc, 5948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSource * pImageVideoSrc, 5958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSink * pDataSnk, 5968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 5978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 5988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 5998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateOutputMix) ( 6018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pMix, 6038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 6048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 6058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 6068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateMetadataExtractor) ( 6088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pMetadataExtractor, 6108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSource * pDataSource, 6118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 6128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 6138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 6148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateExtensionObject) ( 6168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAObjectItf * pObject, 6188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pParameters, 6198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 objectID, 6208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numInterfaces, 6218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAInterfaceID * pInterfaceIds, 6228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAboolean * pInterfaceRequired 6238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetImplementationInfo) ( 6258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMajor, 6278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMinor, 6288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pStep, 6298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAchar * pImplementationText 6308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QuerySupportedProfiles) ( 6328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 * pProfilesSupported 6348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryNumSupportedInterfaces) ( 6368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 objectID, 6388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumSupportedInterfaces 6398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QuerySupportedInterfaces) ( 6418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 objectID, 6438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 6448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAInterfaceID * pInterfaceId 6458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryNumSupportedExtensions) ( 6478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumExtensions 6498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QuerySupportedExtension) ( 6518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 6538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * pExtensionName, 6548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 * pNameLength 6558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*IsExtensionSupported) ( 6578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAchar * pExtensionName, 6598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pSupported 6608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryLEDCapabilities) ( 6628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 *pIndex, 6648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pLEDDeviceID, 6658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XALEDDescriptor * pDescriptor 6668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryVibraCapabilities) ( 6688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEngineItf self, 6698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 *pIndex, 6708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pVibraDeviceID, 6718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVibraDescriptor * pDescriptor 6728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 6748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 6758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* THREAD SYNC */ 6768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 6778db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_THREADSYNC; 6788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 6798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAThreadSyncItf_; 6808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAThreadSyncItf_ * const * XAThreadSyncItf; 6818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 6828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAThreadSyncItf_ { 6838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*EnterCriticalSection) ( 6848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAThreadSyncItf self 6858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*ExitCriticalSection) ( 6878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAThreadSyncItf self 6888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 6898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 6908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 6918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 6928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 6938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 6948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /* PLAYBACK RELATED INTERFACES, STRUCTS AND DEFINES */ 6958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 6968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 6978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* PLAY */ 6988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 6998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_TIME_UNKNOWN ((XAuint32) 0xFFFFFFFF) 7008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PLAYEVENT_HEADATEND ((XAuint32) 0x00000001) 7028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PLAYEVENT_HEADATMARKER ((XAuint32) 0x00000002) 7038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PLAYEVENT_HEADATNEWPOS ((XAuint32) 0x00000004) 7048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PLAYEVENT_HEADMOVING ((XAuint32) 0x00000008) 7058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PLAYEVENT_HEADSTALLED ((XAuint32) 0x00000010) 7068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PLAYSTATE_STOPPED ((XAuint32) 0x00000001) 7088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PLAYSTATE_PAUSED ((XAuint32) 0x00000002) 7098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PLAYSTATE_PLAYING ((XAuint32) 0x00000003) 7108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PREFETCHEVENT_STATUSCHANGE ((XAuint32) 0x00000001) 7128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PREFETCHEVENT_FILLLEVELCHANGE ((XAuint32) 0x00000002) 7138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PREFETCHSTATUS_UNDERFLOW ((XAuint32) 0x00000001) 7158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PREFETCHSTATUS_SUFFICIENTDATA ((XAuint32) 0x00000002) 7168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_PREFETCHSTATUS_OVERFLOW ((XAuint32) 0x00000003) 7178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SEEKMODE_FAST ((XAuint32) 0x0001) 7198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_SEEKMODE_ACCURATE ((XAuint32) 0x0002) 7208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7218db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_PLAY; 7228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAPlayItf_; 7248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAPlayItf_ * const * XAPlayItf; 7258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaPlayCallback) ( 7278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf caller, 7288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 7298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 event 7308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 7318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAPlayItf_ { 7338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetPlayState) ( 7348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 state 7368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetPlayState) ( 7388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pState 7408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetDuration) ( 7428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond * pMsec 7448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetPosition) ( 7468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond * pMsec 7488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterCallback) ( 7508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaPlayCallback callback, 7528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 7538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetCallbackEventsMask) ( 7558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 eventFlags 7578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetCallbackEventsMask) ( 7598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pEventFlags 7618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetMarkerPosition) ( 7638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond mSec 7658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*ClearMarkerPosition) ( 7678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self 7688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetMarkerPosition) ( 7708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond * pMsec 7728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetPositionUpdatePeriod) ( 7748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond mSec 7768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetPositionUpdatePeriod) ( 7788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlayItf self, 7798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond * pMsec 7808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 7818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 7828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* PLAYBACK RATE */ 7848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RATEPROP_STAGGEREDVIDEO ((XAuint32) 0x00000001) 7868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RATEPROP_SMOOTHVIDEO ((XAuint32) 0x00000002) 7878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RATEPROP_SILENTAUDIO ((XAuint32) 0x00000100) 7888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RATEPROP_STAGGEREDAUDIO ((XAuint32) 0x00000200) 7898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RATEPROP_NOPITCHCORAUDIO ((XAuint32) 0x00000400) 7908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RATEPROP_PITCHCORAUDIO ((XAuint32) 0x00000800) 7918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7928db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_PLAYBACKRATE; 7938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAPlaybackRateItf_; 7958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAPlaybackRateItf_ * const * XAPlaybackRateItf; 7968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 7978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAPlaybackRateItf_ { 7988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetRate) ( 7998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlaybackRateItf self, 8008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille rate 8018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetRate) ( 8038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlaybackRateItf self, 8048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pRate 8058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetPropertyConstraints) ( 8078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlaybackRateItf self, 8088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 constraints 8098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetProperties) ( 8118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlaybackRateItf self, 8128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pProperties 8138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetCapabilitiesOfRate) ( 8158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlaybackRateItf self, 8168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille rate, 8178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pCapabilities 8188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetRateRange) ( 8208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPlaybackRateItf self, 8218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 index, 8228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pMinRate, 8238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pMaxRate, 8248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pStepSize, 8258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pCapabilities 8268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 8288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 8298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* PREFETCH STATUS */ 8308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 8318db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_PREFETCHSTATUS; 8328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 8338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAPrefetchStatusItf_; 8348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAPrefetchStatusItf_ 8358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAPrefetchStatusItf; 8368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 8378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaPrefetchCallback) ( 8388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPrefetchStatusItf caller, 8398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 8408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 event 8418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 8428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 8438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAPrefetchStatusItf_ { 8448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetPrefetchStatus) ( 8458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPrefetchStatusItf self, 8468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pStatus 8478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFillLevel) ( 8498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPrefetchStatusItf self, 8508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pLevel 8518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterCallback) ( 8538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPrefetchStatusItf self, 8548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaPrefetchCallback callback, 8558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 8568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetCallbackEventsMask) ( 8588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPrefetchStatusItf self, 8598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 eventFlags 8608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetCallbackEventsMask) ( 8628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPrefetchStatusItf self, 8638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pEventFlags 8648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetFillUpdatePeriod) ( 8668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPrefetchStatusItf self, 8678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille period 8688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFillUpdatePeriod) ( 8708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAPrefetchStatusItf self, 8718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pPeriod 8728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 8748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 8758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* SEEK */ 8768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 8778db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_SEEK; 8788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 8798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XASeekItf_; 8808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XASeekItf_ * const * XASeekItf; 8818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 8828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XASeekItf_ { 8838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetPosition) ( 8848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASeekItf self, 8858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond pos, 8868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 seekMode 8878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetLoop) ( 8898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASeekItf self, 8908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean loopEnable, 8918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond startPos, 8928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond endPos 8938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 8948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetLoop) ( 8958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASeekItf self, 8968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pLoopEnabled, 8978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond * pStartPos, 8988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond * pEndPos 8998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 9018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* VOLUME */ 9038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9048db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_VOLUME; 9058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVolumeItf_; 9078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAVolumeItf_ * const * XAVolumeItf; 9088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVolumeItf_ { 9108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetVolumeLevel) ( 9118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVolumeItf self, 9128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillibel level 9138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetVolumeLevel) ( 9158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVolumeItf self, 9168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillibel * pLevel 9178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetMaxVolumeLevel) ( 9198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVolumeItf self, 9208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillibel * pMaxLevel 9218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetMute) ( 9238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVolumeItf self, 9248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean mute 9258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetMute) ( 9278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVolumeItf self, 9288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pMute 9298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*EnableStereoPosition) ( 9318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVolumeItf self, 9328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean enable 9338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*IsEnabledStereoPosition) ( 9358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVolumeItf self, 9368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pEnable 9378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetStereoPosition) ( 9398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVolumeItf self, 9408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille stereoPosition 9418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetStereoPosition) ( 9438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVolumeItf self, 9448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pStereoPosition 9458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 9478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* IMAGE CONTROL */ 9498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9508db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_IMAGECONTROLS; 9518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageControlsItf_; 9538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAImageControlsItf_ * const * XAImageControlsItf; 9548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageControlsItf_ { 9568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetBrightness) ( 9578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageControlsItf self, 9588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 brightness 9598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetBrightness) ( 9618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageControlsItf self, 9628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pBrightness 9638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetContrast) ( 9658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageControlsItf self, 9668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 contrast 9678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetContrast) ( 9698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageControlsItf self, 9708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pContrast 9718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetGamma) ( 9738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageControlsItf self, 9748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille gamma 9758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetGamma) ( 9778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageControlsItf self, 9788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pGamma 9798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSupportedGammaSettings) ( 9818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageControlsItf self, 9828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pMinValue, 9838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pMaxValue, 9848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumSettings, 9858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille ** ppSettings 9868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 9878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 9888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* IMAGE EFFECT */ 9908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGEEFFECT_MONOCHROME ((XAuint32) 0x00000001) 9928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGEEFFECT_NEGATIVE ((XAuint32) 0x00000002) 9938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGEEFFECT_SEPIA ((XAuint32) 0x00000003) 9948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGEEFFECT_EMBOSS ((XAuint32) 0x00000004) 9958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGEEFFECT_PAINTBRUSH ((XAuint32) 0x00000005) 9968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGEEFFECT_SOLARIZE ((XAuint32) 0x00000006) 9978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGEEFFECT_CARTOON ((XAuint32) 0x00000007) 9988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 9998db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_IMAGEEFFECTS; 10008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageEffectsItf_; 10028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAImageEffectsItf_ * const * XAImageEffectsItf; 10038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageEffectsItf_ { 10058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QuerySupportedImageEffects) ( 10068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageEffectsItf self, 10078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 10088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pImageEffectId 10098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*EnableImageEffect) ( 10118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageEffectsItf self, 10128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 imageEffectID 10138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*DisableImageEffect) ( 10158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageEffectsItf self, 10168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 imageEffectID 10178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*IsImageEffectEnabled) ( 10198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageEffectsItf self, 10208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 imageEffectID, 10218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pEnabled 10228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 10248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* VIDEO POST PROCESSING */ 10268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOMIRROR_NONE ((XAuint32) 0x00000001) 10288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOMIRROR_VERTICAL ((XAuint32) 0x00000002) 10298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOMIRROR_HORIZONTAL ((XAuint32) 0x00000003) 10308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOMIRROR_BOTH ((XAuint32) 0x00000004) 10318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOSCALE_STRETCH ((XAuint32) 0x00000001) 10338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOSCALE_FIT ((XAuint32) 0x00000002) 10348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOSCALE_CROP ((XAuint32) 0x00000003) 10358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RENDERINGHINT_NONE ((XAuint32) 0x00000000) 10378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RENDERINGHINT_ANTIALIASING ((XAuint32) 0x00000001) 10388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XARectangle_ { 10408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 left; 10418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 top; 10428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 width; 10438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 height; 10448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XARectangle; 10458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10468db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_VIDEOPOSTPROCESSING; 10478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVideoPostProcessingItf_; 10498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAVideoPostProcessingItf_ * const * XAVideoPostProcessingItf; 10508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVideoPostProcessingItf_ { 10528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetRotation) ( 10538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoPostProcessingItf self, 10548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillidegree rotation 10558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*IsArbitraryRotationSupported) ( 10578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoPostProcessingItf self, 10588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean *pSupported 10598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetScaleOptions) ( 10618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoPostProcessingItf self, 10628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 scaleOptions, 10638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 backgroundColor, 10648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 renderingHints 10658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetSourceRectangle) ( 10678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoPostProcessingItf self, 10688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XARectangle *pSrcRect 10698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetDestinationRectangle) ( 10718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoPostProcessingItf self, 10728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XARectangle *pDestRect 10738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetMirror) ( 10758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoPostProcessingItf self, 10768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 mirror 10778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*Commit) ( 10798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoPostProcessingItf self 10808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 10818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 10828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 10868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /* CAPTURING INTERFACES, STRUCTS AND DEFINES */ 10878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 10888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* RECORD */ 10908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RECORDEVENT_HEADATLIMIT ((XAuint32) 0x00000001) 10928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RECORDEVENT_HEADATMARKER ((XAuint32) 0x00000002) 10938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RECORDEVENT_HEADATNEWPOS ((XAuint32) 0x00000004) 10948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RECORDEVENT_HEADMOVING ((XAuint32) 0x00000008) 10958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RECORDEVENT_HEADSTALLED ((XAuint32) 0x00000010) 10968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RECORDEVENT_BUFFER_FULL ((XAuint32) 0x00000020) 10978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 10988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RECORDSTATE_STOPPED ((XAuint32) 0x00000001) 10998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RECORDSTATE_PAUSED ((XAuint32) 0x00000002) 11008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RECORDSTATE_RECORDING ((XAuint32) 0x00000003) 11018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11028db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_RECORD; 11038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XARecordItf_; 11058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XARecordItf_ * const * XARecordItf; 11068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaRecordCallback) ( 11088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf caller, 11098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 11108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 event 11118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 11128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XARecordItf_ { 11148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetRecordState) ( 11158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 state 11178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetRecordState) ( 11198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pState 11218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetDurationLimit) ( 11238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond msec 11258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetPosition) ( 11278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond * pMsec 11298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterCallback) ( 11318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaRecordCallback callback, 11338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 11348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetCallbackEventsMask) ( 11368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 eventFlags 11388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetCallbackEventsMask) ( 11408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pEventFlags 11428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetMarkerPosition) ( 11448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond mSec 11468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*ClearMarkerPosition) ( 11488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self 11498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetMarkerPosition) ( 11518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond * pMsec 11538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetPositionUpdatePeriod) ( 11558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond mSec 11578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetPositionUpdatePeriod) ( 11598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARecordItf self, 11608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond * pMsec 11618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 11638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* SNAPSHOT */ 11658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11668db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_SNAPSHOT; 11678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XASnapshotItf_; 11698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XASnapshotItf_ * const * XASnapshotItf; 11708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaSnapshotInitiatedCallback) ( 11728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf caller, 11738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * context 11748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 11758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaSnapshotTakenCallback) ( 11778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf caller, 11788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * context, 11798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numberOfPicsTaken, 11808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XADataSink * image 11818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 11828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 11838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XASnapshotItf_ { 11848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*InitiateSnapshot) ( 11858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf self, 11868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numberOfPictures, 11878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 fps, 11888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean freezeViewFinder, 11898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSink sink, 11908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaSnapshotInitiatedCallback initiatedCallback, 11918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaSnapshotTakenCallback takenCallback, 11928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 11938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*TakeSnapshot) ( 11958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf self 11968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 11978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CancelSnapshot) ( 11988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf self 11998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 12008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*ReleaseBuffers) ( 12018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf self, 12028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSink * image 12038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 12048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetMaxPicsPerBurst) ( 12058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf self, 12068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * maxNumberOfPictures 12078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 12088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetBurstFPSRange) ( 12098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf self, 12108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * minFPS, 12118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * maxFPS 12128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 12138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetShutterFeedback) ( 12148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf self, 12158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean enabled 12168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 12178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetShutterFeedback) ( 12188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XASnapshotItf self, 12198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * enabled 12208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 12218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 12228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 12268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /* METADATA RELATED INTERFACES, STRUCTS AND DEFINES */ 12278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 12288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* METADATA (EXTRACTION, INSERTION, TRAVERSAL) */ 12308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_NODE_PARENT ((XAuint32) 0xFFFFFFFF) 12328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_ROOT_NODE_ID ((XAint32) 0x7FFFFFFF) 12348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_NODETYPE_UNSPECIFIED ((XAuint32) 0x00000001) 12368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_NODETYPE_AUDIO ((XAuint32) 0x00000002) 12378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_NODETYPE_VIDEO ((XAuint32) 0x00000003) 12388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_NODETYPE_IMAGE ((XAuint32) 0x00000004) 12398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_UNKNOWN ((XAuint32) 0x00000000) 12418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_BINARY ((XAuint32) 0x00000001) 12428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ASCII ((XAuint32) 0x00000002) 12438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_BIG5 ((XAuint32) 0x00000003) 12448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_CODEPAGE1252 ((XAuint32) 0x00000004) 12458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_GB2312 ((XAuint32) 0x00000005) 12468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_HZGB2312 ((XAuint32) 0x00000006) 12478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_GB12345 ((XAuint32) 0x00000007) 12488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_GB18030 ((XAuint32) 0x00000008) 12498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_GBK ((XAuint32) 0x00000009) 12508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_IMAPUTF7 ((XAuint32) 0x0000000A) 12518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO2022JP ((XAuint32) 0x0000000B) 12528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO2022JP1 ((XAuint32) 0x0000000B) 12538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO88591 ((XAuint32) 0x0000000C) 12548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO885910 ((XAuint32) 0x0000000D) 12558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO885913 ((XAuint32) 0x0000000E) 12568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO885914 ((XAuint32) 0x0000000F) 12578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO885915 ((XAuint32) 0x00000010) 12588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO88592 ((XAuint32) 0x00000011) 12598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO88593 ((XAuint32) 0x00000012) 12608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO88594 ((XAuint32) 0x00000013) 12618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO88595 ((XAuint32) 0x00000014) 12628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO88596 ((XAuint32) 0x00000015) 12638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO88597 ((XAuint32) 0x00000016) 12648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO88598 ((XAuint32) 0x00000017) 12658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISO88599 ((XAuint32) 0x00000018) 12668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_ISOEUCJP ((XAuint32) 0x00000019) 12678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_SHIFTJIS ((XAuint32) 0x0000001A) 12688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_SMS7BIT ((XAuint32) 0x0000001B) 12698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_UTF7 ((XAuint32) 0x0000001C) 12708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_UTF8 ((XAuint32) 0x0000001D) 12718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_JAVACONFORMANTUTF8 ((XAuint32) 0x0000001E) 12728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_UTF16BE ((XAuint32) 0x0000001F) 12738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CHARACTERENCODING_UTF16LE ((XAuint32) 0x00000020) 12748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_METADATA_FILTER_KEY ((XAuint8) 0x01) 12768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_METADATA_FILTER_LANG ((XAuint8) 0x02) 12778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_METADATA_FILTER_ENCODING ((XAuint8) 0x04) 12788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_METADATATRAVERSALMODE_ALL ((XAuint32) 0x00000001) 12808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_METADATATRAVERSALMODE_NODE ((XAuint32) 0x00000002) 12818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#ifndef _KHRONOS_KEYS_ 12838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define _KHRONOS_KEYS_ 12848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_TITLE "KhronosTitle" 12858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_ALBUM "KhronosAlbum" 12868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_TRACK_NUMBER "KhronosTrackNumber" 12878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_ARTIST "KhronosArtist" 12888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_GENRE "KhronosGenre" 12898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_YEAR "KhronosYear" 12908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_COMMENT "KhronosComment" 12918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_ARTIST_URL "KhronosArtistURL" 12928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_CONTENT_URL "KhronosContentURL" 12938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_RATING "KhronosRating" 12948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_ALBUM_ART "KhronosAlbumArt" 12958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define KHRONOS_COPYRIGHT "KhronosCopyright" 12968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#endif /* _KHRONOS_KEYS_ */ 12978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 12998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAMetadataInfo_ { 13008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 size; 13018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 encoding; 13028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAchar langCountry[16]; 13038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 data[1]; 13048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAMetadataInfo; 13058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 13068db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_METADATAEXTRACTION; 13078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 13088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAMetadataExtractionItf_; 13098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAMetadataExtractionItf_ 13108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAMetadataExtractionItf; 13118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 13128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAMetadataExtractionItf_ { 13138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetItemCount) ( 13148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataExtractionItf self, 13158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pItemCount 13168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetKeySize) ( 13188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataExtractionItf self, 13198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 13208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pKeySize 13218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetKey) ( 13238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataExtractionItf self, 13248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 13258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 keySize, 13268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInfo * pKey 13278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetValueSize) ( 13298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataExtractionItf self, 13308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 13318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pValueSize 13328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetValue) ( 13348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataExtractionItf self, 13358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 13368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 valueSize, 13378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInfo * pValue 13388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*AddKeyFilter) ( 13408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataExtractionItf self, 13418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 keySize, 13428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const void * pKey, 13438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 keyEncoding, 13448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAchar * pValueLangCountry, 13458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 valueEncoding, 13468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 filterMask 13478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*ClearKeyFilter) ( 13498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataExtractionItf self 13508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 13528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 13538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 13548db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_METADATAINSERTION; 13558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 13568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAMetadataInsertionItf_; 13578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAMetadataInsertionItf_ 13588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAMetadataInsertionItf; 13598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 13608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaMetadataInsertionCallback) ( 13618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInsertionItf caller, 13628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 13638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInfo * pKey, 13648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInfo * pValue, 13658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 nodeID, 13668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean result 13678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 13688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 13698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAMetadataInsertionItf_ { 13708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CreateChildNode) ( 13718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInsertionItf self, 13728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 parentNodeID, 13738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 type, 13748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * mimeType, 13758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pChildNodeID 13768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSupportedKeysCount) ( 13788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInsertionItf self, 13798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 nodeID, 13808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pFreeKeys, 13818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pKeyCount, 13828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pEncodingCount 13838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetKeySize) ( 13858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInsertionItf self, 13868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 nodeID, 13878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 keyIndex, 13888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pKeySize 13898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetKey) ( 13918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInsertionItf self, 13928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 nodeID, 13938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 keyIndex, 13948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 keySize, 13958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInfo * pKey 13968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 13978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFreeKeysEncoding) ( 13988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInsertionItf self, 13998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 nodeID, 14008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 encodingIndex, 14018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pEncoding 14028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 14038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*InsertMetadataItem) ( 14048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInsertionItf self, 14058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 nodeID, 14068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInfo * pKey, 14078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInfo * pValue, 14088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean overwrite 14098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 14108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterCallback) ( 14118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataInsertionItf self, 14128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaMetadataInsertionCallback callback, 14138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 14148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 14158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 14168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14188db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_METADATATRAVERSAL; 14198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAMetadataTraversalItf_; 14218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAMetadataTraversalItf_ 14228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAMetadataTraversalItf; 14238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAMetadataTraversalItf_ { 14258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetMode) ( 14268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataTraversalItf self, 14278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 mode 14288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 14298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetChildCount) ( 14308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataTraversalItf self, 14318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pCount 14328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 14338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetChildMIMETypeSize) ( 14348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataTraversalItf self, 14358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 14368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pSize 14378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 14388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetChildInfo) ( 14398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataTraversalItf self, 14408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index, 14418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pNodeID, 14428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pType, 14438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 size, 14448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * pMimeType 14458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 14468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetActiveNode) ( 14478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMetadataTraversalItf self, 14488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 index 14498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 14508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 14518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* DYNAMIC SOURCE */ 14538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14548db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_DYNAMICSOURCE; 14558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XADynamicSourceItf_; 14578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XADynamicSourceItf_ * const * XADynamicSourceItf; 14588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XADynamicSourceItf_ { 14608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetSource) ( 14618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADynamicSourceItf self, 14628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADataSource * pDataSource 14638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 14648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 14658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 14698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /* I/O DEVICES RELATED INTERFACES, STRUCTS AND DEFINES */ 14708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 14718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* CAMERA AND CAMERA CAPABILITIES */ 14738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_APERTUREMODE_MANUAL ((XAuint32) 0x00000001) 14758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_APERTUREMODE_AUTO ((XAuint32) 0x00000002) 14768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_AUTOEXPOSURESTATUS_SUCCESS ((XAuint32) 0x00000001) 14788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_AUTOEXPOSURESTATUS_UNDEREXPOSURE ((XAuint32) 0x00000002) 14798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_AUTOEXPOSURESTATUS_OVEREXPOSURE ((XAuint32) 0x00000003) 14808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACBEVENT_ROTATION ((XAuint32) 0x00000001) 14828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACBEVENT_FLASHREADY ((XAuint32) 0x00000002) 14838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACBEVENT_FOCUSSTATUS ((XAuint32) 0x00000003) 14848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACBEVENT_EXPOSURESTATUS ((XAuint32) 0x00000004) 14858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACBEVENT_WHITEBALANCELOCKED ((XAuint32) 0x00000005) 14868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACBEVENT_ZOOMSTATUS ((XAuint32) 0x00000006) 14878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 14888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_FLASH ((XAuint32) 0x00000001) 14898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_AUTOFOCUS ((XAuint32) 0x00000002) 14908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_CONTINUOUSAUTOFOCUS ((XAuint32) 0x00000004) 14918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_MANUALFOCUS ((XAuint32) 0x00000008) 14928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_AUTOEXPOSURE ((XAuint32) 0x00000010) 14938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_MANUALEXPOSURE ((XAuint32) 0x00000020) 14948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_AUTOISOSENSITIVITY ((XAuint32) 0x00000040) 14958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_MANUALISOSENSITIVITY ((XAuint32) 0x00000080) 14968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_AUTOAPERTURE ((XAuint32) 0x00000100) 14978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_MANUALAPERTURE ((XAuint32) 0x00000200) 14988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_AUTOSHUTTERSPEED ((XAuint32) 0x00000400) 14998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_MANUALSHUTTERSPEED ((XAuint32) 0x00000800) 15008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_AUTOWHITEBALANCE ((XAuint32) 0x00001000) 15018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_MANUALWHITEBALANCE ((XAuint32) 0x00002000) 15028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_OPTICALZOOM ((XAuint32) 0x00004000) 15038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_DIGITALZOOM ((XAuint32) 0x00008000) 15048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_METERING ((XAuint32) 0x00010000) 15058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_BRIGHTNESS ((XAuint32) 0x00020000) 15068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_CONTRAST ((XAuint32) 0x00040000) 15078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERACAP_GAMMA ((XAuint32) 0x00080000) 15088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_MANUAL ((XAuint32) 0x00000001) 15118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_AUTO ((XAuint32) 0x00000002) 15128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_NIGHT ((XAuint32) 0x00000004) 15138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_BACKLIGHT ((XAuint32) 0x00000008) 15148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_SPOTLIGHT ((XAuint32) 0x00000010) 15158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_SPORTS ((XAuint32) 0x00000020) 15168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_SNOW ((XAuint32) 0x00000040) 15178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_BEACH ((XAuint32) 0x00000080) 15188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_LARGEAPERTURE ((XAuint32) 0x00000100) 15198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_SMALLAPERTURE ((XAuint32) 0x00000200) 15208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_PORTRAIT ((XAuint32) 0x0000400) 15218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_EXPOSUREMODE_NIGHTPORTRAIT ((XAuint32) 0x00000800) 15228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FLASHMODE_OFF ((XAuint32) 0x00000001) 15248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FLASHMODE_ON ((XAuint32) 0x00000002) 15258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FLASHMODE_AUTO ((XAuint32) 0x00000004) 15268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FLASHMODE_REDEYEREDUCTION ((XAuint32) 0x00000008) 15278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FLASHMODE_REDEYEREDUCTION_AUTO ((XAuint32) 0x00000010) 15288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FLASHMODE_FILLIN ((XAuint32) 0x00000020) 15298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FLASHMODE_TORCH ((XAuint32) 0x00000040) 15308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODE_MANUAL ((XAuint32) 0x00000001) 15328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODE_AUTO ((XAuint32) 0x00000002) 15338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODE_CENTROID ((XAuint32) 0x00000004) 15348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODE_CONTINUOUS_AUTO ((XAuint32) 0x00000008) 15358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODE_CONTINUOUS_CENTROID ((XAuint32) 0x00000010) 15368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODESTATUS_OFF ((XAuint32) 0x00000001) 15388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODESTATUS_REQUEST ((XAuint32) 0x00000002) 15398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODESTATUS_REACHED ((XAuint32) 0x00000003) 15408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODESTATUS_UNABLETOREACH ((XAuint32) 0x00000004) 15418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_FOCUSMODESTATUS_LOST ((XAuint32) 0x00000005) 15428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_ISOSENSITIVITYMODE_MANUAL ((XAuint32) 0x00000001) 15448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_ISOSENSITIVITYMODE_AUTO ((XAuint32) 0x00000002) 15458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_LOCK_AUTOFOCUS ((XAuint32) 0x00000001) 15478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_LOCK_AUTOEXPOSURE ((XAuint32) 0x00000002) 15488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_LOCK_AUTOWHITEBALANCE ((XAuint32) 0x00000004) 15498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_METERINGMODE_AVERAGE ((XAuint32) 0x00000001) 15518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_METERINGMODE_SPOT ((XAuint32) 0x00000002) 15528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_METERINGMODE_MATRIX ((XAuint32) 0x00000004) 15538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_SHUTTERSPEEDMODE_MANUAL ((XAuint32) 0x00000001) 15558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_SHUTTERSPEEDMODE_AUTO ((XAuint32) 0x00000002) 15568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_MANUAL ((XAuint32) 0x00000001) 15588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_AUTO ((XAuint32) 0x00000002) 15598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_SUNLIGHT ((XAuint32) 0x00000004) 15608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_CLOUDY ((XAuint32) 0x00000008) 15618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_SHADE ((XAuint32) 0x00000010) 15628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_TUNGSTEN ((XAuint32) 0x00000020) 15638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_FLUORESCENT ((XAuint32) 0x00000040) 15648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_INCANDESCENT ((XAuint32) 0x00000080) 15658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_FLASH ((XAuint32) 0x00000100) 15668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_WHITEBALANCEMODE_SUNSET ((XAuint32) 0x00000200) 15678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_ZOOM_SLOW ((XAuint32) 50) 15698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_ZOOM_NORMAL ((XAuint32) 100) 15708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_ZOOM_FAST ((XAuint32) 200) 15718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_CAMERA_ZOOM_FASTEST ((XAuint32) 0xFFFFFFFF) 15728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_ONE ((XAuint32) 0x00000001) 15748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_THREE_3X1 ((XAuint32) 0x00000002) 15758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_FIVE_CROSS ((XAuint32) 0x00000003) 15768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_SEVEN_CROSS ((XAuint32) 0x00000004) 15778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_NINE_SQUARE ((XAuint32) 0x00000005) 15788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_ELEVEN_CROSS ((XAuint32) 0x00000006) 15798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_TWELVE_3X4 ((XAuint32) 0x00000007) 15808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_TWELVE_4X3 ((XAuint32) 0x00000008) 15818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_SIXTEEN_SQUARE ((XAuint32) 0x00000009) 15828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FOCUSPOINTS_CUSTOM ((XAuint32) 0x0000000A) 15838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAFocusPointPosition_ { 15858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 left; 15868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 top; 15878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 width; 15888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 height; 15898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAFocusPointPosition; 15908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_ORIENTATION_UNKNOWN ((XAuint32) 0x00000001) 15928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_ORIENTATION_OUTWARDS ((XAuint32) 0x00000002) 15938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_ORIENTATION_INWARDS ((XAuint32) 0x00000003) 15948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 15958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XACameraDescriptor_ { 15968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * name; 15978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxWidth; 15988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxHeight; 15998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 orientation; 16008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 featuresSupported; 16018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 exposureModesSupported; 16028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 flashModesSupported; 16038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 focusModesSupported; 16048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 meteringModesSupported; 16058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 whiteBalanceModesSupported; 16068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XACameraDescriptor; 16078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 16088db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_CAMERACAPABILITIES; 16098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 16108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XACameraCapabilitiesItf_; 16118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XACameraCapabilitiesItf_ 16128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XACameraCapabilitiesItf; 16138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 16148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XACameraCapabilitiesItf_ { 16158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetCameraCapabilities) ( 16168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraCapabilitiesItf self, 16178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 *pIndex, 16188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pCameraDeviceID, 16198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraDescriptor * pDescriptor 16208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 16218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryFocusRegionPatterns) ( 16228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraCapabilitiesItf self, 16238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 cameraDeviceID, 16248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pPatternID, 16258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pFocusPattern, 16268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pCustomPoints1, 16278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pCustomPoints2 16288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 16298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSupportedAutoLocks) ( 16308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraCapabilitiesItf self, 16318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 cameraDeviceID, 16328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumCombinations, 16338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 ** ppLocks 16348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 16358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSupportedFocusManualSettings) ( 16368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraCapabilitiesItf self, 16378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 cameraDeviceID, 16388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean macroEnabled, 16398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillimeter * pMinValue, 16408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillimeter * pMaxValue, 16418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumSettings, 16428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillimeter ** ppSettings 16438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 16448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSupportedISOSensitivitySettings) ( 16458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraCapabilitiesItf self, 16468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 cameraDeviceID, 16478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMinValue, 16488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMaxValue, 16498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumSettings, 16508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 ** ppSettings 16518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 16528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSupportedApertureManualSettings) ( 16538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraCapabilitiesItf self, 16548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 cameraDeviceID, 16558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMinValue, 16568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMaxValue, 16578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumSettings, 16588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 ** ppSettings 16598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 16608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSupportedShutterSpeedManualSettings) ( 16618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraCapabilitiesItf self, 16628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 cameraDeviceID, 16638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmicrosecond * pMinValue, 16648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmicrosecond * pMaxValue, 16658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumSettings, 16668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmicrosecond ** ppSettings 16678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 16688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSupportedWhiteBalanceManualSettings) ( 16698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraCapabilitiesItf self, 16708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 cameraDeviceID, 16718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMinValue, 16728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMaxValue, 16738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumSettings, 16748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 ** ppSettings 16758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 16768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSupportedZoomSettings) ( 16778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraCapabilitiesItf self, 16788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 cameraDeviceID, 16798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean digitalEnabled, 16808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean macroEnabled, 16818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pMaxValue, 16828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumSettings, 16838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille ** ppSettings, 16848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pSpeedSupported 16858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 16868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 16878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 16888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 16898db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_CAMERA; 16908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 16918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XACameraItf_; 16928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XACameraItf_ * const * XACameraItf; 16938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 16948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaCameraCallback) ( 16958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf caller, 16968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 16978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 eventId, 16988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 eventData 16998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 17008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 17018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XACameraItf_ { 17028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterCallback) ( 17038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaCameraCallback callback, 17058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 17068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetFlashMode) ( 17088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 flashMode 17108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFlashMode) ( 17128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pFlashMode 17148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*IsFlashReady) ( 17168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pReady 17188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetFocusMode) ( 17208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 focusMode, 17228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillimeter manualSetting, 17238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean macroEnabled 17248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFocusMode) ( 17268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pFocusMode, 17288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillimeter * pManualSetting, 17298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pMacroEnabled 17308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetFocusRegionPattern) ( 17328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 focusPattern, 17348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 activePoints1, 17358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 activePoints2 17368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFocusRegionPattern) ( 17388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pFocusPattern, 17408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pActivePoints1, 17418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pActivePoints2 17428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFocusRegionPositions) ( 17448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumPositionEntries, 17468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAFocusPointPosition * pFocusPosition 17478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFocusModeStatus) ( 17498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pFocusStatus, 17518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pRegionStatus1, 17528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pRegionStatus2 17538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetMeteringMode) ( 17558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 meteringMode 17578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetMeteringMode) ( 17598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMeteringMode 17618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetExposureMode) ( 17638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 exposure, 17658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 compensation 17668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetExposureMode) ( 17688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pExposure, 17708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pCompensation 17718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetISOSensitivity) ( 17738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 isoSensitivity, 17758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 manualSetting 17768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetISOSensitivity) ( 17788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pIsoSensitivity, 17808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pManualSetting 17818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetAperture) ( 17838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 aperture, 17858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 manualSetting 17868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAperture) ( 17888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pAperture, 17908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pManualSetting 17918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetShutterSpeed) ( 17938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 shutterSpeed, 17958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmicrosecond manualSetting 17968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 17978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetShutterSpeed) ( 17988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 17998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pShutterSpeed, 18008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmicrosecond * pManualSetting 18018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 18028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetWhiteBalance) ( 18038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 18048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 whiteBalance, 18058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 manualSetting 18068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 18078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetWhiteBalance) ( 18088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 18098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pWhiteBalance, 18108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pManualSetting 18118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 18128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetAutoLocks) ( 18138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 18148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 locks 18158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 18168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAutoLocks) ( 18178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 18188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * locks 18198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 18208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetZoom) ( 18218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 18228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille zoom, 18238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean digitalEnabled, 18248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 speed, 18258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean async 18268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 18278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetZoom) ( 18288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XACameraItf self, 18298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pZoom, 18308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pDigital 18318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 18328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 18338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* AUDIO I/O DEVICE CAPABILITIES */ 18358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVCONNECTION_INTEGRATED ((XAint16) 0x0001) 18378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVCONNECTION_ATTACHED_WIRED ((XAint16) 0x0100) 18388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVCONNECTION_ATTACHED_WIRELESS ((XAint16) 0x0200) 18398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVCONNECTION_NETWORK ((XAint16) 0x0400) 18408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVLOCATION_HANDSET ((XAint16) 0x0001) 18428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVLOCATION_HEADSET ((XAint16) 0x0002) 18438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVLOCATION_CARKIT ((XAint16) 0x0003) 18448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVLOCATION_DOCK ((XAint16) 0x0004) 18458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVLOCATION_REMOTE ((XAint16) 0x0005) 18468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVSCOPE_UNKNOWN ((XAint16) 0x0001) 18488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVSCOPE_ENVIRONMENT ((XAint16) 0x0002) 18498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DEVSCOPE_USER ((XAint16) 0x0003) 18508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAAudioInputDescriptor_ { 18528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * deviceName; 18538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 deviceConnection; 18548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 deviceScope; 18558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 deviceLocation; 18568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isForTelephony; 18578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz minSampleRate; 18588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz maxSampleRate; 18598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isFreqRangeContinuous; 18608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz * samplingRatesSupported; 18618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 numOfSamplingRatesSupported; 18628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 maxChannels; 18638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAAudioInputDescriptor; 18648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAAudioOutputDescriptor_ { 18668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar *pDeviceName; 18678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 deviceConnection; 18688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 deviceScope; 18698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 deviceLocation; 18708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isForTelephony; 18718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz minSampleRate; 18728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz maxSampleRate; 18738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isFreqRangeContinuous; 18748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz *samplingRatesSupported; 18758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 numOfSamplingRatesSupported; 18768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 maxChannels; 18778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAAudioOutputDescriptor; 18788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18798db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_AUDIOIODEVICECAPABILITIES; 18808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAAudioIODeviceCapabilitiesItf_; 18828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAAudioIODeviceCapabilitiesItf_ 18838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAAudioIODeviceCapabilitiesItf; 18848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaAvailableAudioInputsChangedCallback) ( 18868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf caller, 18878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 18888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 18898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 numInputs, 18908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isNew 18918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 18928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 18938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaAvailableAudioOutputsChangedCallback) ( 18948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf caller, 18958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 18968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 18978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 numOutputs, 18988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isNew 18998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 19008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 19018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaDefaultDeviceIDMapChangedCallback) ( 19028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf caller, 19038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 19048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isOutput, 19058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 numDevices 19068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 19078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 19088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAAudioIODeviceCapabilitiesItf_ { 19098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAvailableAudioInputs) ( 19108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pNumInputs, 19128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pInputDeviceIDs 19138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryAudioInputCapabilities) ( 19158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 19178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioInputDescriptor * pDescriptor 19188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterAvailableAudioInputsChangedCallback) ( 19208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaAvailableAudioInputsChangedCallback callback, 19228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 19238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAvailableAudioOutputs) ( 19258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pNumOutputs, 19278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pOutputDeviceIDs 19288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryAudioOutputCapabilities) ( 19308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 19328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioOutputDescriptor * pDescriptor 19338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterAvailableAudioOutputsChangedCallback) ( 19358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaAvailableAudioOutputsChangedCallback callback, 19378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 19388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterDefaultDeviceIDMapChangedCallback) ( 19408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaDefaultDeviceIDMapChangedCallback callback, 19428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 19438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAssociatedAudioInputs) ( 19458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 19478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pNumAudioInputs, 19488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pAudioInputDeviceIDs 19498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAssociatedAudioOutputs) ( 19518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 19538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pNumAudioOutputs, 19548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pAudioOutputDeviceIDs 19558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetDefaultAudioDevices) ( 19578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 defaultDeviceID, 19598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 *pNumAudioDevices, 19608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 *pAudioDeviceIDs 19618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QuerySampleFormatsSupported) ( 19638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioIODeviceCapabilitiesItf self, 19648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 19658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz samplingRate, 19668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 *pSampleFormats, 19678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 *pNumOfSampleFormats 19688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 19708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 19718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* DEVICE VOLUME */ 19728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 19738db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_DEVICEVOLUME; 19748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 19758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XADeviceVolumeItf_; 19768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XADeviceVolumeItf_ * const * XADeviceVolumeItf; 19778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 19788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XADeviceVolumeItf_ { 19798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetVolumeScale) ( 19808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADeviceVolumeItf self, 19818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 19828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pMinValue, 19838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pMaxValue, 19848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pIsMillibelScale 19858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetVolume) ( 19878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADeviceVolumeItf self, 19888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 19898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 volume 19908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetVolume) ( 19928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XADeviceVolumeItf self, 19938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 deviceID, 19948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pVolume 19958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 19968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 19978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 19988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* EQUALIZER */ 19998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 20008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_EQUALIZER_UNDEFINED ((XAuint16) 0xFFFF) 20018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 20028db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_EQUALIZER; 20038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 20048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAEqualizerItf_; 20058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAEqualizerItf_ * const * XAEqualizerItf; 20068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 20078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAEqualizerItf_ { 20088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetEnabled) ( 20098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean enabled 20118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*IsEnabled) ( 20138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pEnabled 20158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetNumberOfBands) ( 20178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 * pNumBands 20198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetBandLevelRange) ( 20218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillibel * pMin, 20238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillibel * pMax 20248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetBandLevel) ( 20268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 band, 20288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillibel level 20298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetBandLevel) ( 20318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 band, 20338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillibel * pLevel 20348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetCenterFreq) ( 20368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 band, 20388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz * pCenter 20398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetBandFreqRange) ( 20418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 band, 20438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz * pMin, 20448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz * pMax 20458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetBand) ( 20478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz frequency, 20498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 * pBand 20508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetCurrentPreset) ( 20528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 * pPreset 20548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*UsePreset) ( 20568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 index 20588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetNumberOfPresets) ( 20608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 * pNumPresets 20628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetPresetName) ( 20648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAEqualizerItf self, 20658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 index, 20668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAchar ** ppName 20678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 20698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 20708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* OUTPUT MIX */ 20718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 20728db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_OUTPUTMIX; 20738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 20748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAOutputMixItf_; 20758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAOutputMixItf_ * const * XAOutputMixItf; 20768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 20778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaMixDeviceChangeCallback) ( 20788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAOutputMixItf caller, 20798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 20808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 20818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 20828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAOutputMixItf_ { 20838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetDestinationOutputDeviceIDs) ( 20848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAOutputMixItf self, 20858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 * pNumDevices, 20868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pDeviceIDs 20878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterDeviceChangeCallback) ( 20898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAOutputMixItf self, 20908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaMixDeviceChangeCallback callback, 20918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 20928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*ReRoute) ( 20948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAOutputMixItf self, 20958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint32 numOutputDevices, 20968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pOutputDeviceIDs 20978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 20988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 20998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 21008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* RADIO */ 21018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 21028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FREQRANGE_FMEUROAMERICA ((XAuint8) 0x01) 21038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FREQRANGE_FMJAPAN ((XAuint8) 0x02) 21048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FREQRANGE_AMLW ((XAuint8) 0x03) 21058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FREQRANGE_AMMW ((XAuint8) 0x04) 21068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_FREQRANGE_AMSW ((XAuint8) 0x05) 21078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 21088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RADIO_EVENT_ANTENNA_STATUS_CHANGED ((XAuint32) 0x00000001) 21098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RADIO_EVENT_FREQUENCY_CHANGED ((XAuint32) 0x00000002) 21108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED ((XAuint32) 0x00000003) 21118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RADIO_EVENT_PRESET_CHANGED ((XAuint32) 0x00000004) 21128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RADIO_EVENT_SEEK_COMPLETED ((XAuint32) 0x00000005) 21138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 21148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_STEREOMODE_MONO ((XAuint32) 0x00000000) 21158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_STEREOMODE_STEREO ((XAuint32) 0x00000001) 21168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_STEREOMODE_AUTO ((XAuint32) 0x00000002) 21178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 21188db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_RADIO; 21198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 21208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XARadioItf_; 21218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XARadioItf_ * const * XARadioItf; 21228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 21238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaRadioCallback) ( 21248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf caller, 21258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 21268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 event, 21278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 eventIntData, 21288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean eventBooleanData 21298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 21308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 21318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XARadioItf_ { 21328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetFreqRange) ( 21338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 range 21358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFreqRange) ( 21378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 * pRange 21398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*IsFreqRangeSupported) ( 21418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 range, 21438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pSupported 21448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFreqRangeProperties) ( 21468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 range, 21488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMinFreq, 21498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMaxFreq, 21508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pFreqInterval 21518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetFrequency) ( 21538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 freq 21558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*CancelSetFrequency) ( 21578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self 21588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFrequency) ( 21608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pFreq 21628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetSquelch) ( 21648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean squelch 21668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSquelch) ( 21688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pSquelch 21708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetStereoMode) ( 21728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 mode 21748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetStereoMode) ( 21768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMode 21788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSignalStrength) ( 21808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pStrength 21828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*Seek) ( 21848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean upwards 21868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*StopSeeking) ( 21888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self 21898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetNumberOfPresets) ( 21918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumPresets 21938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 21948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetPreset) ( 21958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 21968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 preset, 21978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 freq, 21988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 range, 21998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 mode, 22008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAchar * pName 22018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 22028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetPreset) ( 22038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 22048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 preset, 22058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pFreq, 22068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 * pRange, 22078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pMode, 22088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * pName, 22098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 * pNameLength 22108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 22118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterRadioCallback) ( 22128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf self, 22138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaRadioCallback callback, 22148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 22158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 22168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 22178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 22188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* RDS */ 22198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 22208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDS_EVENT_NEW_PI ((XAuint16) 0x0001) 22218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDS_EVENT_NEW_PTY ((XAuint16) 0x0002) 22228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDS_EVENT_NEW_PS ((XAuint16) 0x0004) 22238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDS_EVENT_NEW_RT ((XAuint16) 0x0008) 22248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDS_EVENT_NEW_RT_PLUS ((XAuint16) 0x0010) 22258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDS_EVENT_NEW_CT ((XAuint16) 0x0020) 22268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDS_EVENT_NEW_TA ((XAuint16) 0x0040) 22278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDS_EVENT_NEW_TP ((XAuint16) 0x0080) 22288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDS_EVENT_NEW_ALARM ((XAuint16) 0x0100) 22298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 22308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_NONE \ 22318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000000) 22328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_NEWS \ 22338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000001) 22348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_CURRENTAFFAIRS \ 22358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000002) 22368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_INFORMATION \ 22378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000003) 22388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_SPORT \ 22398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000004) 22408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_EDUCATION \ 22418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000005) 22428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_DRAMA \ 22438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000006) 22448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_CULTURE \ 22458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000007) 22468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_SCIENCE \ 22478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000008) 22488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_VARIEDSPEECH \ 22498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000009) 22508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_POPMUSIC \ 22518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000A) 22528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_ROCKMUSIC \ 22538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000B) 22548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_EASYLISTENING \ 22558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000C) 22568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_LIGHTCLASSICAL \ 22578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000D) 22588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_SERIOUSCLASSICAL \ 22598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000E) 22608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_OTHERMUSIC \ 22618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000F) 22628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_WEATHER \ 22638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000010) 22648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_FINANCE \ 22658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000011) 22668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_CHILDRENSPROGRAMMES \ 22678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000012) 22688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_SOCIALAFFAIRS \ 22698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000013) 22708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_RELIGION \ 22718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000014) 22728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_PHONEIN \ 22738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000015) 22748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_TRAVEL \ 22758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000016) 22768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_LEISURE \ 22778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000017) 22788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_JAZZMUSIC \ 22798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000018) 22808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_COUNTRYMUSIC \ 22818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000019) 22828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_NATIONALMUSIC \ 22838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001A) 22848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_OLDIESMUSIC \ 22858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001B) 22868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_FOLKMUSIC \ 22878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001C) 22888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_DOCUMENTARY \ 22898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001D) 22908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_ALARMTEST \ 22918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001E) 22928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RDSPTY_ALARM \ 22938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001F) 22948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 22958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_NONE \ 22968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000000) 22978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_NEWS \ 22988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000001) 22998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_INFORMATION \ 23008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000002) 23018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_SPORTS \ 23028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000003) 23038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_TALK \ 23048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000004) 23058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_ROCK \ 23068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000005) 23078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_CLASSICROCK \ 23088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000006) 23098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_ADULTHITS \ 23108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000007) 23118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFTROCK \ 23128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000008) 23138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_TOP40 \ 23148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000009) 23158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_COUNTRY \ 23168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000A) 23178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_OLDIES \ 23188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000B) 23198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFT \ 23208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000C) 23218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_NOSTALGIA \ 23228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000D) 23238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_JAZZ \ 23248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000E) 23258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_CLASSICAL \ 23268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000000F) 23278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_RHYTHMANDBLUES \ 23288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000010) 23298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFTRHYTHMANDBLUES \ 23308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000011) 23318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_LANGUAGE \ 23328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000012) 23338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_RELIGIOUSMUSIC \ 23348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000013) 23358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_RELIGIOUSTALK \ 23368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000014) 23378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_PERSONALITY \ 23388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000015) 23398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_PUBLIC \ 23408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000016) 23418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_COLLEGE \ 23428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000017) 23438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED1 \ 23448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000018) 23458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED2 \ 23468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x00000019) 23478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED3 \ 23488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001A) 23498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED4 \ 23508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001B) 23518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED5 \ 23528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001C) 23538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_WEATHER \ 23548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001D) 23558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_EMERGENCYTEST \ 23568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001E) 23578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSPROGRAMMETYPE_RBDSPTY_EMERGENCY \ 23588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ((XAuint32) 0x0000001F) 23598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 23608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMTITLE ((XAuint8) 0x01) 23618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMALBUM ((XAuint8) 0x02) 23628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMTRACKNUMBER ((XAuint8) 0x03) 23638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMARTIST ((XAuint8) 0x04) 23648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMCOMPOSITION ((XAuint8) 0x05) 23658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMMOVEMENT ((XAuint8) 0x06) 23668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMCONDUCTOR ((XAuint8) 0x07) 23678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMCOMPOSER ((XAuint8) 0x08) 23688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMBAND ((XAuint8) 0x09) 23698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMCOMMENT ((XAuint8) 0x0A) 23708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_ITEMGENRE ((XAuint8) 0x0B) 23718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFONEWS ((XAuint8) 0x0C) 23728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFONEWSLOCAL ((XAuint8) 0x0D) 23738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOSTOCKMARKET ((XAuint8) 0x0E) 23748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOSPORT ((XAuint8) 0x0F) 23758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOLOTTERY ((XAuint8) 0x10) 23768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOHOROSCOPE ((XAuint8) 0x11) 23778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFODAILYDIVERSION ((XAuint8) 0x12) 23788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOHEALTH ((XAuint8) 0x13) 23798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOEVENT ((XAuint8) 0x14) 23808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOSZENE ((XAuint8) 0x15) 23818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOCINEMA ((XAuint8) 0x16) 23828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOTV ((XAuint8) 0x17) 23838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFODATETIME ((XAuint8) 0x18) 23848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOWEATHER ((XAuint8) 0x19) 23858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOTRAFFIC ((XAuint8) 0x1A) 23868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOALARM ((XAuint8) 0x1B) 23878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOADVISERTISEMENT ((XAuint8) 0x1C) 23888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOURL ((XAuint8) 0x1D) 23898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_INFOOTHER ((XAuint8) 0x1E) 23908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_STATIONNAMESHORT ((XAuint8) 0x1F) 23918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_STATIONNAMELONG ((XAuint8) 0x20) 23928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PROGRAMNOW ((XAuint8) 0x21) 23938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PROGRAMNEXT ((XAuint8) 0x22) 23948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PROGRAMPART ((XAuint8) 0x23) 23958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PROGRAMHOST ((XAuint8) 0x24) 23968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PROFRAMEDITORIALSTAFF ((XAuint8) 0x25) 23978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PROGRAMFREQUENCY ((XAuint8) 0x26) 23988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PROGRAMHOMEPAGE ((XAuint8) 0x27) 23998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PROGRAMSUBCHANNEL ((XAuint8) 0x28) 24008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PHONEHOTLINE ((XAuint8) 0x29) 24018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PHONESTUDIO ((XAuint8) 0x2A) 24028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PHONEOTHER ((XAuint8) 0x2B) 24038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_SMSSTUDIO ((XAuint8) 0x2C) 24048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_SMSOTHER ((XAuint8) 0x2D) 24058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_EMAILHOTLINE ((XAuint8) 0x2E) 24068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_EMAILSTUDIO ((XAuint8) 0x2F) 24078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_EMAILOTHER ((XAuint8) 0x30) 24088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_MMSOTHER ((XAuint8) 0x31) 24098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_CHAT ((XAuint8) 0x32) 24108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_CHATCENTER ((XAuint8) 0x33) 24118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_VOTEQUESTION ((XAuint8) 0x34) 24128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_VOTECENTER ((XAuint8) 0x35) 24138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_OPENCLASS45 ((XAuint8) 0x36) 24148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_OPENCLASS55 ((XAuint8) 0x37) 24158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_OPENCLASS56 ((XAuint8) 0x38) 24168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_OPENCLASS57 ((XAuint8) 0x39) 24178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_OPENCLASS58 ((XAuint8) 0x3A) 24188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PLACE ((XAuint8) 0x3B) 24198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_APPOINTMENT ((XAuint8) 0x3C) 24208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_IDENTIFIER ((XAuint8) 0x3D) 24218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_PURCHASE ((XAuint8) 0x3E) 24228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RDSRTPLUS_GETDATA ((XAuint8) 0x3F) 24238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 24248db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_RDS; 24258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 24268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XARDSItf_; 24278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XARDSItf_ * const * XARDSItf; 24288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 24298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaGetODAGroupCallback) ( 24308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARadioItf caller, 24318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 24328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean success, 24338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 group, 24348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 message 24358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 24368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 24378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaNewODADataCallback) ( 24388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf caller, 24398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 24408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 group, 24418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint64 data 24428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 24438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 24448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaRDSCallback) ( 24458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf caller, 24468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext, 24478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 event, 24488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 eventData 24498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 24508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 24518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XARDSItf_ { 24528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryRDSSignal) ( 24538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * isSignal 24558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetProgrammeServiceName) ( 24578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * ps 24598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetRadioText) ( 24618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * rt 24638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetRadioTextPlus) ( 24658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 contentType, 24678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * informationElement, 24688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * descriptor, 24698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 * descriptorContentType 24708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetProgrammeType) ( 24728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pty 24748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetProgrammeTypeString) ( 24768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isLengthMax16, 24788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * pty 24798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetProgrammeIdentificationCode) ( 24818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 * pi 24838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetClockTime) ( 24858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAtime * dateAndTime 24878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetTrafficAnnouncement) ( 24898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * ta 24918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetTrafficProgramme) ( 24938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * tp 24958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 24968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SeekByProgrammeType) ( 24978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 24988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 pty, 24998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean upwards 25008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SeekTrafficAnnouncement) ( 25028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean upwards 25048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SeekTrafficProgramme) ( 25068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean upwards 25088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetAutomaticSwitching) ( 25108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean automatic 25128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAutomaticSwitching) ( 25148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * automatic 25168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetAutomaticTrafficAnnouncement) ( 25188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean automatic 25208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAutomaticTrafficAnnouncement) ( 25228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * automatic 25248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetODAGroup) ( 25268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 AID, 25288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaGetODAGroupCallback callback, 25298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 25308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SubscribeODAGroup) ( 25328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 group, 25348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean useErrorCorrection 25358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*UnsubscribeODAGroup) ( 25378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16 group 25398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*ListODAGroupSubscriptions) ( 25418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAint16* pGroups, 25438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32* pLength 25448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterRDSCallback) ( 25468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaRDSCallback callback, 25488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 25498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterODADataCallback) ( 25518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XARDSItf self, 25528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaNewODADataCallback callback, 25538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 25548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 25568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 25578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* VIBRA */ 25588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 25598db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_VIBRA; 25608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 25618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVibraItf_; 25628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAVibraItf_ * const * XAVibraItf; 25638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 25648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVibraItf_ { 25658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*Vibrate) ( 25668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVibraItf self, 25678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean vibrate 25688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*IsVibrating) ( 25708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVibraItf self, 25718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean * pVibrating 25728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetFrequency) ( 25748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVibraItf self, 25758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz frequency 25768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetFrequency) ( 25788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVibraItf self, 25798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz * pFrequency 25808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetIntensity) ( 25828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVibraItf self, 25838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille intensity 25848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetIntensity) ( 25868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVibraItf self, 25878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille * pIntensity 25888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 25898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 25908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 25918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* LED ARRAY */ 25928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 25938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAHSL_ { 25948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillidegree hue; 25958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille saturation; 25968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille lightness; 25978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAHSL; 25988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 25998db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_LED; 26008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XALEDArrayItf_; 26028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XALEDArrayItf_ * const * XALEDArrayItf; 26038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XALEDArrayItf_ { 26058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*ActivateLEDArray) ( 26068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XALEDArrayItf self, 26078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 lightMask 26088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 26098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*IsLEDArrayActivated) ( 26108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XALEDArrayItf self, 26118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pLightMask 26128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 26138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetColor) ( 26148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XALEDArrayItf self, 26158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 index, 26168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAHSL * pColor 26178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 26188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetColor) ( 26198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XALEDArrayItf self, 26208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint8 index, 26218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAHSL * pColor 26228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 26238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 26248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 26288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /* CODEC RELATED INTERFACES, STRUCTS AND DEFINES */ 26298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten /*****************************************************************/ 26308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* AUDIO ENCODER AND AUDIO ENCODER/DECODER CAPABILITIES */ 26328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RATECONTROLMODE_CONSTANTBITRATE ((XAuint32) 0x00000001) 26348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_RATECONTROLMODE_VARIABLEBITRATE ((XAuint32) 0x00000002) 26358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCODEC_PCM ((XAuint32) 0x00000001) 26378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCODEC_MP3 ((XAuint32) 0x00000002) 26388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCODEC_AMR ((XAuint32) 0x00000003) 26398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCODEC_AMRWB ((XAuint32) 0x00000004) 26408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCODEC_AMRWBPLUS ((XAuint32) 0x00000005) 26418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCODEC_AAC ((XAuint32) 0x00000006) 26428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCODEC_WMA ((XAuint32) 0x00000007) 26438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCODEC_REAL ((XAuint32) 0x00000008) 26448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCODEC_VORBIS ((XAuint32) 0x00000009) 26458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_PCM ((XAuint32) 0x00000001) 26478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_MPEG1_L3 ((XAuint32) 0x00000001) 26498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_MPEG2_L3 ((XAuint32) 0x00000002) 26508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_MPEG25_L3 ((XAuint32) 0x00000003) 26518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCHANMODE_MP3_MONO ((XAuint32) 0x00000001) 26538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCHANMODE_MP3_STEREO ((XAuint32) 0x00000002) 26548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCHANMODE_MP3_JOINTSTEREO ((XAuint32) 0x00000003) 26558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOCHANMODE_MP3_DUAL ((XAuint32) 0x00000004) 26568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_AMR ((XAuint32) 0x00000001) 26588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_CONFORMANCE ((XAuint32) 0x00000001) 26608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_IF1 ((XAuint32) 0x00000002) 26618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_IF2 ((XAuint32) 0x00000003) 26628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_FSF ((XAuint32) 0x00000004) 26638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_RTPPAYLOAD ((XAuint32) 0x00000005) 26648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_ITU ((XAuint32) 0x00000006) 26658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_AMRWB ((XAuint32) 0x00000001) 26678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_AMRWBPLUS ((XAuint32) 0x00000001) 26698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_AAC_AAC ((XAuint32) 0x00000001) 26718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_MAIN ((XAuint32) 0x00000001) 26738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_LC ((XAuint32) 0x00000002) 26748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_SSR ((XAuint32) 0x00000003) 26758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_LTP ((XAuint32) 0x00000004) 26768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_HE ((XAuint32) 0x00000005) 26778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_SCALABLE ((XAuint32) 0x00000006) 26788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_ERLC ((XAuint32) 0x00000007) 26798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_LD ((XAuint32) 0x00000008) 26808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_HE_PS ((XAuint32) 0x00000009) 26818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_AAC_HE_MPS ((XAuint32) 0x0000000A) 26828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_MP2ADTS ((XAuint32) 0x00000001) 26848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_MP4ADTS ((XAuint32) 0x00000002) 26858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_MP4LOAS ((XAuint32) 0x00000003) 26868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_MP4LATM ((XAuint32) 0x00000004) 26878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_ADIF ((XAuint32) 0x00000005) 26888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_MP4FF ((XAuint32) 0x00000006) 26898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOSTREAMFORMAT_RAW ((XAuint32) 0x00000007) 26908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_WMA7 ((XAuint32) 0x00000001) 26928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_WMA8 ((XAuint32) 0x00000002) 26938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_WMA9 ((XAuint32) 0x00000003) 26948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_WMA10 ((XAuint32) 0x00000004) 26958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 26968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_WMA_LEVEL1 ((XAuint32) 0x00000001) 26978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_WMA_LEVEL2 ((XAuint32) 0x00000002) 26988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_WMA_LEVEL3 ((XAuint32) 0x00000003) 26998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_WMA_LEVEL4 ((XAuint32) 0x00000004) 27008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_WMAPRO_LEVELM0 ((XAuint32) 0x00000005) 27018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_WMAPRO_LEVELM1 ((XAuint32) 0x00000006) 27028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_WMAPRO_LEVELM2 ((XAuint32) 0x00000007) 27038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_WMAPRO_LEVELM3 ((XAuint32) 0x00000008) 27048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_REALAUDIO ((XAuint32) 0x00000001) 27068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_REALAUDIO_G2 ((XAuint32) 0x00000001) 27088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_REALAUDIO_8 ((XAuint32) 0x00000002) 27098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_REALAUDIO_10 ((XAuint32) 0x00000003) 27108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_REALAUDIO_SURROUND ((XAuint32) 0x00000004) 27118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOPROFILE_VORBIS ((XAuint32) 0x00000001) 27138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_AUDIOMODE_VORBIS ((XAuint32) 0x00000001) 27158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAAudioCodecDescriptor_ { 27188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxChannels; 27198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 minBitsPerSample; 27208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxBitsPerSample; 27218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz minSampleRate; 27228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz maxSampleRate; 27238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isFreqRangeContinuous; 27248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz * pSampleRatesSupported; 27258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numSampleRatesSupported; 27268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 minBitRate; 27278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxBitRate; 27288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean isBitrateRangeContinuous; 27298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pBitratesSupported; 27308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numBitratesSupported; 27318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 profileSetting; 27328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 modeSetting; 27338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAAudioCodecDescriptor; 27348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAAudioEncoderSettings_ { 27368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 encoderId; 27378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 channelsIn; 27388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 channelsOut; 27398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz sampleRate; 27408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 bitRate; 27418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 bitsPerSample; 27428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 rateControl; 27438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 profileSetting; 27448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 levelSetting; 27458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 channelMode; 27468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 streamFormat; 27478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 encodeOptions; 27488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 blockAlignment; 27498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAAudioEncoderSettings; 27508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27518db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_AUDIODECODERCAPABILITIES; 27528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAAudioDecoderCapabilitiesItf_; 27548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAAudioDecoderCapabilitiesItf_ 27558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAAudioDecoderCapabilitiesItf; 27568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAAudioDecoderCapabilitiesItf_ { 27588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAudioDecoders) ( 27598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioDecoderCapabilitiesItf self, 27608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumDecoders, 27618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pDecoderIds 27628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 27638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAudioDecoderCapabilities) ( 27648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioDecoderCapabilitiesItf self, 27658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 decoderId, 27668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pIndex, 27678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioCodecDescriptor * pDescriptor 27688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 27698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 27708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27718db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_AUDIOENCODER; 27728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAAudioEncoderItf_; 27748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAAudioEncoderItf_ * const * XAAudioEncoderItf; 27758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAAudioEncoderItf_ { 27778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetEncoderSettings) ( 27788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioEncoderItf self, 27798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioEncoderSettings * pSettings 27808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 27818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetEncoderSettings) ( 27828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioEncoderItf self, 27838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioEncoderSettings * pSettings 27848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 27858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 27868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27878db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_AUDIOENCODERCAPABILITIES; 27888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAAudioEncoderCapabilitiesItf_; 27908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAAudioEncoderCapabilitiesItf_ 27918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAAudioEncoderCapabilitiesItf; 27928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 27938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAAudioEncoderCapabilitiesItf_ { 27948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAudioEncoders) ( 27958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioEncoderCapabilitiesItf self, 27968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumEncoders, 27978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pEncoderIds 27988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 27998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetAudioEncoderCapabilities) ( 28008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioEncoderCapabilitiesItf self, 28018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 encoderId, 28028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pIndex, 28038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAAudioCodecDescriptor * pDescriptor 28048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 28058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 28068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* IMAGE ENCODER AND IMAGE ENCODER/DECODER CAPABILITIES */ 28088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGECODEC_JPEG ((XAuint32) 0x00000001) 28108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGECODEC_GIF ((XAuint32) 0x00000002) 28118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGECODEC_BMP ((XAuint32) 0x00000003) 28128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGECODEC_PNG ((XAuint32) 0x00000004) 28138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGECODEC_TIFF ((XAuint32) 0x00000005) 28148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_IMAGECODEC_RAW ((XAuint32) 0x00000006) 28158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAImageCodecDescriptor_ { 28178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 codecId; 28188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxWidth; 28198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxHeight; 28208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAImageCodecDescriptor; 28218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAImageSettings_ { 28238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 encoderId; 28248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 width; 28258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 height; 28268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XApermille compressionLevel; 28278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 colorFormat; 28288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAImageSettings; 28298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28308db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_IMAGEENCODERCAPABILITIES; 28318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageEncoderCapabilitiesItf_; 28338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAImageEncoderCapabilitiesItf_ 28348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAImageEncoderCapabilitiesItf; 28358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageEncoderCapabilitiesItf_ { 28378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetImageEncoderCapabilities) ( 28388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageEncoderCapabilitiesItf self, 28398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pEncoderId, 28408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageCodecDescriptor * pDescriptor 28418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 28428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryColorFormats) ( 28438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAImageEncoderCapabilitiesItf self, 28448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pIndex, 28458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pColorFormat 28468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 28478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 28488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28498db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_IMAGEDECODERCAPABILITIES; 28508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageDecoderCapabilitiesItf_; 28528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAImageDecoderCapabilitiesItf_ 28538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAImageDecoderCapabilitiesItf; 28548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageDecoderCapabilitiesItf_ { 28568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetImageDecoderCapabilities) ( 28578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageDecoderCapabilitiesItf self, 28588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pDecoderId, 28598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageCodecDescriptor * pDescriptor 28608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 28618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryColorFormats) ( 28628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAImageDecoderCapabilitiesItf self, 28638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pIndex, 28648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pColorFormat 28658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 28668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 28678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28688db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_IMAGEENCODER; 28698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageEncoderItf_; 28718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAImageEncoderItf_ * const * XAImageEncoderItf; 28728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAImageEncoderItf_ { 28748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetImageSettings) ( 28758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageEncoderItf self, 28768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten const XAImageSettings * pSettings 28778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 28788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetImageSettings) ( 28798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageEncoderItf self, 28808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageSettings * pSettings 28818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 28828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetSizeEstimate) ( 28838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAImageEncoderItf self, 28848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pSize 28858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 28868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 28878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* VIDEO ENCODER AND VIDEO ENCODER/DECODER CAPABILITIES */ 28898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOCODEC_MPEG2 ((XAuint32) 0x00000001) 28918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOCODEC_H263 ((XAuint32) 0x00000002) 28928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOCODEC_MPEG4 ((XAuint32) 0x00000003) 28938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOCODEC_AVC ((XAuint32) 0x00000004) 28948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOCODEC_VC1 ((XAuint32) 0x00000005) 28958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 28968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG2_SIMPLE ((XAuint32) 0x00000001) 28978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG2_MAIN ((XAuint32) 0x00000002) 28988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG2_422 ((XAuint32) 0x00000003) 28998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG2_SNR ((XAuint32) 0x00000004) 29008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG2_SPATIAL ((XAuint32) 0x00000005) 29018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG2_HIGH ((XAuint32) 0x00000006) 29028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG2_LL ((XAuint32) 0x00000001) 29048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG2_ML ((XAuint32) 0x00000002) 29058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG2_H14 ((XAuint32) 0x00000003) 29068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG2_HL ((XAuint32) 0x00000004) 29078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_H263_BASELINE ((XAuint32) 0x00000001) 29098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_H263_H320CODING ((XAuint32) 0x00000002) 29108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_H263_BACKWARDCOMPATIBLE ((XAuint32) 0x00000003) 29118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_H263_ISWV2 ((XAuint32) 0x00000004) 29128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_H263_ISWV3 ((XAuint32) 0x00000005) 29138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_H263_HIGHCOMPRESSION ((XAuint32) 0x00000006) 29148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_H263_INTERNET ((XAuint32) 0x00000007) 29158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_H263_INTERLACE ((XAuint32) 0x00000008) 29168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_H263_HIGHLATENCY ((XAuint32) 0x00000009) 29178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_H263_10 ((XAuint32) 0x00000001) 29198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_H263_20 ((XAuint32) 0x00000002) 29208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_H263_30 ((XAuint32) 0x00000003) 29218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_H263_40 ((XAuint32) 0x00000004) 29228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_H263_45 ((XAuint32) 0x00000005) 29238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_H263_50 ((XAuint32) 0x00000006) 29248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_H263_60 ((XAuint32) 0x00000007) 29258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_H263_70 ((XAuint32) 0x00000008) 29268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_SIMPLE ((XAuint32) 0x00000001) 29288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_SIMPLESCALABLE ((XAuint32) 0x00000002) 29298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_CORE ((XAuint32) 0x00000003) 29308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_MAIN ((XAuint32) 0x00000004) 29318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_NBIT ((XAuint32) 0x00000005) 29328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_SCALABLETEXTURE ((XAuint32) 0x00000006) 29338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_SIMPLEFACE ((XAuint32) 0x00000007) 29348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_SIMPLEFBA ((XAuint32) 0x00000008) 29358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_BASICANIMATED ((XAuint32) 0x00000009) 29368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_HYBRID ((XAuint32) 0x0000000A) 29378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_ADVANCEDREALTIME ((XAuint32) 0x0000000B) 29388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_CORESCALABLE ((XAuint32) 0x0000000C) 29398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_ADVANCEDCODING ((XAuint32) 0x0000000D) 29408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_ADVANCEDCORE ((XAuint32) 0x0000000E) 29418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_MPEG4_ADVANCEDSCALABLE ((XAuint32) 0x0000000F) 29428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG4_0 ((XAuint32) 0x00000001) 29448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG4_0b ((XAuint32) 0x00000002) 29458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG4_1 ((XAuint32) 0x00000003) 29468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG4_2 ((XAuint32) 0x00000004) 29478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG4_3 ((XAuint32) 0x00000005) 29488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG4_4 ((XAuint32) 0x00000006) 29498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG4_4a ((XAuint32) 0x00000007) 29508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_MPEG4_5 ((XAuint32) 0x00000008) 29518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_AVC_BASELINE ((XAuint32) 0x00000001) 29538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_AVC_MAIN ((XAuint32) 0x00000002) 29548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_AVC_EXTENDED ((XAuint32) 0x00000003) 29558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_AVC_HIGH ((XAuint32) 0x00000004) 29568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_AVC_HIGH10 ((XAuint32) 0x00000005) 29578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_AVC_HIGH422 ((XAuint32) 0x00000006) 29588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOPROFILE_AVC_HIGH444 ((XAuint32) 0x00000007) 29598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_1 ((XAuint32) 0x00000001) 29618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_1B ((XAuint32) 0x00000002) 29628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_11 ((XAuint32) 0x00000003) 29638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_12 ((XAuint32) 0x00000004) 29648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_13 ((XAuint32) 0x00000005) 29658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_2 ((XAuint32) 0x00000006) 29668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_21 ((XAuint32) 0x00000007) 29678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_22 ((XAuint32) 0x00000008) 29688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_3 ((XAuint32) 0x00000009) 29698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_31 ((XAuint32) 0x0000000A) 29708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_32 ((XAuint32) 0x0000000B) 29718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_4 ((XAuint32) 0x0000000C) 29728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_41 ((XAuint32) 0x0000000D) 29738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_42 ((XAuint32) 0x0000000E) 29748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_5 ((XAuint32) 0x0000000F) 29758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_AVC_51 ((XAuint32) 0x00000010) 29768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_SIMPLE ((XAuint32) 0x00000001) 29788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_MAIN ((XAuint32) 0x00000002) 29798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_ADVANCED ((XAuint32) 0x00000003) 29808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_LOW ((XAuint32) 0x00000001) 29828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_MEDIUM ((XAuint32) 0x00000002) 29838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_HIGH ((XAuint32) 0x00000003) 29848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_L0 ((XAuint32) 0x00000004) 29858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_L1 ((XAuint32) 0x00000005) 29868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_L2 ((XAuint32) 0x00000006) 29878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_L3 ((XAuint32) 0x00000007) 29888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_VIDEOLEVEL_VC1_L4 ((XAuint32) 0x00000008) 29898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 29908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAVideoCodecDescriptor_ { 29918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 codecId; 29928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxWidth; 29938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxHeight; 29948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxFrameRate; 29958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 maxBitRate; 29968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 rateControlSupported; 29978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 profileSetting; 29988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 levelSetting; 29998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAVideoCodecDescriptor; 30008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAVideoSettings_ { 30028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 encoderId; 30038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 width; 30048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 height; 30058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 frameRate; 30068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 bitRate; 30078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 rateControl; 30088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 profileSetting; 30098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 levelSetting; 30108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 keyFrameInterval; 30118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAVideoSettings; 30128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30138db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_VIDEODECODERCAPABILITIES; 30148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVideoDecoderCapabilitiesItf_; 30168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAVideoDecoderCapabilitiesItf_ 30178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAVideoDecoderCapabilitiesItf; 30188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVideoDecoderCapabilitiesItf_ { 30208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetVideoDecoders) ( 30218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoDecoderCapabilitiesItf self, 30228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumDecoders, 30238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pDecoderIds 30248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 30258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetVideoDecoderCapabilities) ( 30268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoDecoderCapabilitiesItf self, 30278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 decoderId, 30288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pIndex, 30298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoCodecDescriptor * pDescriptor 30308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 30318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 30328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30338db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_VIDEOENCODER; 30348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30358db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_VIDEOENCODERCAPABILITIES; 30368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVideoEncoderCapabilitiesItf_; 30388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAVideoEncoderCapabilitiesItf_ 30398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten * const * XAVideoEncoderCapabilitiesItf; 30408db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVideoEncoderCapabilitiesItf_ { 30428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetVideoEncoders) ( 30438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoEncoderCapabilitiesItf self, 30448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pNumEncoders, 30458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pEncoderIds 30468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 30478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetVideoEncoderCapabilities) ( 30488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoEncoderCapabilitiesItf self, 30498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 encoderId, 30508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 * pIndex, 30518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoCodecDescriptor * pDescriptor 30528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 30538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 30548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVideoEncoderItf_; 30568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAVideoEncoderItf_ * const * XAVideoEncoderItf; 30578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAVideoEncoderItf_ { 30598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetVideoSettings) ( 30608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoEncoderItf self, 30618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoSettings * pSettings 30628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 30638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*GetVideoSettings) ( 30648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoEncoderItf self, 30658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAVideoSettings * pSettings 30668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 30678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 30688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten/* STREAM INFORMATION */ 30708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DOMAINTYPE_AUDIO 0x00000001 30728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DOMAINTYPE_VIDEO 0x00000002 30738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DOMAINTYPE_IMAGE 0x00000003 30748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DOMAINTYPE_TIMEDTEXT 0x00000004 30758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DOMAINTYPE_MIDI 0x00000005 30768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DOMAINTYPE_VENDOR 0xFFFFFFFE 30778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_DOMAINTYPE_UNKNOWN 0xFFFFFFFF 30788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_MIDIBANK_DEVICE 0x00000001 30808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_MIDIBANK_CUSTOM 0x00000002 30818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_MIDI_UNKNOWN 0xFFFFFFFF 30838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#define XA_STREAMCBEVENT_PROPERTYCHANGE ((XAuint32) 0x00000001) 30858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAMediaContainerInformation_ { 30878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 containerType; 30888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond mediaDuration; 30898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 numStreams; 30908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAMediaContainerInformation; 30918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 30928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAVideoStreamInformation_ { 30938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 codecId; 30948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 width; 30958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 height; 30968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 frameRate; 30978db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 bitRate; 30988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond duration; 30998db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAVideoStreamInformation; 31008db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31018db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAAudioStreamInformation_ { 31028db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 codecId; 31038db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 channels; 31048db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmilliHertz sampleRate; 31058db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 bitRate; 31068db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar langCountry[16]; 31078db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond duration; 31088db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAAudioStreamInformation; 31098db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31108db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAImageStreamInformation_ { 31118db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 codecId; 31128db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 width; 31138db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 height; 31148db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond presentationDuration; 31158db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAImageStreamInformation; 31168db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31178db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XATimedTextStreamInformation_ { 31188db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 layer; 31198db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 width; 31208db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 height; 31218db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 tx; 31228db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 ty; 31238db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 bitrate; 31248db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar langCountry[16]; 31258db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond duration; 31268db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XATimedTextStreamInformation; 31278db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31288db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAMIDIStreamInformation_ { 31298db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 channels; 31308db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 tracks; 31318db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 bankType; 31328db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar langCountry[16]; 31338db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAmillisecond duration; 31348db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAMIDIStreamInformation; 31358db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31368db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef struct XAVendorStreamInformation_ { 31378db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void *VendorStreamInfo; 31388db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} XAVendorStreamInformation; 31398db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31408db0b106cdce5f5216b1535492de7930ad738aedGlenn KastenXA_API extern const XAInterfaceID XA_IID_STREAMINFORMATION; 31418db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31428db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAStreamInformationItf_; 31438db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef const struct XAStreamInformationItf_ * const * XAStreamInformationItf; 31448db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31458db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastentypedef void (XAAPIENTRY * xaStreamEventChangeCallback) ( 31468db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAStreamInformationItf caller, 31478db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 eventId, 31488db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 streamIndex, 31498db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pEventData, 31508db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 31518db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten); 31528db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31538db0b106cdce5f5216b1535492de7930ad738aedGlenn Kastenstruct XAStreamInformationItf_ { 31548db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryMediaContainerInformation) ( 31558db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAStreamInformationItf self, 31568db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAMediaContainerInformation * info 31578db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 31588db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryStreamType) ( 31598db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAStreamInformationItf self, 31608db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 streamIndex, 31618db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 *domain 31628db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 31638db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryStreamInformation) ( 31648db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAStreamInformationItf self, 31658db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 streamIndex, 31668db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * info 31678db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 31688db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryStreamName) ( 31698db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAStreamInformationItf self, 31708db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 streamIndex, 31718db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint16 * pNameSize, 31728db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAchar * pName 31738db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 31748db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*RegisterStreamChangeCallback) ( 31758db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAStreamInformationItf self, 31768db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten xaStreamEventChangeCallback callback, 31778db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten void * pContext 31788db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 31798db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*QueryActiveStreams) ( 31808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAStreamInformationItf self, 31818db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 *numStreams, 31828db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean *activeStreams 31838db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 31848db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAresult (*SetActiveStream) ( 31858db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAStreamInformationItf self, 31868db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAuint32 streamNum, 31878db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean active, 31888db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten XAboolean commitNow 31898db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten ); 31908db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten}; 31918db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31928db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#ifdef __cplusplus 31938db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten} /* extern "C" */ 31948db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#endif 31958db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten 31968db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten#endif /* _OPENMAXAL_H_ */ 3197