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