--- a/mmmw_plat/openmax_al_api/inc/OpenMAXAL.h Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3196 +0,0 @@
-/*
- * Copyright (c) 2007-2010 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and/or associated documentation files (the
- * "Materials "), to deal in the Materials without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Materials, and to
- * permit persons to whom the Materials are furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Materials.
- *
- * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- * OpenMAXAL.h - OpenMAX AL version 1.0.1
- *
- */
-
-/****************************************************************************/
-/* NOTE: This file is a standard OpenMAX AL header file and should not be */
-/* modified in any way. */
-/****************************************************************************/
-
-#ifndef _OPENMAXAL_H_
-#define _OPENMAXAL_H_
-
-#include "OpenMAXAL_Platform.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
- /*****************************************************************/
- /* TYPES */
- /*****************************************************************/
-
-/* remap common types to XA types for clarity */
-typedef xa_int8_t XAint8; /* 8 bit signed integer */
-typedef xa_uint8_t XAuint8; /* 8 bit unsigned integer */
-typedef xa_int16_t XAint16; /* 16 bit signed integer */
-typedef xa_uint16_t XAuint16; /* 16 bit unsigned integer */
-typedef xa_int32_t XAint32; /* 32 bit signed integer */
-typedef xa_uint32_t XAuint32; /* 32 bit unsigned integer */
-typedef xa_uint64_t XAuint64; /* 64 bit unsigned integer */
-
-typedef XAuint32 XAboolean;
-typedef XAuint8 XAchar;
-typedef XAint16 XAmillibel;
-typedef XAuint32 XAmillisecond;
-typedef XAuint32 XAmilliHertz;
-typedef XAint32 XAmillimeter;
-typedef XAint32 XAmillidegree;
-typedef XAint16 XApermille;
-typedef XAuint32 XAmicrosecond;
-typedef XAuint64 XAtime;
-typedef XAuint32 XAresult;
-
-#define XA_BOOLEAN_FALSE ((XAuint32) 0x00000000)
-#define XA_BOOLEAN_TRUE ((XAuint32) 0x00000001)
-
-#define XA_MILLIBEL_MAX ((XAmillibel) 0x7FFF)
-#define XA_MILLIBEL_MIN ((XAmillibel) (-XA_MILLIBEL_MAX-1))
-
-#define XA_MILLIHERTZ_MAX ((XAmilliHertz) 0xFFFFFFFF)
-
-#define XA_MILLIMETER_MAX ((XAmillimeter) 0x7FFFFFFF)
-
-
-
- /*****************************************************************/
- /* RESULT CODES */
- /*****************************************************************/
-
-#define XA_RESULT_SUCCESS ((XAuint32) 0x00000000)
-#define XA_RESULT_PRECONDITIONS_VIOLATED ((XAuint32) 0x00000001)
-#define XA_RESULT_PARAMETER_INVALID ((XAuint32) 0x00000002)
-#define XA_RESULT_MEMORY_FAILURE ((XAuint32) 0x00000003)
-#define XA_RESULT_RESOURCE_ERROR ((XAuint32) 0x00000004)
-#define XA_RESULT_RESOURCE_LOST ((XAuint32) 0x00000005)
-#define XA_RESULT_IO_ERROR ((XAuint32) 0x00000006)
-#define XA_RESULT_BUFFER_INSUFFICIENT ((XAuint32) 0x00000007)
-#define XA_RESULT_CONTENT_CORRUPTED ((XAuint32) 0x00000008)
-#define XA_RESULT_CONTENT_UNSUPPORTED ((XAuint32) 0x00000009)
-#define XA_RESULT_CONTENT_NOT_FOUND ((XAuint32) 0x0000000A)
-#define XA_RESULT_PERMISSION_DENIED ((XAuint32) 0x0000000B)
-#define XA_RESULT_FEATURE_UNSUPPORTED ((XAuint32) 0x0000000C)
-#define XA_RESULT_INTERNAL_ERROR ((XAuint32) 0x0000000D)
-#define XA_RESULT_UNKNOWN_ERROR ((XAuint32) 0x0000000E)
-#define XA_RESULT_OPERATION_ABORTED ((XAuint32) 0x0000000F)
-#define XA_RESULT_CONTROL_LOST ((XAuint32) 0x00000010)
-
-
-
- /*****************************************************************/
- /* INTERFACE ID DEFINITION */
- /*****************************************************************/
-
-/* Interface ID defined as a UUID */
-typedef const struct XAInterfaceID_ {
- XAuint32 time_low;
- XAuint16 time_mid;
- XAuint16 time_hi_and_version;
- XAuint16 clock_seq;
- XAuint8 node[6];
-} * XAInterfaceID;
-
-/* NULL Interface */
-XA_API extern const XAInterfaceID XA_IID_NULL;
-
-
-
- /*****************************************************************/
- /* GENERAL INTERFACES, STRUCTS AND DEFINES */
- /*****************************************************************/
-
-/* OBJECT */
-
-#define XA_PRIORITY_LOWEST ((XAint32) (-0x7FFFFFFF-1))
-#define XA_PRIORITY_VERYLOW ((XAint32) -0x60000000)
-#define XA_PRIORITY_LOW ((XAint32) -0x40000000)
-#define XA_PRIORITY_BELOWNORMAL ((XAint32) -0x20000000)
-#define XA_PRIORITY_NORMAL ((XAint32) 0x00000000)
-#define XA_PRIORITY_ABOVENORMAL ((XAint32) 0x20000000)
-#define XA_PRIORITY_HIGH ((XAint32) 0x40000000)
-#define XA_PRIORITY_VERYHIGH ((XAint32) 0x60000000)
-#define XA_PRIORITY_HIGHEST ((XAint32) 0x7FFFFFFF)
-
-#define XA_OBJECT_EVENT_RUNTIME_ERROR ((XAuint32) 0x00000001)
-#define XA_OBJECT_EVENT_ASYNC_TERMINATION ((XAuint32) 0x00000002)
-#define XA_OBJECT_EVENT_RESOURCES_LOST ((XAuint32) 0x00000003)
-#define XA_OBJECT_EVENT_RESOURCES_AVAILABLE ((XAuint32) 0x00000004)
-#define XA_OBJECT_EVENT_ITF_CONTROL_TAKEN ((XAuint32) 0x00000005)
-#define XA_OBJECT_EVENT_ITF_CONTROL_RETURNED ((XAuint32) 0x00000006)
-#define XA_OBJECT_EVENT_ITF_PARAMETERS_CHANGED ((XAuint32) 0x00000007)
-
-#define XA_OBJECT_STATE_UNREALIZED ((XAuint32) 0x00000001)
-#define XA_OBJECT_STATE_REALIZED ((XAuint32) 0x00000002)
-#define XA_OBJECT_STATE_SUSPENDED ((XAuint32) 0x00000003)
-
-
-XA_API extern const XAInterfaceID XA_IID_OBJECT;
-
-struct XAObjectItf_;
-typedef const struct XAObjectItf_ * const * XAObjectItf;
-
-typedef void (XAAPIENTRY * xaObjectCallback) (
- XAObjectItf caller,
- const void * pContext,
- XAuint32 event,
- XAresult result,
- XAuint32 param,
- void * pInterface
-);
-
-struct XAObjectItf_ {
- XAresult (*Realize) (
- XAObjectItf self,
- XAboolean async
- );
- XAresult (*Resume) (
- XAObjectItf self,
- XAboolean async
- );
- XAresult (*GetState) (
- XAObjectItf self,
- XAuint32 * pState
- );
- XAresult (*GetInterface) (
- XAObjectItf self,
- const XAInterfaceID iid,
- void * pInterface
- );
- XAresult (*RegisterCallback) (
- XAObjectItf self,
- xaObjectCallback callback,
- void * pContext
- );
- void (*AbortAsyncOperation) (
- XAObjectItf self
- );
- void (*Destroy) (
- XAObjectItf self
- );
- XAresult (*SetPriority) (
- XAObjectItf self,
- XAint32 priority,
- XAboolean preemptable
- );
- XAresult (*GetPriority) (
- XAObjectItf self,
- XAint32 * pPriority,
- XAboolean * pPreemptable
- );
- XAresult (*SetLossOfControlInterfaces) (
- XAObjectItf self,
- XAint16 numInterfaces,
- XAInterfaceID * pInterfaceIDs,
- XAboolean enabled
- );
-};
-
-/* CONFIG EXTENSION */
-
-XA_API extern const XAInterfaceID XA_IID_CONFIGEXTENSION;
-
-struct XAConfigExtensionsItf_;
-typedef const struct XAConfigExtensionsItf_
- * const * XAConfigExtensionsItf;
-
-struct XAConfigExtensionsItf_ {
- XAresult (*SetConfiguration) (
- XAConfigExtensionsItf self,
- const XAchar * configKey,
- XAuint32 valueSize,
- const void * pConfigValue
- );
- XAresult (*GetConfiguration) (
- XAConfigExtensionsItf self,
- const XAchar * configKey,
- XAuint32 * pValueSize,
- void * pConfigValue
- );
-};
-
-/* DYNAMIC INTERFACE MANAGEMENT */
-
-#define XA_DYNAMIC_ITF_EVENT_RUNTIME_ERROR ((XAuint32) 0x00000001)
-#define XA_DYNAMIC_ITF_EVENT_ASYNC_TERMINATION ((XAuint32) 0x00000002)
-#define XA_DYNAMIC_ITF_EVENT_RESOURCES_LOST ((XAuint32) 0x00000003)
-#define XA_DYNAMIC_ITF_EVENT_RESOURCES_LOST_PERMANENTLY ((XAuint32) 0x00000004)
-#define XA_DYNAMIC_ITF_EVENT_RESOURCES_AVAILABLE ((XAuint32) 0x00000005)
-
-XA_API extern const XAInterfaceID XA_IID_DYNAMICINTERFACEMANAGEMENT;
-
-struct XADynamicInterfaceManagementItf_;
-typedef const struct XADynamicInterfaceManagementItf_
- * const * XADynamicInterfaceManagementItf;
-
-typedef void (XAAPIENTRY * xaDynamicInterfaceManagementCallback) (
- XADynamicInterfaceManagementItf caller,
- void * pContext,
- XAuint32 event,
- XAresult result,
- const XAInterfaceID iid
-);
-
-struct XADynamicInterfaceManagementItf_ {
- XAresult (*AddInterface) (
- XADynamicInterfaceManagementItf self,
- const XAInterfaceID iid,
- XAboolean aysnc
- );
- XAresult (*RemoveInterface) (
- XADynamicInterfaceManagementItf self,
- const XAInterfaceID iid
- );
- XAresult (*ResumeInterface) (
- XADynamicInterfaceManagementItf self,
- const XAInterfaceID iid,
- XAboolean aysnc
- );
- XAresult (*RegisterCallback) (
- XADynamicInterfaceManagementItf self,
- xaDynamicInterfaceManagementCallback callback,
- void * pContext
- );
-};
-
-/* DATA SOURCES/SINKS */
-
-#define XA_DATAFORMAT_MIME ((XAuint32) 0x00000001)
-#define XA_DATAFORMAT_PCM ((XAuint32) 0x00000002)
-#define XA_DATAFORMAT_RAWIMAGE ((XAuint32) 0x00000003)
-
-#define XA_DATALOCATOR_URI ((XAuint32) 0x00000001)
-#define XA_DATALOCATOR_ADDRESS ((XAuint32) 0x00000002)
-#define XA_DATALOCATOR_IODEVICE ((XAuint32) 0x00000003)
-#define XA_DATALOCATOR_OUTPUTMIX ((XAuint32) 0x00000004)
-#define XA_DATALOCATOR_NATIVEDISPLAY ((XAuint32) 0x00000005)
-#define XA_DATALOCATOR_RESERVED6 ((XAuint32) 0x00000006)
-#define XA_DATALOCATOR_RESERVED7 ((XAuint32) 0x00000007)
-
-typedef struct XADataSink_ {
- void * pLocator;
- void * pFormat;
-} XADataSink;
-
-typedef struct XADataSource_ {
- void * pLocator;
- void * pFormat;
-} XADataSource;
-
-#define XA_CONTAINERTYPE_UNSPECIFIED ((XAuint32) 0x00000001)
-#define XA_CONTAINERTYPE_RAW ((XAuint32) 0x00000002)
-#define XA_CONTAINERTYPE_ASF ((XAuint32) 0x00000003)
-#define XA_CONTAINERTYPE_AVI ((XAuint32) 0x00000004)
-#define XA_CONTAINERTYPE_BMP ((XAuint32) 0x00000005)
-#define XA_CONTAINERTYPE_JPG ((XAuint32) 0x00000006)
-#define XA_CONTAINERTYPE_JPG2000 ((XAuint32) 0x00000007)
-#define XA_CONTAINERTYPE_M4A ((XAuint32) 0x00000008)
-#define XA_CONTAINERTYPE_MP3 ((XAuint32) 0x00000009)
-#define XA_CONTAINERTYPE_MP4 ((XAuint32) 0x0000000A)
-#define XA_CONTAINERTYPE_MPEG_ES ((XAuint32) 0x0000000B)
-#define XA_CONTAINERTYPE_MPEG_PS ((XAuint32) 0x0000000C)
-#define XA_CONTAINERTYPE_MPEG_TS ((XAuint32) 0x0000000D)
-#define XA_CONTAINERTYPE_QT ((XAuint32) 0x0000000E)
-#define XA_CONTAINERTYPE_WAV ((XAuint32) 0x0000000F)
-#define XA_CONTAINERTYPE_XMF_0 ((XAuint32) 0x00000010)
-#define XA_CONTAINERTYPE_XMF_1 ((XAuint32) 0x00000011)
-#define XA_CONTAINERTYPE_XMF_2 ((XAuint32) 0x00000012)
-#define XA_CONTAINERTYPE_XMF_3 ((XAuint32) 0x00000013)
-#define XA_CONTAINERTYPE_XMF_GENERIC ((XAuint32) 0x00000014)
-#define XA_CONTAINERTYPE_AMR ((XAuint32) 0x00000015)
-#define XA_CONTAINERTYPE_AAC ((XAuint32) 0x00000016)
-#define XA_CONTAINERTYPE_3GPP ((XAuint32) 0x00000017)
-#define XA_CONTAINERTYPE_3GA ((XAuint32) 0x00000018)
-#define XA_CONTAINERTYPE_RM ((XAuint32) 0x00000019)
-#define XA_CONTAINERTYPE_DMF ((XAuint32) 0x0000001A)
-#define XA_CONTAINERTYPE_SMF ((XAuint32) 0x0000001B)
-#define XA_CONTAINERTYPE_MOBILE_DLS ((XAuint32) 0x0000001C)
-#define XA_CONTAINERTYPE_OGG ((XAuint32) 0x0000001D)
-
-typedef struct XADataFormat_MIME_ {
- XAuint32 formatType;
- XAchar * mimeType;
- XAuint32 containerType;
-} XADataFormat_MIME;
-
-#define XA_BYTEORDER_BIGENDIAN ((XAuint32) 0x00000001)
-#define XA_BYTEORDER_LITTLEENDIAN ((XAuint32) 0x00000002)
-
-#define XA_SAMPLINGRATE_8 ((XAuint32) 8000000)
-#define XA_SAMPLINGRATE_11_025 ((XAuint32) 11025000)
-#define XA_SAMPLINGRATE_12 ((XAuint32) 12000000)
-#define XA_SAMPLINGRATE_16 ((XAuint32) 16000000)
-#define XA_SAMPLINGRATE_22_05 ((XAuint32) 22050000)
-#define XA_SAMPLINGRATE_24 ((XAuint32) 24000000)
-#define XA_SAMPLINGRATE_32 ((XAuint32) 32000000)
-#define XA_SAMPLINGRATE_44_1 ((XAuint32) 44100000)
-#define XA_SAMPLINGRATE_48 ((XAuint32) 48000000)
-#define XA_SAMPLINGRATE_64 ((XAuint32) 64000000)
-#define XA_SAMPLINGRATE_88_2 ((XAuint32) 88200000)
-#define XA_SAMPLINGRATE_96 ((XAuint32) 96000000)
-#define XA_SAMPLINGRATE_192 ((XAuint32) 192000000)
-
-#define XA_SPEAKER_FRONT_LEFT ((XAuint32) 0x00000001)
-#define XA_SPEAKER_FRONT_RIGHT ((XAuint32) 0x00000002)
-#define XA_SPEAKER_FRONT_CENTER ((XAuint32) 0x00000004)
-#define XA_SPEAKER_LOW_FREQUENCY ((XAuint32) 0x00000008)
-#define XA_SPEAKER_BACK_LEFT ((XAuint32) 0x00000010)
-#define XA_SPEAKER_BACK_RIGHT ((XAuint32) 0x00000020)
-#define XA_SPEAKER_FRONT_LEFT_OF_CENTER ((XAuint32) 0x00000040)
-#define XA_SPEAKER_FRONT_RIGHT_OF_CENTER ((XAuint32) 0x00000080)
-#define XA_SPEAKER_BACK_CENTER ((XAuint32) 0x00000100)
-#define XA_SPEAKER_SIDE_LEFT ((XAuint32) 0x00000200)
-#define XA_SPEAKER_SIDE_RIGHT ((XAuint32) 0x00000400)
-#define XA_SPEAKER_TOP_CENTER ((XAuint32) 0x00000800)
-#define XA_SPEAKER_TOP_FRONT_LEFT ((XAuint32) 0x00001000)
-#define XA_SPEAKER_TOP_FRONT_CENTER ((XAuint32) 0x00002000)
-#define XA_SPEAKER_TOP_FRONT_RIGHT ((XAuint32) 0x00004000)
-#define XA_SPEAKER_TOP_BACK_LEFT ((XAuint32) 0x00008000)
-#define XA_SPEAKER_TOP_BACK_CENTER ((XAuint32) 0x00010000)
-#define XA_SPEAKER_TOP_BACK_RIGHT ((XAuint32) 0x00020000)
-
-#define XA_PCMSAMPLEFORMAT_FIXED_8 ((XAuint16) 0x0008)
-#define XA_PCMSAMPLEFORMAT_FIXED_16 ((XAuint16) 0x0010)
-#define XA_PCMSAMPLEFORMAT_FIXED_20 ((XAuint16) 0x0014)
-#define XA_PCMSAMPLEFORMAT_FIXED_24 ((XAuint16) 0x0018)
-#define XA_PCMSAMPLEFORMAT_FIXED_28 ((XAuint16) 0x001C)
-#define XA_PCMSAMPLEFORMAT_FIXED_32 ((XAuint16) 0x0020)
-
-typedef struct XADataFormat_PCM_ {
- XAuint32 formatType;
- XAuint32 numChannels;
- XAuint32 samplesPerSec;
- XAuint32 bitsPerSample;
- XAuint32 containerSize;
- XAuint32 channelMask;
- XAuint32 endianness;
-} XADataFormat_PCM;
-
-#define XA_COLORFORMAT_UNUSED ((XAuint32) 0x00000000)
-#define XA_COLORFORMAT_MONOCHROME ((XAuint32) 0x00000001)
-#define XA_COLORFORMAT_8BITRGB332 ((XAuint32) 0x00000002)
-#define XA_COLORFORMAT_12BITRGB444 ((XAuint32) 0x00000003)
-#define XA_COLORFORMAT_16BITARGB4444 ((XAuint32) 0x00000004)
-#define XA_COLORFORMAT_16BITARGB1555 ((XAuint32) 0x00000005)
-#define XA_COLORFORMAT_16BITRGB565 ((XAuint32) 0x00000006)
-#define XA_COLORFORMAT_16BITBGR565 ((XAuint32) 0x00000007)
-#define XA_COLORFORMAT_18BITRGB666 ((XAuint32) 0x00000008)
-#define XA_COLORFORMAT_18BITARGB1665 ((XAuint32) 0x00000009)
-#define XA_COLORFORMAT_19BITARGB1666 ((XAuint32) 0x0000000A)
-#define XA_COLORFORMAT_24BITRGB888 ((XAuint32) 0x0000000B)
-#define XA_COLORFORMAT_24BITBGR888 ((XAuint32) 0x0000000C)
-#define XA_COLORFORMAT_24BITARGB1887 ((XAuint32) 0x0000000D)
-#define XA_COLORFORMAT_25BITARGB1888 ((XAuint32) 0x0000000E)
-#define XA_COLORFORMAT_32BITBGRA8888 ((XAuint32) 0x0000000F)
-#define XA_COLORFORMAT_32BITARGB8888 ((XAuint32) 0x00000010)
-#define XA_COLORFORMAT_YUV411PLANAR ((XAuint32) 0x00000011)
-#define XA_COLORFORMAT_YUV420PLANAR ((XAuint32) 0x00000013)
-#define XA_COLORFORMAT_YUV420SEMIPLANAR ((XAuint32) 0x00000015)
-#define XA_COLORFORMAT_YUV422PLANAR ((XAuint32) 0x00000016)
-#define XA_COLORFORMAT_YUV422SEMIPLANAR ((XAuint32) 0x00000018)
-#define XA_COLORFORMAT_YCBYCR ((XAuint32) 0x00000019)
-#define XA_COLORFORMAT_YCRYCB ((XAuint32) 0x0000001A)
-#define XA_COLORFORMAT_CBYCRY ((XAuint32) 0x0000001B)
-#define XA_COLORFORMAT_CRYCBY ((XAuint32) 0x0000001C)
-#define XA_COLORFORMAT_YUV444INTERLEAVED ((XAuint32) 0x0000001D)
-#define XA_COLORFORMAT_RAWBAYER8BIT ((XAuint32) 0x0000001E)
-#define XA_COLORFORMAT_RAWBAYER10BIT ((XAuint32) 0x0000001F)
-#define XA_COLORFORMAT_RAWBAYER8BITCOMPRESSED ((XAuint32) 0x00000020)
-#define XA_COLORFORMAT_L2 ((XAuint32) 0x00000021)
-#define XA_COLORFORMAT_L4 ((XAuint32) 0x00000022)
-#define XA_COLORFORMAT_L8 ((XAuint32) 0x00000023)
-#define XA_COLORFORMAT_L16 ((XAuint32) 0x00000024)
-#define XA_COLORFORMAT_L24 ((XAuint32) 0x00000025)
-#define XA_COLORFORMAT_L32 ((XAuint32) 0x00000026)
-#define XA_COLORFORMAT_18BITBGR666 ((XAuint32) 0x00000029)
-#define XA_COLORFORMAT_24BITARGB6666 ((XAuint32) 0x0000002A)
-#define XA_COLORFORMAT_24BITABGR6666 ((XAuint32) 0x0000002B)
-
-typedef struct XADataFormat_RawImage_ {
- XAuint32 formatType;
- XAuint32 colorFormat;
- XAuint32 height;
- XAuint32 width;
- XAuint32 stride;
-} XADataFormat_RawImage;
-
-typedef struct XADataLocator_Address_ {
- XAuint32 locatorType;
- void * pAddress;
- XAuint32 length;
-} XADataLocator_Address;
-
-#define XA_IODEVICE_AUDIOINPUT ((XAuint32) 0x00000001)
-#define XA_IODEVICE_LEDARRAY ((XAuint32) 0x00000002)
-#define XA_IODEVICE_VIBRA ((XAuint32) 0x00000003)
-#define XA_IODEVICE_CAMERA ((XAuint32) 0x00000004)
-#define XA_IODEVICE_RADIO ((XAuint32) 0x00000005)
-
-typedef struct XADataLocator_IODevice_ {
- XAuint32 locatorType;
- XAuint32 deviceType;
- XAuint32 deviceID;
- XAObjectItf device;
-} XADataLocator_IODevice;
-
-typedef void * XANativeHandle;
-
-typedef struct XADataLocator_NativeDisplay_{
- XAuint32 locatorType;
- XANativeHandle hWindow;
- XANativeHandle hDisplay;
-} XADataLocator_NativeDisplay;
-
-typedef struct XADataLocator_OutputMix {
- XAuint32 locatorType;
- XAObjectItf outputMix;
-} XADataLocator_OutputMix;
-
-typedef struct XADataLocator_URI_ {
- XAuint32 locatorType;
- XAchar * URI;
-} XADataLocator_URI;
-
-
-/* ENGINE */
-
-#define XA_DEFAULTDEVICEID_AUDIOINPUT ((XAuint32) 0xFFFFFFFF)
-#define XA_DEFAULTDEVICEID_AUDIOOUTPUT ((XAuint32) 0xFFFFFFFE)
-#define XA_DEFAULTDEVICEID_LED ((XAuint32) 0xFFFFFFFD)
-#define XA_DEFAULTDEVICEID_VIBRA ((XAuint32) 0xFFFFFFFC)
-#define XA_DEFAULTDEVICEID_CAMERA ((XAuint32) 0xFFFFFFFB)
-
-#define XA_ENGINEOPTION_THREADSAFE ((XAuint32) 0x00000001)
-#define XA_ENGINEOPTION_LOSSOFCONTROL ((XAuint32) 0x00000002)
-
-#define XA_OBJECTID_ENGINE ((XAuint32) 0x00000001)
-#define XA_OBJECTID_LEDDEVICE ((XAuint32) 0x00000002)
-#define XA_OBJECTID_VIBRADEVICE ((XAuint32) 0x00000003)
-#define XA_OBJECTID_MEDIAPLAYER ((XAuint32) 0x00000004)
-#define XA_OBJECTID_MEDIARECORDER ((XAuint32) 0x00000005)
-#define XA_OBJECTID_RADIODEVICE ((XAuint32) 0x00000006)
-#define XA_OBJECTID_OUTPUTMIX ((XAuint32) 0x00000007)
-#define XA_OBJECTID_METADATAEXTRACTOR ((XAuint32) 0x00000008)
-#define XA_OBJECTID_CAMERADEVICE ((XAuint32) 0x00000009)
-
-#define XA_PROFILES_MEDIA_PLAYER ((XAint16) 0x0001)
-#define XA_PROFILES_MEDIA_PLAYER_RECORDER ((XAint16) 0x0002)
-#define XA_PROFILES_PLUS_MIDI ((XAint16) 0x0004)
-
-typedef struct XAEngineOption_ {
- XAuint32 feature;
- XAuint32 data;
-} XAEngineOption;
-
-XA_API XAresult XAAPIENTRY xaCreateEngine(
- XAObjectItf * pEngine,
- XAuint32 numOptions,
- const XAEngineOption * pEngineOptions,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
-);
-
-XA_API XAresult XAAPIENTRY xaQueryNumSupportedEngineInterfaces(
- XAuint32 * pNumSupportedInterfaces
-);
-
-XA_API XAresult XAAPIENTRY xaQuerySupportedEngineInterfaces(
- XAuint32 index,
- XAInterfaceID * pInterfaceId
-);
-
-typedef struct XALEDDescriptor_ {
- XAuint8 ledCount;
- XAuint8 primaryLED;
- XAuint32 colorMask;
-} XALEDDescriptor;
-
-typedef struct XAVibraDescriptor_ {
- XAboolean supportsFrequency;
- XAboolean supportsIntensity;
- XAmilliHertz minFrequency;
- XAmilliHertz maxFrequency;
-} XAVibraDescriptor;
-
-
-XA_API extern const XAInterfaceID XA_IID_ENGINE;
-
-struct XAEngineItf_;
-typedef const struct XAEngineItf_ * const * XAEngineItf;
-
-struct XAEngineItf_ {
- XAresult (*CreateCameraDevice) (
- XAEngineItf self,
- XAObjectItf * pDevice,
- XAuint32 deviceID,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
- );
- XAresult (*CreateRadioDevice) (
- XAEngineItf self,
- XAObjectItf * pDevice,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
- );
- XAresult (*CreateLEDDevice) (
- XAEngineItf self,
- XAObjectItf * pDevice,
- XAuint32 deviceID,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
- );
- XAresult (*CreateVibraDevice) (
- XAEngineItf self,
- XAObjectItf * pDevice,
- XAuint32 deviceID,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
- );
- XAresult (*CreateMediaPlayer) (
- XAEngineItf self,
- XAObjectItf * pPlayer,
- XADataSource * pDataSrc,
- XADataSource * pBankSrc,
- XADataSink * pAudioSnk,
- XADataSink * pImageVideoSnk,
- XADataSink * pVibra,
- XADataSink * pLEDArray,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
- );
- XAresult (*CreateMediaRecorder) (
- XAEngineItf self,
- XAObjectItf * pRecorder,
- XADataSource * pAudioSrc,
- XADataSource * pImageVideoSrc,
- XADataSink * pDataSnk,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
- );
- XAresult (*CreateOutputMix) (
- XAEngineItf self,
- XAObjectItf * pMix,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
- );
- XAresult (*CreateMetadataExtractor) (
- XAEngineItf self,
- XAObjectItf * pMetadataExtractor,
- XADataSource * pDataSource,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
- );
- XAresult (*CreateExtensionObject) (
- XAEngineItf self,
- XAObjectItf * pObject,
- void * pParameters,
- XAuint32 objectID,
- XAuint32 numInterfaces,
- const XAInterfaceID * pInterfaceIds,
- const XAboolean * pInterfaceRequired
- );
- XAresult (*GetImplementationInfo) (
- XAEngineItf self,
- XAuint32 * pMajor,
- XAuint32 * pMinor,
- XAuint32 * pStep,
- const XAchar * pImplementationText
- );
- XAresult (*QuerySupportedProfiles) (
- XAEngineItf self,
- XAint16 * pProfilesSupported
- );
- XAresult (*QueryNumSupportedInterfaces) (
- XAEngineItf self,
- XAuint32 objectID,
- XAuint32 * pNumSupportedInterfaces
- );
- XAresult (*QuerySupportedInterfaces) (
- XAEngineItf self,
- XAuint32 objectID,
- XAuint32 index,
- XAInterfaceID * pInterfaceId
- );
- XAresult (*QueryNumSupportedExtensions) (
- XAEngineItf self,
- XAuint32 * pNumExtensions
- );
- XAresult (*QuerySupportedExtension) (
- XAEngineItf self,
- XAuint32 index,
- XAchar * pExtensionName,
- XAint16 * pNameLength
- );
- XAresult (*IsExtensionSupported) (
- XAEngineItf self,
- const XAchar * pExtensionName,
- XAboolean * pSupported
- );
- XAresult (*QueryLEDCapabilities) (
- XAEngineItf self,
- XAuint32 *pIndex,
- XAuint32 * pLEDDeviceID,
- XALEDDescriptor * pDescriptor
- );
- XAresult (*QueryVibraCapabilities) (
- XAEngineItf self,
- XAuint32 *pIndex,
- XAuint32 * pVibraDeviceID,
- XAVibraDescriptor * pDescriptor
- );
-};
-
-/* THREAD SYNC */
-
-XA_API extern const XAInterfaceID XA_IID_THREADSYNC;
-
-struct XAThreadSyncItf_;
-typedef const struct XAThreadSyncItf_ * const * XAThreadSyncItf;
-
-struct XAThreadSyncItf_ {
- XAresult (*EnterCriticalSection) (
- XAThreadSyncItf self
- );
- XAresult (*ExitCriticalSection) (
- XAThreadSyncItf self
- );
-};
-
-
-
- /*****************************************************************/
- /* PLAYBACK RELATED INTERFACES, STRUCTS AND DEFINES */
- /*****************************************************************/
-
-/* PLAY */
-
-#define XA_TIME_UNKNOWN ((XAuint32) 0xFFFFFFFF)
-
-#define XA_PLAYEVENT_HEADATEND ((XAuint32) 0x00000001)
-#define XA_PLAYEVENT_HEADATMARKER ((XAuint32) 0x00000002)
-#define XA_PLAYEVENT_HEADATNEWPOS ((XAuint32) 0x00000004)
-#define XA_PLAYEVENT_HEADMOVING ((XAuint32) 0x00000008)
-#define XA_PLAYEVENT_HEADSTALLED ((XAuint32) 0x00000010)
-
-#define XA_PLAYSTATE_STOPPED ((XAuint32) 0x00000001)
-#define XA_PLAYSTATE_PAUSED ((XAuint32) 0x00000002)
-#define XA_PLAYSTATE_PLAYING ((XAuint32) 0x00000003)
-
-#define XA_PREFETCHEVENT_STATUSCHANGE ((XAuint32) 0x00000001)
-#define XA_PREFETCHEVENT_FILLLEVELCHANGE ((XAuint32) 0x00000002)
-
-#define XA_PREFETCHSTATUS_UNDERFLOW ((XAuint32) 0x00000001)
-#define XA_PREFETCHSTATUS_SUFFICIENTDATA ((XAuint32) 0x00000002)
-#define XA_PREFETCHSTATUS_OVERFLOW ((XAuint32) 0x00000003)
-
-#define XA_SEEKMODE_FAST ((XAuint32) 0x0001)
-#define XA_SEEKMODE_ACCURATE ((XAuint32) 0x0002)
-
-XA_API extern const XAInterfaceID XA_IID_PLAY;
-
-struct XAPlayItf_;
-typedef const struct XAPlayItf_ * const * XAPlayItf;
-
-typedef void (XAAPIENTRY * xaPlayCallback) (
- XAPlayItf caller,
- void * pContext,
- XAuint32 event
-);
-
-struct XAPlayItf_ {
- XAresult (*SetPlayState) (
- XAPlayItf self,
- XAuint32 state
- );
- XAresult (*GetPlayState) (
- XAPlayItf self,
- XAuint32 * pState
- );
- XAresult (*GetDuration) (
- XAPlayItf self,
- XAmillisecond * pMsec
- );
- XAresult (*GetPosition) (
- XAPlayItf self,
- XAmillisecond * pMsec
- );
- XAresult (*RegisterCallback) (
- XAPlayItf self,
- xaPlayCallback callback,
- void * pContext
- );
- XAresult (*SetCallbackEventsMask) (
- XAPlayItf self,
- XAuint32 eventFlags
- );
- XAresult (*GetCallbackEventsMask) (
- XAPlayItf self,
- XAuint32 * pEventFlags
- );
- XAresult (*SetMarkerPosition) (
- XAPlayItf self,
- XAmillisecond mSec
- );
- XAresult (*ClearMarkerPosition) (
- XAPlayItf self
- );
- XAresult (*GetMarkerPosition) (
- XAPlayItf self,
- XAmillisecond * pMsec
- );
- XAresult (*SetPositionUpdatePeriod) (
- XAPlayItf self,
- XAmillisecond mSec
- );
- XAresult (*GetPositionUpdatePeriod) (
- XAPlayItf self,
- XAmillisecond * pMsec
- );
-};
-
-/* PLAYBACK RATE */
-
-#define XA_RATEPROP_STAGGEREDVIDEO ((XAuint32) 0x00000001)
-#define XA_RATEPROP_SMOOTHVIDEO ((XAuint32) 0x00000002)
-#define XA_RATEPROP_SILENTAUDIO ((XAuint32) 0x00000100)
-#define XA_RATEPROP_STAGGEREDAUDIO ((XAuint32) 0x00000200)
-#define XA_RATEPROP_NOPITCHCORAUDIO ((XAuint32) 0x00000400)
-#define XA_RATEPROP_PITCHCORAUDIO ((XAuint32) 0x00000800)
-
-XA_API extern const XAInterfaceID XA_IID_PLAYBACKRATE;
-
-struct XAPlaybackRateItf_;
-typedef const struct XAPlaybackRateItf_ * const * XAPlaybackRateItf;
-
-struct XAPlaybackRateItf_ {
- XAresult (*SetRate) (
- XAPlaybackRateItf self,
- XApermille rate
- );
- XAresult (*GetRate) (
- XAPlaybackRateItf self,
- XApermille * pRate
- );
- XAresult (*SetPropertyConstraints) (
- XAPlaybackRateItf self,
- XAuint32 constraints
- );
- XAresult (*GetProperties) (
- XAPlaybackRateItf self,
- XAuint32 * pProperties
- );
- XAresult (*GetCapabilitiesOfRate) (
- XAPlaybackRateItf self,
- XApermille rate,
- XAuint32 * pCapabilities
- );
- XAresult (*GetRateRange) (
- XAPlaybackRateItf self,
- XAuint8 index,
- XApermille * pMinRate,
- XApermille * pMaxRate,
- XApermille * pStepSize,
- XAuint32 * pCapabilities
- );
-};
-
-/* PREFETCH STATUS */
-
-XA_API extern const XAInterfaceID XA_IID_PREFETCHSTATUS;
-
-struct XAPrefetchStatusItf_;
-typedef const struct XAPrefetchStatusItf_
- * const * XAPrefetchStatusItf;
-
-typedef void (XAAPIENTRY * xaPrefetchCallback) (
- XAPrefetchStatusItf caller,
- void * pContext,
- XAuint32 event
-);
-
-struct XAPrefetchStatusItf_ {
- XAresult (*GetPrefetchStatus) (
- XAPrefetchStatusItf self,
- XAuint32 * pStatus
- );
- XAresult (*GetFillLevel) (
- XAPrefetchStatusItf self,
- XApermille * pLevel
- );
- XAresult (*RegisterCallback) (
- XAPrefetchStatusItf self,
- xaPrefetchCallback callback,
- void * pContext
- );
- XAresult (*SetCallbackEventsMask) (
- XAPrefetchStatusItf self,
- XAuint32 eventFlags
- );
- XAresult (*GetCallbackEventsMask) (
- XAPrefetchStatusItf self,
- XAuint32 * pEventFlags
- );
- XAresult (*SetFillUpdatePeriod) (
- XAPrefetchStatusItf self,
- XApermille period
- );
- XAresult (*GetFillUpdatePeriod) (
- XAPrefetchStatusItf self,
- XApermille * pPeriod
- );
-};
-
-/* SEEK */
-
-XA_API extern const XAInterfaceID XA_IID_SEEK;
-
-struct XASeekItf_;
-typedef const struct XASeekItf_ * const * XASeekItf;
-
-struct XASeekItf_ {
- XAresult (*SetPosition) (
- XASeekItf self,
- XAmillisecond pos,
- XAuint32 seekMode
- );
- XAresult (*SetLoop) (
- XASeekItf self,
- XAboolean loopEnable,
- XAmillisecond startPos,
- XAmillisecond endPos
- );
- XAresult (*GetLoop) (
- XASeekItf self,
- XAboolean * pLoopEnabled,
- XAmillisecond * pStartPos,
- XAmillisecond * pEndPos
- );
-};
-
-/* VOLUME */
-
-XA_API extern const XAInterfaceID XA_IID_VOLUME;
-
-struct XAVolumeItf_;
-typedef const struct XAVolumeItf_ * const * XAVolumeItf;
-
-struct XAVolumeItf_ {
- XAresult (*SetVolumeLevel) (
- XAVolumeItf self,
- XAmillibel level
- );
- XAresult (*GetVolumeLevel) (
- XAVolumeItf self,
- XAmillibel * pLevel
- );
- XAresult (*GetMaxVolumeLevel) (
- XAVolumeItf self,
- XAmillibel * pMaxLevel
- );
- XAresult (*SetMute) (
- XAVolumeItf self,
- XAboolean mute
- );
- XAresult (*GetMute) (
- XAVolumeItf self,
- XAboolean * pMute
- );
- XAresult (*EnableStereoPosition) (
- XAVolumeItf self,
- XAboolean enable
- );
- XAresult (*IsEnabledStereoPosition) (
- XAVolumeItf self,
- XAboolean * pEnable
- );
- XAresult (*SetStereoPosition) (
- XAVolumeItf self,
- XApermille stereoPosition
- );
- XAresult (*GetStereoPosition) (
- XAVolumeItf self,
- XApermille * pStereoPosition
- );
-};
-
-/* IMAGE CONTROL */
-
-XA_API extern const XAInterfaceID XA_IID_IMAGECONTROLS;
-
-struct XAImageControlsItf_;
-typedef const struct XAImageControlsItf_ * const * XAImageControlsItf;
-
-struct XAImageControlsItf_ {
- XAresult (*SetBrightness) (
- XAImageControlsItf self,
- XAuint32 brightness
- );
- XAresult (*GetBrightness) (
- XAImageControlsItf self,
- XAuint32 * pBrightness
- );
- XAresult (*SetContrast) (
- XAImageControlsItf self,
- XAint32 contrast
- );
- XAresult (*GetContrast) (
- XAImageControlsItf self,
- XAint32 * pContrast
- );
- XAresult (*SetGamma) (
- XAImageControlsItf self,
- XApermille gamma
- );
- XAresult (*GetGamma) (
- XAImageControlsItf self,
- XApermille * pGamma
- );
- XAresult (*GetSupportedGammaSettings) (
- XAImageControlsItf self,
- XApermille * pMinValue,
- XApermille * pMaxValue,
- XAuint32 * pNumSettings,
- XApermille ** ppSettings
- );
-};
-
-/* IMAGE EFFECT */
-
-#define XA_IMAGEEFFECT_MONOCHROME ((XAuint32) 0x00000001)
-#define XA_IMAGEEFFECT_NEGATIVE ((XAuint32) 0x00000002)
-#define XA_IMAGEEFFECT_SEPIA ((XAuint32) 0x00000003)
-#define XA_IMAGEEFFECT_EMBOSS ((XAuint32) 0x00000004)
-#define XA_IMAGEEFFECT_PAINTBRUSH ((XAuint32) 0x00000005)
-#define XA_IMAGEEFFECT_SOLARIZE ((XAuint32) 0x00000006)
-#define XA_IMAGEEFFECT_CARTOON ((XAuint32) 0x00000007)
-
-XA_API extern const XAInterfaceID XA_IID_IMAGEEFFECTS;
-
-struct XAImageEffectsItf_;
-typedef const struct XAImageEffectsItf_ * const * XAImageEffectsItf;
-
-struct XAImageEffectsItf_ {
- XAresult (*QuerySupportedImageEffects) (
- XAImageEffectsItf self,
- XAuint32 index,
- XAuint32 * pImageEffectId
- );
- XAresult (*EnableImageEffect) (
- XAImageEffectsItf self,
- XAuint32 imageEffectID
- );
- XAresult (*DisableImageEffect) (
- XAImageEffectsItf self,
- XAuint32 imageEffectID
- );
- XAresult (*IsImageEffectEnabled) (
- XAImageEffectsItf self,
- XAuint32 imageEffectID,
- XAboolean * pEnabled
- );
-};
-
-/* VIDEO POST PROCESSING */
-
-#define XA_VIDEOMIRROR_NONE ((XAuint32) 0x00000001)
-#define XA_VIDEOMIRROR_VERTICAL ((XAuint32) 0x00000002)
-#define XA_VIDEOMIRROR_HORIZONTAL ((XAuint32) 0x00000003)
-#define XA_VIDEOMIRROR_BOTH ((XAuint32) 0x00000004)
-
-#define XA_VIDEOSCALE_STRETCH ((XAuint32) 0x00000001)
-#define XA_VIDEOSCALE_FIT ((XAuint32) 0x00000002)
-#define XA_VIDEOSCALE_CROP ((XAuint32) 0x00000003)
-
-#define XA_RENDERINGHINT_NONE ((XAuint32) 0x00000000)
-#define XA_RENDERINGHINT_ANTIALIASING ((XAuint32) 0x00000001)
-
-typedef struct XARectangle_ {
- XAuint32 left;
- XAuint32 top;
- XAuint32 width;
- XAuint32 height;
-} XARectangle;
-
-XA_API extern const XAInterfaceID XA_IID_VIDEOPOSTPROCESSING;
-
-struct XAVideoPostProcessingItf_;
-typedef const struct XAVideoPostProcessingItf_ * const * XAVideoPostProcessingItf;
-
-struct XAVideoPostProcessingItf_ {
- XAresult (*SetRotation) (
- XAVideoPostProcessingItf self,
- XAmillidegree rotation
- );
- XAresult (*IsArbitraryRotationSupported) (
- XAVideoPostProcessingItf self,
- XAboolean *pSupported
- );
- XAresult (*SetScaleOptions) (
- XAVideoPostProcessingItf self,
- XAuint32 scaleOptions,
- XAuint32 backgroundColor,
- XAuint32 renderingHints
- );
- XAresult (*SetSourceRectangle) (
- XAVideoPostProcessingItf self,
- const XARectangle *pSrcRect
- );
- XAresult (*SetDestinationRectangle) (
- XAVideoPostProcessingItf self,
- const XARectangle *pDestRect
- );
- XAresult (*SetMirror) (
- XAVideoPostProcessingItf self,
- XAuint32 mirror
- );
- XAresult (*Commit) (
- XAVideoPostProcessingItf self
- );
-};
-
-
-
- /*****************************************************************/
- /* CAPTURING INTERFACES, STRUCTS AND DEFINES */
- /*****************************************************************/
-
-/* RECORD */
-
-#define XA_RECORDEVENT_HEADATLIMIT ((XAuint32) 0x00000001)
-#define XA_RECORDEVENT_HEADATMARKER ((XAuint32) 0x00000002)
-#define XA_RECORDEVENT_HEADATNEWPOS ((XAuint32) 0x00000004)
-#define XA_RECORDEVENT_HEADMOVING ((XAuint32) 0x00000008)
-#define XA_RECORDEVENT_HEADSTALLED ((XAuint32) 0x00000010)
-#define XA_RECORDEVENT_BUFFER_FULL ((XAuint32) 0x00000020)
-
-#define XA_RECORDSTATE_STOPPED ((XAuint32) 0x00000001)
-#define XA_RECORDSTATE_PAUSED ((XAuint32) 0x00000002)
-#define XA_RECORDSTATE_RECORDING ((XAuint32) 0x00000003)
-
-XA_API extern const XAInterfaceID XA_IID_RECORD;
-
-struct XARecordItf_;
-typedef const struct XARecordItf_ * const * XARecordItf;
-
-typedef void (XAAPIENTRY * xaRecordCallback) (
- XARecordItf caller,
- void * pContext,
- XAuint32 event
-);
-
-struct XARecordItf_ {
- XAresult (*SetRecordState) (
- XARecordItf self,
- XAuint32 state
- );
- XAresult (*GetRecordState) (
- XARecordItf self,
- XAuint32 * pState
- );
- XAresult (*SetDurationLimit) (
- XARecordItf self,
- XAmillisecond msec
- );
- XAresult (*GetPosition) (
- XARecordItf self,
- XAmillisecond * pMsec
- );
- XAresult (*RegisterCallback) (
- XARecordItf self,
- xaRecordCallback callback,
- void * pContext
- );
- XAresult (*SetCallbackEventsMask) (
- XARecordItf self,
- XAuint32 eventFlags
- );
- XAresult (*GetCallbackEventsMask) (
- XARecordItf self,
- XAuint32 * pEventFlags
- );
- XAresult (*SetMarkerPosition) (
- XARecordItf self,
- XAmillisecond mSec
- );
- XAresult (*ClearMarkerPosition) (
- XARecordItf self
- );
- XAresult (*GetMarkerPosition) (
- XARecordItf self,
- XAmillisecond * pMsec
- );
- XAresult (*SetPositionUpdatePeriod) (
- XARecordItf self,
- XAmillisecond mSec
- );
- XAresult (*GetPositionUpdatePeriod) (
- XARecordItf self,
- XAmillisecond * pMsec
- );
-};
-
-/* SNAPSHOT */
-
-XA_API extern const XAInterfaceID XA_IID_SNAPSHOT;
-
-struct XASnapshotItf_;
-typedef const struct XASnapshotItf_ * const * XASnapshotItf;
-
-typedef void (XAAPIENTRY * xaSnapshotInitiatedCallback) (
- XASnapshotItf caller,
- void * context
-);
-
-typedef void (XAAPIENTRY * xaSnapshotTakenCallback) (
- XASnapshotItf caller,
- void * context,
- XAuint32 numberOfPicsTaken,
- const XADataSink * image
-);
-
-struct XASnapshotItf_ {
- XAresult (*InitiateSnapshot) (
- XASnapshotItf self,
- XAuint32 numberOfPictures,
- XAuint32 fps,
- XAboolean freezeViewFinder,
- XADataSink sink,
- xaSnapshotInitiatedCallback initiatedCallback,
- xaSnapshotTakenCallback takenCallback,
- void * pContext
- );
- XAresult (*TakeSnapshot) (
- XASnapshotItf self
- );
- XAresult (*CancelSnapshot) (
- XASnapshotItf self
- );
- XAresult (*ReleaseBuffers) (
- XASnapshotItf self,
- XADataSink * image
- );
- XAresult (*GetMaxPicsPerBurst) (
- XASnapshotItf self,
- XAuint32 * maxNumberOfPictures
- );
- XAresult (*GetBurstFPSRange) (
- XASnapshotItf self,
- XAuint32 * minFPS,
- XAuint32 * maxFPS
- );
- XAresult (*SetShutterFeedback) (
- XASnapshotItf self,
- XAboolean enabled
- );
- XAresult (*GetShutterFeedback) (
- XASnapshotItf self,
- XAboolean * enabled
- );
-};
-
-
-
- /*****************************************************************/
- /* METADATA RELATED INTERFACES, STRUCTS AND DEFINES */
- /*****************************************************************/
-
-/* METADATA (EXTRACTION, INSERTION, TRAVERSAL) */
-
-#define XA_NODE_PARENT ((XAuint32) 0xFFFFFFFF)
-
-#define XA_ROOT_NODE_ID ((XAint32) 0x7FFFFFFF)
-
-#define XA_NODETYPE_UNSPECIFIED ((XAuint32) 0x00000001)
-#define XA_NODETYPE_AUDIO ((XAuint32) 0x00000002)
-#define XA_NODETYPE_VIDEO ((XAuint32) 0x00000003)
-#define XA_NODETYPE_IMAGE ((XAuint32) 0x00000004)
-
-#define XA_CHARACTERENCODING_UNKNOWN ((XAuint32) 0x00000000)
-#define XA_CHARACTERENCODING_BINARY ((XAuint32) 0x00000001)
-#define XA_CHARACTERENCODING_ASCII ((XAuint32) 0x00000002)
-#define XA_CHARACTERENCODING_BIG5 ((XAuint32) 0x00000003)
-#define XA_CHARACTERENCODING_CODEPAGE1252 ((XAuint32) 0x00000004)
-#define XA_CHARACTERENCODING_GB2312 ((XAuint32) 0x00000005)
-#define XA_CHARACTERENCODING_HZGB2312 ((XAuint32) 0x00000006)
-#define XA_CHARACTERENCODING_GB12345 ((XAuint32) 0x00000007)
-#define XA_CHARACTERENCODING_GB18030 ((XAuint32) 0x00000008)
-#define XA_CHARACTERENCODING_GBK ((XAuint32) 0x00000009)
-#define XA_CHARACTERENCODING_IMAPUTF7 ((XAuint32) 0x0000000A)
-#define XA_CHARACTERENCODING_ISO2022JP ((XAuint32) 0x0000000B)
-#define XA_CHARACTERENCODING_ISO2022JP1 ((XAuint32) 0x0000000B)
-#define XA_CHARACTERENCODING_ISO88591 ((XAuint32) 0x0000000C)
-#define XA_CHARACTERENCODING_ISO885910 ((XAuint32) 0x0000000D)
-#define XA_CHARACTERENCODING_ISO885913 ((XAuint32) 0x0000000E)
-#define XA_CHARACTERENCODING_ISO885914 ((XAuint32) 0x0000000F)
-#define XA_CHARACTERENCODING_ISO885915 ((XAuint32) 0x00000010)
-#define XA_CHARACTERENCODING_ISO88592 ((XAuint32) 0x00000011)
-#define XA_CHARACTERENCODING_ISO88593 ((XAuint32) 0x00000012)
-#define XA_CHARACTERENCODING_ISO88594 ((XAuint32) 0x00000013)
-#define XA_CHARACTERENCODING_ISO88595 ((XAuint32) 0x00000014)
-#define XA_CHARACTERENCODING_ISO88596 ((XAuint32) 0x00000015)
-#define XA_CHARACTERENCODING_ISO88597 ((XAuint32) 0x00000016)
-#define XA_CHARACTERENCODING_ISO88598 ((XAuint32) 0x00000017)
-#define XA_CHARACTERENCODING_ISO88599 ((XAuint32) 0x00000018)
-#define XA_CHARACTERENCODING_ISOEUCJP ((XAuint32) 0x00000019)
-#define XA_CHARACTERENCODING_SHIFTJIS ((XAuint32) 0x0000001A)
-#define XA_CHARACTERENCODING_SMS7BIT ((XAuint32) 0x0000001B)
-#define XA_CHARACTERENCODING_UTF7 ((XAuint32) 0x0000001C)
-#define XA_CHARACTERENCODING_UTF8 ((XAuint32) 0x0000001D)
-#define XA_CHARACTERENCODING_JAVACONFORMANTUTF8 ((XAuint32) 0x0000001E)
-#define XA_CHARACTERENCODING_UTF16BE ((XAuint32) 0x0000001F)
-#define XA_CHARACTERENCODING_UTF16LE ((XAuint32) 0x00000020)
-
-#define XA_METADATA_FILTER_KEY ((XAuint8) 0x01)
-#define XA_METADATA_FILTER_LANG ((XAuint8) 0x02)
-#define XA_METADATA_FILTER_ENCODING ((XAuint8) 0x04)
-
-#define XA_METADATATRAVERSALMODE_ALL ((XAuint32) 0x00000001)
-#define XA_METADATATRAVERSALMODE_NODE ((XAuint32) 0x00000002)
-
-#ifndef _KHRONOS_KEYS_
-#define _KHRONOS_KEYS_
-#define KHRONOS_TITLE "KhronosTitle"
-#define KHRONOS_ALBUM "KhronosAlbum"
-#define KHRONOS_TRACK_NUMBER "KhronosTrackNumber"
-#define KHRONOS_ARTIST "KhronosArtist"
-#define KHRONOS_GENRE "KhronosGenre"
-#define KHRONOS_YEAR "KhronosYear"
-#define KHRONOS_COMMENT "KhronosComment"
-#define KHRONOS_ARTIST_URL "KhronosArtistURL"
-#define KHRONOS_CONTENT_URL "KhronosContentURL"
-#define KHRONOS_RATING "KhronosRating"
-#define KHRONOS_ALBUM_ART "KhronosAlbumArt"
-#define KHRONOS_COPYRIGHT "KhronosCopyright"
-#endif /* _KHRONOS_KEYS_ */
-
-
-typedef struct XAMetadataInfo_ {
- XAuint32 size;
- XAuint32 encoding;
- const XAchar langCountry[16];
- XAuint8 data[1];
-} XAMetadataInfo;
-
-XA_API extern const XAInterfaceID XA_IID_METADATAEXTRACTION;
-
-struct XAMetadataExtractionItf_;
-typedef const struct XAMetadataExtractionItf_
- * const * XAMetadataExtractionItf;
-
-struct XAMetadataExtractionItf_ {
- XAresult (*GetItemCount) (
- XAMetadataExtractionItf self,
- XAuint32 * pItemCount
- );
- XAresult (*GetKeySize) (
- XAMetadataExtractionItf self,
- XAuint32 index,
- XAuint32 * pKeySize
- );
- XAresult (*GetKey) (
- XAMetadataExtractionItf self,
- XAuint32 index,
- XAuint32 keySize,
- XAMetadataInfo * pKey
- );
- XAresult (*GetValueSize) (
- XAMetadataExtractionItf self,
- XAuint32 index,
- XAuint32 * pValueSize
- );
- XAresult (*GetValue) (
- XAMetadataExtractionItf self,
- XAuint32 index,
- XAuint32 valueSize,
- XAMetadataInfo * pValue
- );
- XAresult (*AddKeyFilter) (
- XAMetadataExtractionItf self,
- XAuint32 keySize,
- const void * pKey,
- XAuint32 keyEncoding,
- const XAchar * pValueLangCountry,
- XAuint32 valueEncoding,
- XAuint8 filterMask
- );
- XAresult (*ClearKeyFilter) (
- XAMetadataExtractionItf self
- );
-};
-
-
-XA_API extern const XAInterfaceID XA_IID_METADATAINSERTION;
-
-struct XAMetadataInsertionItf_;
-typedef const struct XAMetadataInsertionItf_
- * const * XAMetadataInsertionItf;
-
-typedef void (XAAPIENTRY * xaMetadataInsertionCallback) (
- XAMetadataInsertionItf caller,
- void * pContext,
- XAMetadataInfo * pKey,
- XAMetadataInfo * pValue,
- XAint32 nodeID,
- XAboolean result
-);
-
-struct XAMetadataInsertionItf_ {
- XAresult (*CreateChildNode) (
- XAMetadataInsertionItf self,
- XAint32 parentNodeID,
- XAuint32 type,
- XAchar * mimeType,
- XAint32 * pChildNodeID
- );
- XAresult (*GetSupportedKeysCount) (
- XAMetadataInsertionItf self,
- XAint32 nodeID,
- XAboolean * pFreeKeys,
- XAuint32 * pKeyCount,
- XAuint32 * pEncodingCount
- );
- XAresult (*GetKeySize) (
- XAMetadataInsertionItf self,
- XAint32 nodeID,
- XAuint32 keyIndex,
- XAuint32 * pKeySize
- );
- XAresult (*GetKey) (
- XAMetadataInsertionItf self,
- XAint32 nodeID,
- XAuint32 keyIndex,
- XAuint32 keySize,
- XAMetadataInfo * pKey
- );
- XAresult (*GetFreeKeysEncoding) (
- XAMetadataInsertionItf self,
- XAint32 nodeID,
- XAuint32 encodingIndex,
- XAuint32 * pEncoding
- );
- XAresult (*InsertMetadataItem) (
- XAMetadataInsertionItf self,
- XAint32 nodeID,
- XAMetadataInfo * pKey,
- XAMetadataInfo * pValue,
- XAboolean overwrite
- );
- XAresult (*RegisterCallback) (
- XAMetadataInsertionItf self,
- xaMetadataInsertionCallback callback,
- void * pContext
- );
-};
-
-
-XA_API extern const XAInterfaceID XA_IID_METADATATRAVERSAL;
-
-struct XAMetadataTraversalItf_;
-typedef const struct XAMetadataTraversalItf_
- * const * XAMetadataTraversalItf;
-
-struct XAMetadataTraversalItf_ {
- XAresult (*SetMode) (
- XAMetadataTraversalItf self,
- XAuint32 mode
- );
- XAresult (*GetChildCount) (
- XAMetadataTraversalItf self,
- XAuint32 * pCount
- );
- XAresult (*GetChildMIMETypeSize) (
- XAMetadataTraversalItf self,
- XAuint32 index,
- XAuint32 * pSize
- );
- XAresult (*GetChildInfo) (
- XAMetadataTraversalItf self,
- XAuint32 index,
- XAint32 * pNodeID,
- XAuint32 * pType,
- XAuint32 size,
- XAchar * pMimeType
- );
- XAresult (*SetActiveNode) (
- XAMetadataTraversalItf self,
- XAuint32 index
- );
-};
-
-/* DYNAMIC SOURCE */
-
-XA_API extern const XAInterfaceID XA_IID_DYNAMICSOURCE;
-
-struct XADynamicSourceItf_;
-typedef const struct XADynamicSourceItf_ * const * XADynamicSourceItf;
-
-struct XADynamicSourceItf_ {
- XAresult (*SetSource) (
- XADynamicSourceItf self,
- XADataSource * pDataSource
- );
-};
-
-
-
- /*****************************************************************/
- /* I/O DEVICES RELATED INTERFACES, STRUCTS AND DEFINES */
- /*****************************************************************/
-
-/* CAMERA AND CAMERA CAPABILITIES */
-
-#define XA_CAMERA_APERTUREMODE_MANUAL ((XAuint32) 0x00000001)
-#define XA_CAMERA_APERTUREMODE_AUTO ((XAuint32) 0x00000002)
-
-#define XA_CAMERA_AUTOEXPOSURESTATUS_SUCCESS ((XAuint32) 0x00000001)
-#define XA_CAMERA_AUTOEXPOSURESTATUS_UNDEREXPOSURE ((XAuint32) 0x00000002)
-#define XA_CAMERA_AUTOEXPOSURESTATUS_OVEREXPOSURE ((XAuint32) 0x00000003)
-
-#define XA_CAMERACBEVENT_ROTATION ((XAuint32) 0x00000001)
-#define XA_CAMERACBEVENT_FLASHREADY ((XAuint32) 0x00000002)
-#define XA_CAMERACBEVENT_FOCUSSTATUS ((XAuint32) 0x00000003)
-#define XA_CAMERACBEVENT_EXPOSURESTATUS ((XAuint32) 0x00000004)
-#define XA_CAMERACBEVENT_WHITEBALANCELOCKED ((XAuint32) 0x00000005)
-#define XA_CAMERACBEVENT_ZOOMSTATUS ((XAuint32) 0x00000006)
-
-#define XA_CAMERACAP_FLASH ((XAuint32) 0x00000001)
-#define XA_CAMERACAP_AUTOFOCUS ((XAuint32) 0x00000002)
-#define XA_CAMERACAP_CONTINUOUSAUTOFOCUS ((XAuint32) 0x00000004)
-#define XA_CAMERACAP_MANUALFOCUS ((XAuint32) 0x00000008)
-#define XA_CAMERACAP_AUTOEXPOSURE ((XAuint32) 0x00000010)
-#define XA_CAMERACAP_MANUALEXPOSURE ((XAuint32) 0x00000020)
-#define XA_CAMERACAP_AUTOISOSENSITIVITY ((XAuint32) 0x00000040)
-#define XA_CAMERACAP_MANUALISOSENSITIVITY ((XAuint32) 0x00000080)
-#define XA_CAMERACAP_AUTOAPERTURE ((XAuint32) 0x00000100)
-#define XA_CAMERACAP_MANUALAPERTURE ((XAuint32) 0x00000200)
-#define XA_CAMERACAP_AUTOSHUTTERSPEED ((XAuint32) 0x00000400)
-#define XA_CAMERACAP_MANUALSHUTTERSPEED ((XAuint32) 0x00000800)
-#define XA_CAMERACAP_AUTOWHITEBALANCE ((XAuint32) 0x00001000)
-#define XA_CAMERACAP_MANUALWHITEBALANCE ((XAuint32) 0x00002000)
-#define XA_CAMERACAP_OPTICALZOOM ((XAuint32) 0x00004000)
-#define XA_CAMERACAP_DIGITALZOOM ((XAuint32) 0x00008000)
-#define XA_CAMERACAP_METERING ((XAuint32) 0x00010000)
-#define XA_CAMERACAP_BRIGHTNESS ((XAuint32) 0x00020000)
-#define XA_CAMERACAP_CONTRAST ((XAuint32) 0x00040000)
-#define XA_CAMERACAP_GAMMA ((XAuint32) 0x00080000)
-
-
-#define XA_CAMERA_EXPOSUREMODE_MANUAL ((XAuint32) 0x00000001)
-#define XA_CAMERA_EXPOSUREMODE_AUTO ((XAuint32) 0x00000002)
-#define XA_CAMERA_EXPOSUREMODE_NIGHT ((XAuint32) 0x00000004)
-#define XA_CAMERA_EXPOSUREMODE_BACKLIGHT ((XAuint32) 0x00000008)
-#define XA_CAMERA_EXPOSUREMODE_SPOTLIGHT ((XAuint32) 0x00000010)
-#define XA_CAMERA_EXPOSUREMODE_SPORTS ((XAuint32) 0x00000020)
-#define XA_CAMERA_EXPOSUREMODE_SNOW ((XAuint32) 0x00000040)
-#define XA_CAMERA_EXPOSUREMODE_BEACH ((XAuint32) 0x00000080)
-#define XA_CAMERA_EXPOSUREMODE_LARGEAPERTURE ((XAuint32) 0x00000100)
-#define XA_CAMERA_EXPOSUREMODE_SMALLAPERTURE ((XAuint32) 0x00000200)
-#define XA_CAMERA_EXPOSUREMODE_PORTRAIT ((XAuint32) 0x0000400)
-#define XA_CAMERA_EXPOSUREMODE_NIGHTPORTRAIT ((XAuint32) 0x00000800)
-
-#define XA_CAMERA_FLASHMODE_OFF ((XAuint32) 0x00000001)
-#define XA_CAMERA_FLASHMODE_ON ((XAuint32) 0x00000002)
-#define XA_CAMERA_FLASHMODE_AUTO ((XAuint32) 0x00000004)
-#define XA_CAMERA_FLASHMODE_REDEYEREDUCTION ((XAuint32) 0x00000008)
-#define XA_CAMERA_FLASHMODE_REDEYEREDUCTION_AUTO ((XAuint32) 0x00000010)
-#define XA_CAMERA_FLASHMODE_FILLIN ((XAuint32) 0x00000020)
-#define XA_CAMERA_FLASHMODE_TORCH ((XAuint32) 0x00000040)
-
-#define XA_CAMERA_FOCUSMODE_MANUAL ((XAuint32) 0x00000001)
-#define XA_CAMERA_FOCUSMODE_AUTO ((XAuint32) 0x00000002)
-#define XA_CAMERA_FOCUSMODE_CENTROID ((XAuint32) 0x00000004)
-#define XA_CAMERA_FOCUSMODE_CONTINUOUS_AUTO ((XAuint32) 0x00000008)
-#define XA_CAMERA_FOCUSMODE_CONTINUOUS_CENTROID ((XAuint32) 0x00000010)
-
-#define XA_CAMERA_FOCUSMODESTATUS_OFF ((XAuint32) 0x00000001)
-#define XA_CAMERA_FOCUSMODESTATUS_REQUEST ((XAuint32) 0x00000002)
-#define XA_CAMERA_FOCUSMODESTATUS_REACHED ((XAuint32) 0x00000003)
-#define XA_CAMERA_FOCUSMODESTATUS_UNABLETOREACH ((XAuint32) 0x00000004)
-#define XA_CAMERA_FOCUSMODESTATUS_LOST ((XAuint32) 0x00000005)
-
-#define XA_CAMERA_ISOSENSITIVITYMODE_MANUAL ((XAuint32) 0x00000001)
-#define XA_CAMERA_ISOSENSITIVITYMODE_AUTO ((XAuint32) 0x00000002)
-
-#define XA_CAMERA_LOCK_AUTOFOCUS ((XAuint32) 0x00000001)
-#define XA_CAMERA_LOCK_AUTOEXPOSURE ((XAuint32) 0x00000002)
-#define XA_CAMERA_LOCK_AUTOWHITEBALANCE ((XAuint32) 0x00000004)
-
-#define XA_CAMERA_METERINGMODE_AVERAGE ((XAuint32) 0x00000001)
-#define XA_CAMERA_METERINGMODE_SPOT ((XAuint32) 0x00000002)
-#define XA_CAMERA_METERINGMODE_MATRIX ((XAuint32) 0x00000004)
-
-#define XA_CAMERA_SHUTTERSPEEDMODE_MANUAL ((XAuint32) 0x00000001)
-#define XA_CAMERA_SHUTTERSPEEDMODE_AUTO ((XAuint32) 0x00000002)
-
-#define XA_CAMERA_WHITEBALANCEMODE_MANUAL ((XAuint32) 0x00000001)
-#define XA_CAMERA_WHITEBALANCEMODE_AUTO ((XAuint32) 0x00000002)
-#define XA_CAMERA_WHITEBALANCEMODE_SUNLIGHT ((XAuint32) 0x00000004)
-#define XA_CAMERA_WHITEBALANCEMODE_CLOUDY ((XAuint32) 0x00000008)
-#define XA_CAMERA_WHITEBALANCEMODE_SHADE ((XAuint32) 0x00000010)
-#define XA_CAMERA_WHITEBALANCEMODE_TUNGSTEN ((XAuint32) 0x00000020)
-#define XA_CAMERA_WHITEBALANCEMODE_FLUORESCENT ((XAuint32) 0x00000040)
-#define XA_CAMERA_WHITEBALANCEMODE_INCANDESCENT ((XAuint32) 0x00000080)
-#define XA_CAMERA_WHITEBALANCEMODE_FLASH ((XAuint32) 0x00000100)
-#define XA_CAMERA_WHITEBALANCEMODE_SUNSET ((XAuint32) 0x00000200)
-
-#define XA_CAMERA_ZOOM_SLOW ((XAuint32) 50)
-#define XA_CAMERA_ZOOM_NORMAL ((XAuint32) 100)
-#define XA_CAMERA_ZOOM_FAST ((XAuint32) 200)
-#define XA_CAMERA_ZOOM_FASTEST ((XAuint32) 0xFFFFFFFF)
-
-#define XA_FOCUSPOINTS_ONE ((XAuint32) 0x00000001)
-#define XA_FOCUSPOINTS_THREE_3X1 ((XAuint32) 0x00000002)
-#define XA_FOCUSPOINTS_FIVE_CROSS ((XAuint32) 0x00000003)
-#define XA_FOCUSPOINTS_SEVEN_CROSS ((XAuint32) 0x00000004)
-#define XA_FOCUSPOINTS_NINE_SQUARE ((XAuint32) 0x00000005)
-#define XA_FOCUSPOINTS_ELEVEN_CROSS ((XAuint32) 0x00000006)
-#define XA_FOCUSPOINTS_TWELVE_3X4 ((XAuint32) 0x00000007)
-#define XA_FOCUSPOINTS_TWELVE_4X3 ((XAuint32) 0x00000008)
-#define XA_FOCUSPOINTS_SIXTEEN_SQUARE ((XAuint32) 0x00000009)
-#define XA_FOCUSPOINTS_CUSTOM ((XAuint32) 0x0000000A)
-
-typedef struct XAFocusPointPosition_ {
- XAuint32 left;
- XAuint32 top;
- XAuint32 width;
- XAuint32 height;
-} XAFocusPointPosition;
-
-#define XA_ORIENTATION_UNKNOWN ((XAuint32) 0x00000001)
-#define XA_ORIENTATION_OUTWARDS ((XAuint32) 0x00000002)
-#define XA_ORIENTATION_INWARDS ((XAuint32) 0x00000003)
-
-typedef struct XACameraDescriptor_ {
- XAchar * name;
- XAuint32 maxWidth;
- XAuint32 maxHeight;
- XAuint32 orientation;
- XAuint32 featuresSupported;
- XAuint32 exposureModesSupported;
- XAuint32 flashModesSupported;
- XAuint32 focusModesSupported;
- XAuint32 meteringModesSupported;
- XAuint32 whiteBalanceModesSupported;
-} XACameraDescriptor;
-
-XA_API extern const XAInterfaceID XA_IID_CAMERACAPABILITIES;
-
-struct XACameraCapabilitiesItf_;
-typedef const struct XACameraCapabilitiesItf_
- * const * XACameraCapabilitiesItf;
-
-struct XACameraCapabilitiesItf_ {
- XAresult (*GetCameraCapabilities) (
- XACameraCapabilitiesItf self,
- XAuint32 *pIndex,
- XAuint32 * pCameraDeviceID,
- XACameraDescriptor * pDescriptor
- );
- XAresult (*QueryFocusRegionPatterns) (
- XACameraCapabilitiesItf self,
- XAuint32 cameraDeviceID,
- XAuint32 * pPatternID,
- XAuint32 * pFocusPattern,
- XAuint32 * pCustomPoints1,
- XAuint32 * pCustomPoints2
- );
- XAresult (*GetSupportedAutoLocks) (
- XACameraCapabilitiesItf self,
- XAuint32 cameraDeviceID,
- XAuint32 * pNumCombinations,
- XAuint32 ** ppLocks
- );
- XAresult (*GetSupportedFocusManualSettings) (
- XACameraCapabilitiesItf self,
- XAuint32 cameraDeviceID,
- XAboolean macroEnabled,
- XAmillimeter * pMinValue,
- XAmillimeter * pMaxValue,
- XAuint32 * pNumSettings,
- XAmillimeter ** ppSettings
- );
- XAresult (*GetSupportedISOSensitivitySettings) (
- XACameraCapabilitiesItf self,
- XAuint32 cameraDeviceID,
- XAuint32 * pMinValue,
- XAuint32 * pMaxValue,
- XAuint32 * pNumSettings,
- XAuint32 ** ppSettings
- );
- XAresult (*GetSupportedApertureManualSettings) (
- XACameraCapabilitiesItf self,
- XAuint32 cameraDeviceID,
- XAuint32 * pMinValue,
- XAuint32 * pMaxValue,
- XAuint32 * pNumSettings,
- XAuint32 ** ppSettings
- );
- XAresult (*GetSupportedShutterSpeedManualSettings) (
- XACameraCapabilitiesItf self,
- XAuint32 cameraDeviceID,
- XAmicrosecond * pMinValue,
- XAmicrosecond * pMaxValue,
- XAuint32 * pNumSettings,
- XAmicrosecond ** ppSettings
- );
- XAresult (*GetSupportedWhiteBalanceManualSettings) (
- XACameraCapabilitiesItf self,
- XAuint32 cameraDeviceID,
- XAuint32 * pMinValue,
- XAuint32 * pMaxValue,
- XAuint32 * pNumSettings,
- XAuint32 ** ppSettings
- );
- XAresult (*GetSupportedZoomSettings) (
- XACameraCapabilitiesItf self,
- XAuint32 cameraDeviceID,
- XAboolean digitalEnabled,
- XAboolean macroEnabled,
- XApermille * pMaxValue,
- XAuint32 * pNumSettings,
- XApermille ** ppSettings,
- XAboolean * pSpeedSupported
-
- );
-};
-
-XA_API extern const XAInterfaceID XA_IID_CAMERA;
-
-struct XACameraItf_;
-typedef const struct XACameraItf_ * const * XACameraItf;
-
-typedef void (XAAPIENTRY * xaCameraCallback) (
- XACameraItf caller,
- void * pContext,
- XAuint32 eventId,
- XAuint32 eventData
-);
-
-struct XACameraItf_ {
- XAresult (*RegisterCallback) (
- XACameraItf self,
- xaCameraCallback callback,
- void * pContext
- );
- XAresult (*SetFlashMode) (
- XACameraItf self,
- XAuint32 flashMode
- );
- XAresult (*GetFlashMode) (
- XACameraItf self,
- XAuint32 * pFlashMode
- );
- XAresult (*IsFlashReady) (
- XACameraItf self,
- XAboolean * pReady
- );
- XAresult (*SetFocusMode) (
- XACameraItf self,
- XAuint32 focusMode,
- XAmillimeter manualSetting,
- XAboolean macroEnabled
- );
- XAresult (*GetFocusMode) (
- XACameraItf self,
- XAuint32 * pFocusMode,
- XAmillimeter * pManualSetting,
- XAboolean * pMacroEnabled
- );
- XAresult (*SetFocusRegionPattern) (
- XACameraItf self,
- XAuint32 focusPattern,
- XAuint32 activePoints1,
- XAuint32 activePoints2
- );
- XAresult (*GetFocusRegionPattern) (
- XACameraItf self,
- XAuint32 * pFocusPattern,
- XAuint32 * pActivePoints1,
- XAuint32 * pActivePoints2
- );
- XAresult (*GetFocusRegionPositions) (
- XACameraItf self,
- XAuint32 * pNumPositionEntries,
- XAFocusPointPosition * pFocusPosition
- );
- XAresult (*GetFocusModeStatus) (
- XACameraItf self,
- XAuint32 * pFocusStatus,
- XAuint32 * pRegionStatus1,
- XAuint32 * pRegionStatus2
- );
- XAresult (*SetMeteringMode) (
- XACameraItf self,
- XAuint32 meteringMode
- );
- XAresult (*GetMeteringMode) (
- XACameraItf self,
- XAuint32 * pMeteringMode
- );
- XAresult (*SetExposureMode) (
- XACameraItf self,
- XAuint32 exposure,
- XAuint32 compensation
- );
- XAresult (*GetExposureMode) (
- XACameraItf self,
- XAuint32 * pExposure,
- XAuint32 * pCompensation
- );
- XAresult (*SetISOSensitivity) (
- XACameraItf self,
- XAuint32 isoSensitivity,
- XAuint32 manualSetting
- );
- XAresult (*GetISOSensitivity) (
- XACameraItf self,
- XAuint32 * pIsoSensitivity,
- XAuint32 * pManualSetting
- );
- XAresult (*SetAperture) (
- XACameraItf self,
- XAuint32 aperture,
- XAuint32 manualSetting
- );
- XAresult (*GetAperture) (
- XACameraItf self,
- XAuint32 * pAperture,
- XAuint32 * pManualSetting
- );
- XAresult (*SetShutterSpeed) (
- XACameraItf self,
- XAuint32 shutterSpeed,
- XAmicrosecond manualSetting
- );
- XAresult (*GetShutterSpeed) (
- XACameraItf self,
- XAuint32 * pShutterSpeed,
- XAmicrosecond * pManualSetting
- );
- XAresult (*SetWhiteBalance) (
- XACameraItf self,
- XAuint32 whiteBalance,
- XAuint32 manualSetting
- );
- XAresult (*GetWhiteBalance) (
- XACameraItf self,
- XAuint32 * pWhiteBalance,
- XAuint32 * pManualSetting
- );
- XAresult (*SetAutoLocks) (
- XACameraItf self,
- XAuint32 locks
- );
- XAresult (*GetAutoLocks) (
- XACameraItf self,
- XAuint32 * locks
- );
- XAresult (*SetZoom) (
- XACameraItf self,
- XApermille zoom,
- XAboolean digitalEnabled,
- XAuint32 speed,
- XAboolean async
- );
- XAresult (*GetZoom) (
- XACameraItf self,
- XApermille * pZoom,
- XAboolean * pDigital
- );
-};
-
-/* AUDIO I/O DEVICE CAPABILITIES */
-
-#define XA_DEVCONNECTION_INTEGRATED ((XAint16) 0x0001)
-#define XA_DEVCONNECTION_ATTACHED_WIRED ((XAint16) 0x0100)
-#define XA_DEVCONNECTION_ATTACHED_WIRELESS ((XAint16) 0x0200)
-#define XA_DEVCONNECTION_NETWORK ((XAint16) 0x0400)
-
-#define XA_DEVLOCATION_HANDSET ((XAint16) 0x0001)
-#define XA_DEVLOCATION_HEADSET ((XAint16) 0x0002)
-#define XA_DEVLOCATION_CARKIT ((XAint16) 0x0003)
-#define XA_DEVLOCATION_DOCK ((XAint16) 0x0004)
-#define XA_DEVLOCATION_REMOTE ((XAint16) 0x0005)
-
-#define XA_DEVSCOPE_UNKNOWN ((XAint16) 0x0001)
-#define XA_DEVSCOPE_ENVIRONMENT ((XAint16) 0x0002)
-#define XA_DEVSCOPE_USER ((XAint16) 0x0003)
-
-typedef struct XAAudioInputDescriptor_ {
- XAchar * deviceName;
- XAint16 deviceConnection;
- XAint16 deviceScope;
- XAint16 deviceLocation;
- XAboolean isForTelephony;
- XAmilliHertz minSampleRate;
- XAmilliHertz maxSampleRate;
- XAboolean isFreqRangeContinuous;
- XAmilliHertz * samplingRatesSupported;
- XAint16 numOfSamplingRatesSupported;
- XAint16 maxChannels;
-} XAAudioInputDescriptor;
-
-typedef struct XAAudioOutputDescriptor_ {
- XAchar *pDeviceName;
- XAint16 deviceConnection;
- XAint16 deviceScope;
- XAint16 deviceLocation;
- XAboolean isForTelephony;
- XAmilliHertz minSampleRate;
- XAmilliHertz maxSampleRate;
- XAboolean isFreqRangeContinuous;
- XAmilliHertz *samplingRatesSupported;
- XAint16 numOfSamplingRatesSupported;
- XAint16 maxChannels;
-} XAAudioOutputDescriptor;
-
-XA_API extern const XAInterfaceID XA_IID_AUDIOIODEVICECAPABILITIES;
-
-struct XAAudioIODeviceCapabilitiesItf_;
-typedef const struct XAAudioIODeviceCapabilitiesItf_
- * const * XAAudioIODeviceCapabilitiesItf;
-
-typedef void (XAAPIENTRY * xaAvailableAudioInputsChangedCallback) (
- XAAudioIODeviceCapabilitiesItf caller,
- void * pContext,
- XAuint32 deviceID,
- XAint32 numInputs,
- XAboolean isNew
-);
-
-typedef void (XAAPIENTRY * xaAvailableAudioOutputsChangedCallback) (
- XAAudioIODeviceCapabilitiesItf caller,
- void * pContext,
- XAuint32 deviceID,
- XAint32 numOutputs,
- XAboolean isNew
-);
-
-typedef void (XAAPIENTRY * xaDefaultDeviceIDMapChangedCallback) (
- XAAudioIODeviceCapabilitiesItf caller,
- void * pContext,
- XAboolean isOutput,
- XAint32 numDevices
-);
-
-struct XAAudioIODeviceCapabilitiesItf_ {
- XAresult (*GetAvailableAudioInputs) (
- XAAudioIODeviceCapabilitiesItf self,
- XAint32 * pNumInputs,
- XAuint32 * pInputDeviceIDs
- );
- XAresult (*QueryAudioInputCapabilities) (
- XAAudioIODeviceCapabilitiesItf self,
- XAuint32 deviceID,
- XAAudioInputDescriptor * pDescriptor
- );
- XAresult (*RegisterAvailableAudioInputsChangedCallback) (
- XAAudioIODeviceCapabilitiesItf self,
- xaAvailableAudioInputsChangedCallback callback,
- void * pContext
- );
- XAresult (*GetAvailableAudioOutputs) (
- XAAudioIODeviceCapabilitiesItf self,
- XAint32 * pNumOutputs,
- XAuint32 * pOutputDeviceIDs
- );
- XAresult (*QueryAudioOutputCapabilities) (
- XAAudioIODeviceCapabilitiesItf self,
- XAuint32 deviceID,
- XAAudioOutputDescriptor * pDescriptor
- );
- XAresult (*RegisterAvailableAudioOutputsChangedCallback) (
- XAAudioIODeviceCapabilitiesItf self,
- xaAvailableAudioOutputsChangedCallback callback,
- void * pContext
- );
- XAresult (*RegisterDefaultDeviceIDMapChangedCallback) (
- XAAudioIODeviceCapabilitiesItf self,
- xaDefaultDeviceIDMapChangedCallback callback,
- void * pContext
- );
- XAresult (*GetAssociatedAudioInputs) (
- XAAudioIODeviceCapabilitiesItf self,
- XAuint32 deviceID,
- XAint32 * pNumAudioInputs,
- XAuint32 * pAudioInputDeviceIDs
- );
- XAresult (*GetAssociatedAudioOutputs) (
- XAAudioIODeviceCapabilitiesItf self,
- XAuint32 deviceID,
- XAint32 * pNumAudioOutputs,
- XAuint32 * pAudioOutputDeviceIDs
- );
- XAresult (*GetDefaultAudioDevices) (
- XAAudioIODeviceCapabilitiesItf self,
- XAuint32 defaultDeviceID,
- XAint32 *pNumAudioDevices,
- XAuint32 *pAudioDeviceIDs
- );
- XAresult (*QuerySampleFormatsSupported) (
- XAAudioIODeviceCapabilitiesItf self,
- XAuint32 deviceID,
- XAmilliHertz samplingRate,
- XAint32 *pSampleFormats,
- XAint32 *pNumOfSampleFormats
- );
-};
-
-/* DEVICE VOLUME */
-
-XA_API extern const XAInterfaceID XA_IID_DEVICEVOLUME;
-
-struct XADeviceVolumeItf_;
-typedef const struct XADeviceVolumeItf_ * const * XADeviceVolumeItf;
-
-struct XADeviceVolumeItf_ {
- XAresult (*GetVolumeScale) (
- XADeviceVolumeItf self,
- XAuint32 deviceID,
- XAint32 * pMinValue,
- XAint32 * pMaxValue,
- XAboolean * pIsMillibelScale
- );
- XAresult (*SetVolume) (
- XADeviceVolumeItf self,
- XAuint32 deviceID,
- XAint32 volume
- );
- XAresult (*GetVolume) (
- XADeviceVolumeItf self,
- XAuint32 deviceID,
- XAint32 * pVolume
- );
-};
-
-/* EQUALIZER */
-
-#define XA_EQUALIZER_UNDEFINED ((XAuint16) 0xFFFF)
-
-XA_API extern const XAInterfaceID XA_IID_EQUALIZER;
-
-struct XAEqualizerItf_;
-typedef const struct XAEqualizerItf_ * const * XAEqualizerItf;
-
-struct XAEqualizerItf_ {
- XAresult (*SetEnabled) (
- XAEqualizerItf self,
- XAboolean enabled
- );
- XAresult (*IsEnabled) (
- XAEqualizerItf self,
- XAboolean * pEnabled
- );
- XAresult (*GetNumberOfBands) (
- XAEqualizerItf self,
- XAuint16 * pNumBands
- );
- XAresult (*GetBandLevelRange) (
- XAEqualizerItf self,
- XAmillibel * pMin,
- XAmillibel * pMax
- );
- XAresult (*SetBandLevel) (
- XAEqualizerItf self,
- XAuint16 band,
- XAmillibel level
- );
- XAresult (*GetBandLevel) (
- XAEqualizerItf self,
- XAuint16 band,
- XAmillibel * pLevel
- );
- XAresult (*GetCenterFreq) (
- XAEqualizerItf self,
- XAuint16 band,
- XAmilliHertz * pCenter
- );
- XAresult (*GetBandFreqRange) (
- XAEqualizerItf self,
- XAuint16 band,
- XAmilliHertz * pMin,
- XAmilliHertz * pMax
- );
- XAresult (*GetBand) (
- XAEqualizerItf self,
- XAmilliHertz frequency,
- XAuint16 * pBand
- );
- XAresult (*GetCurrentPreset) (
- XAEqualizerItf self,
- XAuint16 * pPreset
- );
- XAresult (*UsePreset) (
- XAEqualizerItf self,
- XAuint16 index
- );
- XAresult (*GetNumberOfPresets) (
- XAEqualizerItf self,
- XAuint16 * pNumPresets
- );
- XAresult (*GetPresetName) (
- XAEqualizerItf self,
- XAuint16 index,
- const XAchar ** ppName
- );
-};
-
-/* OUTPUT MIX */
-
-XA_API extern const XAInterfaceID XA_IID_OUTPUTMIX;
-
-struct XAOutputMixItf_;
-typedef const struct XAOutputMixItf_ * const * XAOutputMixItf;
-
-typedef void (XAAPIENTRY * xaMixDeviceChangeCallback) (
- XAOutputMixItf caller,
- void * pContext
-);
-
-struct XAOutputMixItf_ {
- XAresult (*GetDestinationOutputDeviceIDs) (
- XAOutputMixItf self,
- XAint32 * pNumDevices,
- XAuint32 * pDeviceIDs
- );
- XAresult (*RegisterDeviceChangeCallback) (
- XAOutputMixItf self,
- xaMixDeviceChangeCallback callback,
- void * pContext
- );
- XAresult (*ReRoute) (
- XAOutputMixItf self,
- XAint32 numOutputDevices,
- XAuint32 * pOutputDeviceIDs
- );
-};
-
-/* RADIO */
-
-#define XA_FREQRANGE_FMEUROAMERICA ((XAuint8) 0x01)
-#define XA_FREQRANGE_FMJAPAN ((XAuint8) 0x02)
-#define XA_FREQRANGE_AMLW ((XAuint8) 0x03)
-#define XA_FREQRANGE_AMMW ((XAuint8) 0x04)
-#define XA_FREQRANGE_AMSW ((XAuint8) 0x05)
-
-#define XA_RADIO_EVENT_ANTENNA_STATUS_CHANGED ((XAuint32) 0x00000001)
-#define XA_RADIO_EVENT_FREQUENCY_CHANGED ((XAuint32) 0x00000002)
-#define XA_RADIO_EVENT_FREQUENCY_RANGE_CHANGED ((XAuint32) 0x00000003)
-#define XA_RADIO_EVENT_PRESET_CHANGED ((XAuint32) 0x00000004)
-#define XA_RADIO_EVENT_SEEK_COMPLETED ((XAuint32) 0x00000005)
-
-#define XA_STEREOMODE_MONO ((XAuint32) 0x00000000)
-#define XA_STEREOMODE_STEREO ((XAuint32) 0x00000001)
-#define XA_STEREOMODE_AUTO ((XAuint32) 0x00000002)
-
-XA_API extern const XAInterfaceID XA_IID_RADIO;
-
-struct XARadioItf_;
-typedef const struct XARadioItf_ * const * XARadioItf;
-
-typedef void (XAAPIENTRY * xaRadioCallback) (
- XARadioItf caller,
- void * pContext,
- XAuint32 event,
- XAuint32 eventIntData,
- XAboolean eventBooleanData
-);
-
-struct XARadioItf_ {
- XAresult (*SetFreqRange) (
- XARadioItf self,
- XAuint8 range
- );
- XAresult (*GetFreqRange) (
- XARadioItf self,
- XAuint8 * pRange
- );
- XAresult (*IsFreqRangeSupported) (
- XARadioItf self,
- XAuint8 range,
- XAboolean * pSupported
- );
- XAresult (*GetFreqRangeProperties) (
- XARadioItf self,
- XAuint8 range,
- XAuint32 * pMinFreq,
- XAuint32 * pMaxFreq,
- XAuint32 * pFreqInterval
- );
- XAresult (*SetFrequency) (
- XARadioItf self,
- XAuint32 freq
- );
- XAresult (*CancelSetFrequency) (
- XARadioItf self
- );
- XAresult (*GetFrequency) (
- XARadioItf self,
- XAuint32 * pFreq
- );
- XAresult (*SetSquelch) (
- XARadioItf self,
- XAboolean squelch
- );
- XAresult (*GetSquelch) (
- XARadioItf self,
- XAboolean * pSquelch
- );
- XAresult (*SetStereoMode) (
- XARadioItf self,
- XAuint32 mode
- );
- XAresult (*GetStereoMode) (
- XARadioItf self,
- XAuint32 * pMode
- );
- XAresult (*GetSignalStrength) (
- XARadioItf self,
- XAuint32 * pStrength
- );
- XAresult (*Seek) (
- XARadioItf self,
- XAboolean upwards
- );
- XAresult (*StopSeeking) (
- XARadioItf self
- );
- XAresult (*GetNumberOfPresets) (
- XARadioItf self,
- XAuint32 * pNumPresets
- );
- XAresult (*SetPreset) (
- XARadioItf self,
- XAuint32 preset,
- XAuint32 freq,
- XAuint8 range,
- XAuint32 mode,
- const XAchar * pName
- );
- XAresult (*GetPreset) (
- XARadioItf self,
- XAuint32 preset,
- XAuint32 * pFreq,
- XAuint8 * pRange,
- XAuint32 * pMode,
- XAchar * pName,
- XAuint16 * pNameLength
- );
- XAresult (*RegisterRadioCallback) (
- XARadioItf self,
- xaRadioCallback callback,
- void * pContext
- );
-};
-
-/* RDS */
-
-#define XA_RDS_EVENT_NEW_PI ((XAuint16) 0x0001)
-#define XA_RDS_EVENT_NEW_PTY ((XAuint16) 0x0002)
-#define XA_RDS_EVENT_NEW_PS ((XAuint16) 0x0004)
-#define XA_RDS_EVENT_NEW_RT ((XAuint16) 0x0008)
-#define XA_RDS_EVENT_NEW_RT_PLUS ((XAuint16) 0x0010)
-#define XA_RDS_EVENT_NEW_CT ((XAuint16) 0x0020)
-#define XA_RDS_EVENT_NEW_TA ((XAuint16) 0x0040)
-#define XA_RDS_EVENT_NEW_TP ((XAuint16) 0x0080)
-#define XA_RDS_EVENT_NEW_ALARM ((XAuint16) 0x0100)
-
-#define XA_RDSPROGRAMMETYPE_RDSPTY_NONE \
- ((XAuint32) 0x00000000)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_NEWS \
- ((XAuint32) 0x00000001)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_CURRENTAFFAIRS \
- ((XAuint32) 0x00000002)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_INFORMATION \
- ((XAuint32) 0x00000003)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_SPORT \
- ((XAuint32) 0x00000004)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_EDUCATION \
- ((XAuint32) 0x00000005)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_DRAMA \
- ((XAuint32) 0x00000006)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_CULTURE \
- ((XAuint32) 0x00000007)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_SCIENCE \
- ((XAuint32) 0x00000008)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_VARIEDSPEECH \
- ((XAuint32) 0x00000009)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_POPMUSIC \
- ((XAuint32) 0x0000000A)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_ROCKMUSIC \
- ((XAuint32) 0x0000000B)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_EASYLISTENING \
- ((XAuint32) 0x0000000C)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_LIGHTCLASSICAL \
- ((XAuint32) 0x0000000D)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_SERIOUSCLASSICAL \
- ((XAuint32) 0x0000000E)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_OTHERMUSIC \
- ((XAuint32) 0x0000000F)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_WEATHER \
- ((XAuint32) 0x00000010)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_FINANCE \
- ((XAuint32) 0x00000011)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_CHILDRENSPROGRAMMES \
- ((XAuint32) 0x00000012)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_SOCIALAFFAIRS \
- ((XAuint32) 0x00000013)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_RELIGION \
- ((XAuint32) 0x00000014)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_PHONEIN \
- ((XAuint32) 0x00000015)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_TRAVEL \
- ((XAuint32) 0x00000016)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_LEISURE \
- ((XAuint32) 0x00000017)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_JAZZMUSIC \
- ((XAuint32) 0x00000018)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_COUNTRYMUSIC \
- ((XAuint32) 0x00000019)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_NATIONALMUSIC \
- ((XAuint32) 0x0000001A)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_OLDIESMUSIC \
- ((XAuint32) 0x0000001B)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_FOLKMUSIC \
- ((XAuint32) 0x0000001C)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_DOCUMENTARY \
- ((XAuint32) 0x0000001D)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_ALARMTEST \
- ((XAuint32) 0x0000001E)
-#define XA_RDSPROGRAMMETYPE_RDSPTY_ALARM \
- ((XAuint32) 0x0000001F)
-
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_NONE \
- ((XAuint32) 0x00000000)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_NEWS \
- ((XAuint32) 0x00000001)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_INFORMATION \
- ((XAuint32) 0x00000002)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_SPORTS \
- ((XAuint32) 0x00000003)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_TALK \
- ((XAuint32) 0x00000004)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_ROCK \
- ((XAuint32) 0x00000005)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_CLASSICROCK \
- ((XAuint32) 0x00000006)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_ADULTHITS \
- ((XAuint32) 0x00000007)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFTROCK \
- ((XAuint32) 0x00000008)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_TOP40 \
- ((XAuint32) 0x00000009)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_COUNTRY \
- ((XAuint32) 0x0000000A)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_OLDIES \
- ((XAuint32) 0x0000000B)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFT \
- ((XAuint32) 0x0000000C)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_NOSTALGIA \
- ((XAuint32) 0x0000000D)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_JAZZ \
- ((XAuint32) 0x0000000E)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_CLASSICAL \
- ((XAuint32) 0x0000000F)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_RHYTHMANDBLUES \
- ((XAuint32) 0x00000010)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_SOFTRHYTHMANDBLUES \
- ((XAuint32) 0x00000011)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_LANGUAGE \
- ((XAuint32) 0x00000012)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_RELIGIOUSMUSIC \
- ((XAuint32) 0x00000013)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_RELIGIOUSTALK \
- ((XAuint32) 0x00000014)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_PERSONALITY \
- ((XAuint32) 0x00000015)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_PUBLIC \
- ((XAuint32) 0x00000016)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_COLLEGE \
- ((XAuint32) 0x00000017)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED1 \
- ((XAuint32) 0x00000018)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED2 \
- ((XAuint32) 0x00000019)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED3 \
- ((XAuint32) 0x0000001A)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED4 \
- ((XAuint32) 0x0000001B)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_UNASSIGNED5 \
- ((XAuint32) 0x0000001C)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_WEATHER \
- ((XAuint32) 0x0000001D)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_EMERGENCYTEST \
- ((XAuint32) 0x0000001E)
-#define XA_RDSPROGRAMMETYPE_RBDSPTY_EMERGENCY \
- ((XAuint32) 0x0000001F)
-
-#define XA_RDSRTPLUS_ITEMTITLE ((XAuint8) 0x01)
-#define XA_RDSRTPLUS_ITEMALBUM ((XAuint8) 0x02)
-#define XA_RDSRTPLUS_ITEMTRACKNUMBER ((XAuint8) 0x03)
-#define XA_RDSRTPLUS_ITEMARTIST ((XAuint8) 0x04)
-#define XA_RDSRTPLUS_ITEMCOMPOSITION ((XAuint8) 0x05)
-#define XA_RDSRTPLUS_ITEMMOVEMENT ((XAuint8) 0x06)
-#define XA_RDSRTPLUS_ITEMCONDUCTOR ((XAuint8) 0x07)
-#define XA_RDSRTPLUS_ITEMCOMPOSER ((XAuint8) 0x08)
-#define XA_RDSRTPLUS_ITEMBAND ((XAuint8) 0x09)
-#define XA_RDSRTPLUS_ITEMCOMMENT ((XAuint8) 0x0A)
-#define XA_RDSRTPLUS_ITEMGENRE ((XAuint8) 0x0B)
-#define XA_RDSRTPLUS_INFONEWS ((XAuint8) 0x0C)
-#define XA_RDSRTPLUS_INFONEWSLOCAL ((XAuint8) 0x0D)
-#define XA_RDSRTPLUS_INFOSTOCKMARKET ((XAuint8) 0x0E)
-#define XA_RDSRTPLUS_INFOSPORT ((XAuint8) 0x0F)
-#define XA_RDSRTPLUS_INFOLOTTERY ((XAuint8) 0x10)
-#define XA_RDSRTPLUS_INFOHOROSCOPE ((XAuint8) 0x11)
-#define XA_RDSRTPLUS_INFODAILYDIVERSION ((XAuint8) 0x12)
-#define XA_RDSRTPLUS_INFOHEALTH ((XAuint8) 0x13)
-#define XA_RDSRTPLUS_INFOEVENT ((XAuint8) 0x14)
-#define XA_RDSRTPLUS_INFOSZENE ((XAuint8) 0x15)
-#define XA_RDSRTPLUS_INFOCINEMA ((XAuint8) 0x16)
-#define XA_RDSRTPLUS_INFOTV ((XAuint8) 0x17)
-#define XA_RDSRTPLUS_INFODATETIME ((XAuint8) 0x18)
-#define XA_RDSRTPLUS_INFOWEATHER ((XAuint8) 0x19)
-#define XA_RDSRTPLUS_INFOTRAFFIC ((XAuint8) 0x1A)
-#define XA_RDSRTPLUS_INFOALARM ((XAuint8) 0x1B)
-#define XA_RDSRTPLUS_INFOADVISERTISEMENT ((XAuint8) 0x1C)
-#define XA_RDSRTPLUS_INFOURL ((XAuint8) 0x1D)
-#define XA_RDSRTPLUS_INFOOTHER ((XAuint8) 0x1E)
-#define XA_RDSRTPLUS_STATIONNAMESHORT ((XAuint8) 0x1F)
-#define XA_RDSRTPLUS_STATIONNAMELONG ((XAuint8) 0x20)
-#define XA_RDSRTPLUS_PROGRAMNOW ((XAuint8) 0x21)
-#define XA_RDSRTPLUS_PROGRAMNEXT ((XAuint8) 0x22)
-#define XA_RDSRTPLUS_PROGRAMPART ((XAuint8) 0x23)
-#define XA_RDSRTPLUS_PROGRAMHOST ((XAuint8) 0x24)
-#define XA_RDSRTPLUS_PROFRAMEDITORIALSTAFF ((XAuint8) 0x25)
-#define XA_RDSRTPLUS_PROGRAMFREQUENCY ((XAuint8) 0x26)
-#define XA_RDSRTPLUS_PROGRAMHOMEPAGE ((XAuint8) 0x27)
-#define XA_RDSRTPLUS_PROGRAMSUBCHANNEL ((XAuint8) 0x28)
-#define XA_RDSRTPLUS_PHONEHOTLINE ((XAuint8) 0x29)
-#define XA_RDSRTPLUS_PHONESTUDIO ((XAuint8) 0x2A)
-#define XA_RDSRTPLUS_PHONEOTHER ((XAuint8) 0x2B)
-#define XA_RDSRTPLUS_SMSSTUDIO ((XAuint8) 0x2C)
-#define XA_RDSRTPLUS_SMSOTHER ((XAuint8) 0x2D)
-#define XA_RDSRTPLUS_EMAILHOTLINE ((XAuint8) 0x2E)
-#define XA_RDSRTPLUS_EMAILSTUDIO ((XAuint8) 0x2F)
-#define XA_RDSRTPLUS_EMAILOTHER ((XAuint8) 0x30)
-#define XA_RDSRTPLUS_MMSOTHER ((XAuint8) 0x31)
-#define XA_RDSRTPLUS_CHAT ((XAuint8) 0x32)
-#define XA_RDSRTPLUS_CHATCENTER ((XAuint8) 0x33)
-#define XA_RDSRTPLUS_VOTEQUESTION ((XAuint8) 0x34)
-#define XA_RDSRTPLUS_VOTECENTER ((XAuint8) 0x35)
-#define XA_RDSRTPLUS_OPENCLASS45 ((XAuint8) 0x36)
-#define XA_RDSRTPLUS_OPENCLASS55 ((XAuint8) 0x37)
-#define XA_RDSRTPLUS_OPENCLASS56 ((XAuint8) 0x38)
-#define XA_RDSRTPLUS_OPENCLASS57 ((XAuint8) 0x39)
-#define XA_RDSRTPLUS_OPENCLASS58 ((XAuint8) 0x3A)
-#define XA_RDSRTPLUS_PLACE ((XAuint8) 0x3B)
-#define XA_RDSRTPLUS_APPOINTMENT ((XAuint8) 0x3C)
-#define XA_RDSRTPLUS_IDENTIFIER ((XAuint8) 0x3D)
-#define XA_RDSRTPLUS_PURCHASE ((XAuint8) 0x3E)
-#define XA_RDSRTPLUS_GETDATA ((XAuint8) 0x3F)
-
-XA_API extern const XAInterfaceID XA_IID_RDS;
-
-struct XARDSItf_;
-typedef const struct XARDSItf_ * const * XARDSItf;
-
-typedef void (XAAPIENTRY * xaGetODAGroupCallback) (
- XARadioItf caller,
- void * pContext,
- XAboolean success,
- XAint16 group,
- XAuint16 message
-);
-
-typedef void (XAAPIENTRY * xaNewODADataCallback) (
- XARDSItf caller,
- void * pContext,
- XAint16 group,
- XAuint64 data
-);
-
-typedef void (XAAPIENTRY * xaRDSCallback) (
- XARDSItf caller,
- void * pContext,
- XAuint16 event,
- XAuint8 eventData
-);
-
-struct XARDSItf_ {
- XAresult (*QueryRDSSignal) (
- XARDSItf self,
- XAboolean * isSignal
- );
- XAresult (*GetProgrammeServiceName) (
- XARDSItf self,
- XAchar * ps
- );
- XAresult (*GetRadioText) (
- XARDSItf self,
- XAchar * rt
- );
- XAresult (*GetRadioTextPlus) (
- XARDSItf self,
- XAuint8 contentType,
- XAchar * informationElement,
- XAchar * descriptor,
- XAuint8 * descriptorContentType
- );
- XAresult (*GetProgrammeType) (
- XARDSItf self,
- XAuint32 * pty
- );
- XAresult (*GetProgrammeTypeString) (
- XARDSItf self,
- XAboolean isLengthMax16,
- XAchar * pty
- );
- XAresult (*GetProgrammeIdentificationCode) (
- XARDSItf self,
- XAint16 * pi
- );
- XAresult (*GetClockTime) (
- XARDSItf self,
- XAtime * dateAndTime
- );
- XAresult (*GetTrafficAnnouncement) (
- XARDSItf self,
- XAboolean * ta
- );
- XAresult (*GetTrafficProgramme) (
- XARDSItf self,
- XAboolean * tp
- );
- XAresult (*SeekByProgrammeType) (
- XARDSItf self,
- XAuint32 pty,
- XAboolean upwards
- );
- XAresult (*SeekTrafficAnnouncement) (
- XARDSItf self,
- XAboolean upwards
- );
- XAresult (*SeekTrafficProgramme) (
- XARDSItf self,
- XAboolean upwards
- );
- XAresult (*SetAutomaticSwitching) (
- XARDSItf self,
- XAboolean automatic
- );
- XAresult (*GetAutomaticSwitching) (
- XARDSItf self,
- XAboolean * automatic
- );
- XAresult (*SetAutomaticTrafficAnnouncement) (
- XARDSItf self,
- XAboolean automatic
- );
- XAresult (*GetAutomaticTrafficAnnouncement) (
- XARDSItf self,
- XAboolean * automatic
- );
- XAresult (*GetODAGroup) (
- XARDSItf self,
- XAuint16 AID,
- xaGetODAGroupCallback callback,
- void * pContext
- );
- XAresult (*SubscribeODAGroup) (
- XARDSItf self,
- XAint16 group,
- XAboolean useErrorCorrection
- );
- XAresult (*UnsubscribeODAGroup) (
- XARDSItf self,
- XAint16 group
- );
- XAresult (*ListODAGroupSubscriptions) (
- XARDSItf self,
- XAint16* pGroups,
- XAuint32* pLength
- );
- XAresult (*RegisterRDSCallback) (
- XARDSItf self,
- xaRDSCallback callback,
- void * pContext
- );
- XAresult (*RegisterODADataCallback) (
- XARDSItf self,
- xaNewODADataCallback callback,
- void * pContext
- );
-};
-
-/* VIBRA */
-
-XA_API extern const XAInterfaceID XA_IID_VIBRA;
-
-struct XAVibraItf_;
-typedef const struct XAVibraItf_ * const * XAVibraItf;
-
-struct XAVibraItf_ {
- XAresult (*Vibrate) (
- XAVibraItf self,
- XAboolean vibrate
- );
- XAresult (*IsVibrating) (
- XAVibraItf self,
- XAboolean * pVibrating
- );
- XAresult (*SetFrequency) (
- XAVibraItf self,
- XAmilliHertz frequency
- );
- XAresult (*GetFrequency) (
- XAVibraItf self,
- XAmilliHertz * pFrequency
- );
- XAresult (*SetIntensity) (
- XAVibraItf self,
- XApermille intensity
- );
- XAresult (*GetIntensity) (
- XAVibraItf self,
- XApermille * pIntensity
- );
-};
-
-/* LED ARRAY */
-
-typedef struct XAHSL_ {
- XAmillidegree hue;
- XApermille saturation;
- XApermille lightness;
-} XAHSL;
-
-XA_API extern const XAInterfaceID XA_IID_LED;
-
-struct XALEDArrayItf_;
-typedef const struct XALEDArrayItf_ * const * XALEDArrayItf;
-
-struct XALEDArrayItf_ {
- XAresult (*ActivateLEDArray) (
- XALEDArrayItf self,
- XAuint32 lightMask
- );
- XAresult (*IsLEDArrayActivated) (
- XALEDArrayItf self,
- XAuint32 * pLightMask
- );
- XAresult (*SetColor) (
- XALEDArrayItf self,
- XAuint8 index,
- const XAHSL * pColor
- );
- XAresult (*GetColor) (
- XALEDArrayItf self,
- XAuint8 index,
- XAHSL * pColor
- );
-};
-
-
-
- /*****************************************************************/
- /* CODEC RELATED INTERFACES, STRUCTS AND DEFINES */
- /*****************************************************************/
-
-/* AUDIO ENCODER AND AUDIO ENCODER/DECODER CAPABILITIES */
-
-#define XA_RATECONTROLMODE_CONSTANTBITRATE ((XAuint32) 0x00000001)
-#define XA_RATECONTROLMODE_VARIABLEBITRATE ((XAuint32) 0x00000002)
-
-#define XA_AUDIOCODEC_PCM ((XAuint32) 0x00000001)
-#define XA_AUDIOCODEC_MP3 ((XAuint32) 0x00000002)
-#define XA_AUDIOCODEC_AMR ((XAuint32) 0x00000003)
-#define XA_AUDIOCODEC_AMRWB ((XAuint32) 0x00000004)
-#define XA_AUDIOCODEC_AMRWBPLUS ((XAuint32) 0x00000005)
-#define XA_AUDIOCODEC_AAC ((XAuint32) 0x00000006)
-#define XA_AUDIOCODEC_WMA ((XAuint32) 0x00000007)
-#define XA_AUDIOCODEC_REAL ((XAuint32) 0x00000008)
-#define XA_AUDIOCODEC_VORBIS ((XAuint32) 0x00000009)
-
-#define XA_AUDIOPROFILE_PCM ((XAuint32) 0x00000001)
-
-#define XA_AUDIOPROFILE_MPEG1_L3 ((XAuint32) 0x00000001)
-#define XA_AUDIOPROFILE_MPEG2_L3 ((XAuint32) 0x00000002)
-#define XA_AUDIOPROFILE_MPEG25_L3 ((XAuint32) 0x00000003)
-
-#define XA_AUDIOCHANMODE_MP3_MONO ((XAuint32) 0x00000001)
-#define XA_AUDIOCHANMODE_MP3_STEREO ((XAuint32) 0x00000002)
-#define XA_AUDIOCHANMODE_MP3_JOINTSTEREO ((XAuint32) 0x00000003)
-#define XA_AUDIOCHANMODE_MP3_DUAL ((XAuint32) 0x00000004)
-
-#define XA_AUDIOPROFILE_AMR ((XAuint32) 0x00000001)
-
-#define XA_AUDIOSTREAMFORMAT_CONFORMANCE ((XAuint32) 0x00000001)
-#define XA_AUDIOSTREAMFORMAT_IF1 ((XAuint32) 0x00000002)
-#define XA_AUDIOSTREAMFORMAT_IF2 ((XAuint32) 0x00000003)
-#define XA_AUDIOSTREAMFORMAT_FSF ((XAuint32) 0x00000004)
-#define XA_AUDIOSTREAMFORMAT_RTPPAYLOAD ((XAuint32) 0x00000005)
-#define XA_AUDIOSTREAMFORMAT_ITU ((XAuint32) 0x00000006)
-
-#define XA_AUDIOPROFILE_AMRWB ((XAuint32) 0x00000001)
-
-#define XA_AUDIOPROFILE_AMRWBPLUS ((XAuint32) 0x00000001)
-
-#define XA_AUDIOPROFILE_AAC_AAC ((XAuint32) 0x00000001)
-
-#define XA_AUDIOMODE_AAC_MAIN ((XAuint32) 0x00000001)
-#define XA_AUDIOMODE_AAC_LC ((XAuint32) 0x00000002)
-#define XA_AUDIOMODE_AAC_SSR ((XAuint32) 0x00000003)
-#define XA_AUDIOMODE_AAC_LTP ((XAuint32) 0x00000004)
-#define XA_AUDIOMODE_AAC_HE ((XAuint32) 0x00000005)
-#define XA_AUDIOMODE_AAC_SCALABLE ((XAuint32) 0x00000006)
-#define XA_AUDIOMODE_AAC_ERLC ((XAuint32) 0x00000007)
-#define XA_AUDIOMODE_AAC_LD ((XAuint32) 0x00000008)
-#define XA_AUDIOMODE_AAC_HE_PS ((XAuint32) 0x00000009)
-#define XA_AUDIOMODE_AAC_HE_MPS ((XAuint32) 0x0000000A)
-
-#define XA_AUDIOSTREAMFORMAT_MP2ADTS ((XAuint32) 0x00000001)
-#define XA_AUDIOSTREAMFORMAT_MP4ADTS ((XAuint32) 0x00000002)
-#define XA_AUDIOSTREAMFORMAT_MP4LOAS ((XAuint32) 0x00000003)
-#define XA_AUDIOSTREAMFORMAT_MP4LATM ((XAuint32) 0x00000004)
-#define XA_AUDIOSTREAMFORMAT_ADIF ((XAuint32) 0x00000005)
-#define XA_AUDIOSTREAMFORMAT_MP4FF ((XAuint32) 0x00000006)
-#define XA_AUDIOSTREAMFORMAT_RAW ((XAuint32) 0x00000007)
-
-#define XA_AUDIOPROFILE_WMA7 ((XAuint32) 0x00000001)
-#define XA_AUDIOPROFILE_WMA8 ((XAuint32) 0x00000002)
-#define XA_AUDIOPROFILE_WMA9 ((XAuint32) 0x00000003)
-#define XA_AUDIOPROFILE_WMA10 ((XAuint32) 0x00000004)
-
-#define XA_AUDIOMODE_WMA_LEVEL1 ((XAuint32) 0x00000001)
-#define XA_AUDIOMODE_WMA_LEVEL2 ((XAuint32) 0x00000002)
-#define XA_AUDIOMODE_WMA_LEVEL3 ((XAuint32) 0x00000003)
-#define XA_AUDIOMODE_WMA_LEVEL4 ((XAuint32) 0x00000004)
-#define XA_AUDIOMODE_WMAPRO_LEVELM0 ((XAuint32) 0x00000005)
-#define XA_AUDIOMODE_WMAPRO_LEVELM1 ((XAuint32) 0x00000006)
-#define XA_AUDIOMODE_WMAPRO_LEVELM2 ((XAuint32) 0x00000007)
-#define XA_AUDIOMODE_WMAPRO_LEVELM3 ((XAuint32) 0x00000008)
-
-#define XA_AUDIOPROFILE_REALAUDIO ((XAuint32) 0x00000001)
-
-#define XA_AUDIOMODE_REALAUDIO_G2 ((XAuint32) 0x00000001)
-#define XA_AUDIOMODE_REALAUDIO_8 ((XAuint32) 0x00000002)
-#define XA_AUDIOMODE_REALAUDIO_10 ((XAuint32) 0x00000003)
-#define XA_AUDIOMODE_REALAUDIO_SURROUND ((XAuint32) 0x00000004)
-
-#define XA_AUDIOPROFILE_VORBIS ((XAuint32) 0x00000001)
-
-#define XA_AUDIOMODE_VORBIS ((XAuint32) 0x00000001)
-
-
-typedef struct XAAudioCodecDescriptor_ {
- XAuint32 maxChannels;
- XAuint32 minBitsPerSample;
- XAuint32 maxBitsPerSample;
- XAmilliHertz minSampleRate;
- XAmilliHertz maxSampleRate;
- XAboolean isFreqRangeContinuous;
- XAmilliHertz * pSampleRatesSupported;
- XAuint32 numSampleRatesSupported;
- XAuint32 minBitRate;
- XAuint32 maxBitRate;
- XAboolean isBitrateRangeContinuous;
- XAuint32 * pBitratesSupported;
- XAuint32 numBitratesSupported;
- XAuint32 profileSetting;
- XAuint32 modeSetting;
-} XAAudioCodecDescriptor;
-
-typedef struct XAAudioEncoderSettings_ {
- XAuint32 encoderId;
- XAuint32 channelsIn;
- XAuint32 channelsOut;
- XAmilliHertz sampleRate;
- XAuint32 bitRate;
- XAuint32 bitsPerSample;
- XAuint32 rateControl;
- XAuint32 profileSetting;
- XAuint32 levelSetting;
- XAuint32 channelMode;
- XAuint32 streamFormat;
- XAuint32 encodeOptions;
- XAuint32 blockAlignment;
-} XAAudioEncoderSettings;
-
-XA_API extern const XAInterfaceID XA_IID_AUDIODECODERCAPABILITIES;
-
-struct XAAudioDecoderCapabilitiesItf_;
-typedef const struct XAAudioDecoderCapabilitiesItf_
- * const * XAAudioDecoderCapabilitiesItf;
-
-struct XAAudioDecoderCapabilitiesItf_ {
- XAresult (*GetAudioDecoders) (
- XAAudioDecoderCapabilitiesItf self,
- XAuint32 * pNumDecoders,
- XAuint32 * pDecoderIds
- );
- XAresult (*GetAudioDecoderCapabilities) (
- XAAudioDecoderCapabilitiesItf self,
- XAuint32 decoderId,
- XAuint32 * pIndex,
- XAAudioCodecDescriptor * pDescriptor
- );
-};
-
-XA_API extern const XAInterfaceID XA_IID_AUDIOENCODER;
-
-struct XAAudioEncoderItf_;
-typedef const struct XAAudioEncoderItf_ * const * XAAudioEncoderItf;
-
-struct XAAudioEncoderItf_ {
- XAresult (*SetEncoderSettings) (
- XAAudioEncoderItf self,
- XAAudioEncoderSettings * pSettings
- );
- XAresult (*GetEncoderSettings) (
- XAAudioEncoderItf self,
- XAAudioEncoderSettings * pSettings
- );
-};
-
-XA_API extern const XAInterfaceID XA_IID_AUDIOENCODERCAPABILITIES;
-
-struct XAAudioEncoderCapabilitiesItf_;
-typedef const struct XAAudioEncoderCapabilitiesItf_
- * const * XAAudioEncoderCapabilitiesItf;
-
-struct XAAudioEncoderCapabilitiesItf_ {
- XAresult (*GetAudioEncoders) (
- XAAudioEncoderCapabilitiesItf self,
- XAuint32 * pNumEncoders,
- XAuint32 * pEncoderIds
- );
- XAresult (*GetAudioEncoderCapabilities) (
- XAAudioEncoderCapabilitiesItf self,
- XAuint32 encoderId,
- XAuint32 * pIndex,
- XAAudioCodecDescriptor * pDescriptor
- );
-};
-
-/* IMAGE ENCODER AND IMAGE ENCODER/DECODER CAPABILITIES */
-
-#define XA_IMAGECODEC_JPEG ((XAuint32) 0x00000001)
-#define XA_IMAGECODEC_GIF ((XAuint32) 0x00000002)
-#define XA_IMAGECODEC_BMP ((XAuint32) 0x00000003)
-#define XA_IMAGECODEC_PNG ((XAuint32) 0x00000004)
-#define XA_IMAGECODEC_TIFF ((XAuint32) 0x00000005)
-#define XA_IMAGECODEC_RAW ((XAuint32) 0x00000006)
-
-typedef struct XAImageCodecDescriptor_ {
- XAuint32 codecId;
- XAuint32 maxWidth;
- XAuint32 maxHeight;
-} XAImageCodecDescriptor;
-
-typedef struct XAImageSettings_ {
- XAuint32 encoderId;
- XAuint32 width;
- XAuint32 height;
- XApermille compressionLevel;
- XAuint32 colorFormat;
-} XAImageSettings;
-
-XA_API extern const XAInterfaceID XA_IID_IMAGEENCODERCAPABILITIES;
-
-struct XAImageEncoderCapabilitiesItf_;
-typedef const struct XAImageEncoderCapabilitiesItf_
- * const * XAImageEncoderCapabilitiesItf;
-
-struct XAImageEncoderCapabilitiesItf_ {
- XAresult (*GetImageEncoderCapabilities) (
- XAImageEncoderCapabilitiesItf self,
- XAuint32 * pEncoderId,
- XAImageCodecDescriptor * pDescriptor
- );
- XAresult (*QueryColorFormats) (
- const XAImageEncoderCapabilitiesItf self,
- XAuint32 * pIndex,
- XAuint32 * pColorFormat
- );
-};
-
-XA_API extern const XAInterfaceID XA_IID_IMAGEDECODERCAPABILITIES;
-
-struct XAImageDecoderCapabilitiesItf_;
-typedef const struct XAImageDecoderCapabilitiesItf_
- * const * XAImageDecoderCapabilitiesItf;
-
-struct XAImageDecoderCapabilitiesItf_ {
- XAresult (*GetImageDecoderCapabilities) (
- XAImageDecoderCapabilitiesItf self,
- XAuint32 * pDecoderId,
- XAImageCodecDescriptor * pDescriptor
- );
- XAresult (*QueryColorFormats) (
- const XAImageDecoderCapabilitiesItf self,
- XAuint32 * pIndex,
- XAuint32 * pColorFormat
- );
-};
-
-XA_API extern const XAInterfaceID XA_IID_IMAGEENCODER;
-
-struct XAImageEncoderItf_;
-typedef const struct XAImageEncoderItf_ * const * XAImageEncoderItf;
-
-struct XAImageEncoderItf_ {
- XAresult (*SetImageSettings) (
- XAImageEncoderItf self,
- const XAImageSettings * pSettings
- );
- XAresult (*GetImageSettings) (
- XAImageEncoderItf self,
- XAImageSettings * pSettings
- );
- XAresult (*GetSizeEstimate) (
- XAImageEncoderItf self,
- XAuint32 * pSize
- );
-};
-
-/* VIDEO ENCODER AND VIDEO ENCODER/DECODER CAPABILITIES */
-
-#define XA_VIDEOCODEC_MPEG2 ((XAuint32) 0x00000001)
-#define XA_VIDEOCODEC_H263 ((XAuint32) 0x00000002)
-#define XA_VIDEOCODEC_MPEG4 ((XAuint32) 0x00000003)
-#define XA_VIDEOCODEC_AVC ((XAuint32) 0x00000004)
-#define XA_VIDEOCODEC_VC1 ((XAuint32) 0x00000005)
-
-#define XA_VIDEOPROFILE_MPEG2_SIMPLE ((XAuint32) 0x00000001)
-#define XA_VIDEOPROFILE_MPEG2_MAIN ((XAuint32) 0x00000002)
-#define XA_VIDEOPROFILE_MPEG2_422 ((XAuint32) 0x00000003)
-#define XA_VIDEOPROFILE_MPEG2_SNR ((XAuint32) 0x00000004)
-#define XA_VIDEOPROFILE_MPEG2_SPATIAL ((XAuint32) 0x00000005)
-#define XA_VIDEOPROFILE_MPEG2_HIGH ((XAuint32) 0x00000006)
-
-#define XA_VIDEOLEVEL_MPEG2_LL ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_MPEG2_ML ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_MPEG2_H14 ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_MPEG2_HL ((XAuint32) 0x00000004)
-
-#define XA_VIDEOPROFILE_H263_BASELINE ((XAuint32) 0x00000001)
-#define XA_VIDEOPROFILE_H263_H320CODING ((XAuint32) 0x00000002)
-#define XA_VIDEOPROFILE_H263_BACKWARDCOMPATIBLE ((XAuint32) 0x00000003)
-#define XA_VIDEOPROFILE_H263_ISWV2 ((XAuint32) 0x00000004)
-#define XA_VIDEOPROFILE_H263_ISWV3 ((XAuint32) 0x00000005)
-#define XA_VIDEOPROFILE_H263_HIGHCOMPRESSION ((XAuint32) 0x00000006)
-#define XA_VIDEOPROFILE_H263_INTERNET ((XAuint32) 0x00000007)
-#define XA_VIDEOPROFILE_H263_INTERLACE ((XAuint32) 0x00000008)
-#define XA_VIDEOPROFILE_H263_HIGHLATENCY ((XAuint32) 0x00000009)
-
-#define XA_VIDEOLEVEL_H263_10 ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_H263_20 ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_H263_30 ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_H263_40 ((XAuint32) 0x00000004)
-#define XA_VIDEOLEVEL_H263_45 ((XAuint32) 0x00000005)
-#define XA_VIDEOLEVEL_H263_50 ((XAuint32) 0x00000006)
-#define XA_VIDEOLEVEL_H263_60 ((XAuint32) 0x00000007)
-#define XA_VIDEOLEVEL_H263_70 ((XAuint32) 0x00000008)
-
-#define XA_VIDEOPROFILE_MPEG4_SIMPLE ((XAuint32) 0x00000001)
-#define XA_VIDEOPROFILE_MPEG4_SIMPLESCALABLE ((XAuint32) 0x00000002)
-#define XA_VIDEOPROFILE_MPEG4_CORE ((XAuint32) 0x00000003)
-#define XA_VIDEOPROFILE_MPEG4_MAIN ((XAuint32) 0x00000004)
-#define XA_VIDEOPROFILE_MPEG4_NBIT ((XAuint32) 0x00000005)
-#define XA_VIDEOPROFILE_MPEG4_SCALABLETEXTURE ((XAuint32) 0x00000006)
-#define XA_VIDEOPROFILE_MPEG4_SIMPLEFACE ((XAuint32) 0x00000007)
-#define XA_VIDEOPROFILE_MPEG4_SIMPLEFBA ((XAuint32) 0x00000008)
-#define XA_VIDEOPROFILE_MPEG4_BASICANIMATED ((XAuint32) 0x00000009)
-#define XA_VIDEOPROFILE_MPEG4_HYBRID ((XAuint32) 0x0000000A)
-#define XA_VIDEOPROFILE_MPEG4_ADVANCEDREALTIME ((XAuint32) 0x0000000B)
-#define XA_VIDEOPROFILE_MPEG4_CORESCALABLE ((XAuint32) 0x0000000C)
-#define XA_VIDEOPROFILE_MPEG4_ADVANCEDCODING ((XAuint32) 0x0000000D)
-#define XA_VIDEOPROFILE_MPEG4_ADVANCEDCORE ((XAuint32) 0x0000000E)
-#define XA_VIDEOPROFILE_MPEG4_ADVANCEDSCALABLE ((XAuint32) 0x0000000F)
-
-#define XA_VIDEOLEVEL_MPEG4_0 ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_MPEG4_0b ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_MPEG4_1 ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_MPEG4_2 ((XAuint32) 0x00000004)
-#define XA_VIDEOLEVEL_MPEG4_3 ((XAuint32) 0x00000005)
-#define XA_VIDEOLEVEL_MPEG4_4 ((XAuint32) 0x00000006)
-#define XA_VIDEOLEVEL_MPEG4_4a ((XAuint32) 0x00000007)
-#define XA_VIDEOLEVEL_MPEG4_5 ((XAuint32) 0x00000008)
-
-#define XA_VIDEOPROFILE_AVC_BASELINE ((XAuint32) 0x00000001)
-#define XA_VIDEOPROFILE_AVC_MAIN ((XAuint32) 0x00000002)
-#define XA_VIDEOPROFILE_AVC_EXTENDED ((XAuint32) 0x00000003)
-#define XA_VIDEOPROFILE_AVC_HIGH ((XAuint32) 0x00000004)
-#define XA_VIDEOPROFILE_AVC_HIGH10 ((XAuint32) 0x00000005)
-#define XA_VIDEOPROFILE_AVC_HIGH422 ((XAuint32) 0x00000006)
-#define XA_VIDEOPROFILE_AVC_HIGH444 ((XAuint32) 0x00000007)
-
-#define XA_VIDEOLEVEL_AVC_1 ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_AVC_1B ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_AVC_11 ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_AVC_12 ((XAuint32) 0x00000004)
-#define XA_VIDEOLEVEL_AVC_13 ((XAuint32) 0x00000005)
-#define XA_VIDEOLEVEL_AVC_2 ((XAuint32) 0x00000006)
-#define XA_VIDEOLEVEL_AVC_21 ((XAuint32) 0x00000007)
-#define XA_VIDEOLEVEL_AVC_22 ((XAuint32) 0x00000008)
-#define XA_VIDEOLEVEL_AVC_3 ((XAuint32) 0x00000009)
-#define XA_VIDEOLEVEL_AVC_31 ((XAuint32) 0x0000000A)
-#define XA_VIDEOLEVEL_AVC_32 ((XAuint32) 0x0000000B)
-#define XA_VIDEOLEVEL_AVC_4 ((XAuint32) 0x0000000C)
-#define XA_VIDEOLEVEL_AVC_41 ((XAuint32) 0x0000000D)
-#define XA_VIDEOLEVEL_AVC_42 ((XAuint32) 0x0000000E)
-#define XA_VIDEOLEVEL_AVC_5 ((XAuint32) 0x0000000F)
-#define XA_VIDEOLEVEL_AVC_51 ((XAuint32) 0x00000010)
-
-#define XA_VIDEOLEVEL_VC1_SIMPLE ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_VC1_MAIN ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_VC1_ADVANCED ((XAuint32) 0x00000003)
-
-#define XA_VIDEOLEVEL_VC1_LOW ((XAuint32) 0x00000001)
-#define XA_VIDEOLEVEL_VC1_MEDIUM ((XAuint32) 0x00000002)
-#define XA_VIDEOLEVEL_VC1_HIGH ((XAuint32) 0x00000003)
-#define XA_VIDEOLEVEL_VC1_L0 ((XAuint32) 0x00000004)
-#define XA_VIDEOLEVEL_VC1_L1 ((XAuint32) 0x00000005)
-#define XA_VIDEOLEVEL_VC1_L2 ((XAuint32) 0x00000006)
-#define XA_VIDEOLEVEL_VC1_L3 ((XAuint32) 0x00000007)
-#define XA_VIDEOLEVEL_VC1_L4 ((XAuint32) 0x00000008)
-
-typedef struct XAVideoCodecDescriptor_ {
- XAuint32 codecId;
- XAuint32 maxWidth;
- XAuint32 maxHeight;
- XAuint32 maxFrameRate;
- XAuint32 maxBitRate;
- XAuint32 rateControlSupported;
- XAuint32 profileSetting;
- XAuint32 levelSetting;
-} XAVideoCodecDescriptor;
-
-typedef struct XAVideoSettings_ {
- XAuint32 encoderId;
- XAuint32 width;
- XAuint32 height;
- XAuint32 frameRate;
- XAuint32 bitRate;
- XAuint32 rateControl;
- XAuint32 profileSetting;
- XAuint32 levelSetting;
- XAuint32 keyFrameInterval;
-} XAVideoSettings;
-
-XA_API extern const XAInterfaceID XA_IID_VIDEODECODERCAPABILITIES;
-
-struct XAVideoDecoderCapabilitiesItf_;
-typedef const struct XAVideoDecoderCapabilitiesItf_
- * const * XAVideoDecoderCapabilitiesItf;
-
-struct XAVideoDecoderCapabilitiesItf_ {
- XAresult (*GetVideoDecoders) (
- XAVideoDecoderCapabilitiesItf self,
- XAuint32 * pNumDecoders,
- XAuint32 * pDecoderIds
- );
- XAresult (*GetVideoDecoderCapabilities) (
- XAVideoDecoderCapabilitiesItf self,
- XAuint32 decoderId,
- XAuint32 * pIndex,
- XAVideoCodecDescriptor * pDescriptor
- );
-};
-
-XA_API extern const XAInterfaceID XA_IID_VIDEOENCODER;
-
-XA_API extern const XAInterfaceID XA_IID_VIDEOENCODERCAPABILITIES;
-
-struct XAVideoEncoderCapabilitiesItf_;
-typedef const struct XAVideoEncoderCapabilitiesItf_
- * const * XAVideoEncoderCapabilitiesItf;
-
-struct XAVideoEncoderCapabilitiesItf_ {
- XAresult (*GetVideoEncoders) (
- XAVideoEncoderCapabilitiesItf self,
- XAuint32 * pNumEncoders,
- XAuint32 * pEncoderIds
- );
- XAresult (*GetVideoEncoderCapabilities) (
- XAVideoEncoderCapabilitiesItf self,
- XAuint32 encoderId,
- XAuint32 * pIndex,
- XAVideoCodecDescriptor * pDescriptor
- );
-};
-
-struct XAVideoEncoderItf_;
-typedef const struct XAVideoEncoderItf_ * const * XAVideoEncoderItf;
-
-struct XAVideoEncoderItf_ {
- XAresult (*SetVideoSettings) (
- XAVideoEncoderItf self,
- XAVideoSettings * pSettings
- );
- XAresult (*GetVideoSettings) (
- XAVideoEncoderItf self,
- XAVideoSettings * pSettings
- );
-};
-
-/* STREAM INFORMATION */
-
-#define XA_DOMAINTYPE_AUDIO 0x00000001
-#define XA_DOMAINTYPE_VIDEO 0x00000002
-#define XA_DOMAINTYPE_IMAGE 0x00000003
-#define XA_DOMAINTYPE_TIMEDTEXT 0x00000004
-#define XA_DOMAINTYPE_MIDI 0x00000005
-#define XA_DOMAINTYPE_VENDOR 0xFFFFFFFE
-#define XA_DOMAINTYPE_UNKNOWN 0xFFFFFFFF
-
-#define XA_MIDIBANK_DEVICE 0x00000001
-#define XA_MIDIBANK_CUSTOM 0x00000002
-
-#define XA_MIDI_UNKNOWN 0xFFFFFFFF
-
-#define XA_STREAMCBEVENT_PROPERTYCHANGE ((XAuint32) 0x00000001)
-
-typedef struct XAMediaContainerInformation_ {
- XAuint32 containerType;
- XAmillisecond mediaDuration;
- XAuint32 numStreams;
-} XAMediaContainerInformation;
-
-typedef struct XAVideoStreamInformation_ {
- XAuint32 codecId;
- XAuint32 width;
- XAuint32 height;
- XAuint32 frameRate;
- XAuint32 bitRate;
- XAmillisecond duration;
-} XAVideoStreamInformation;
-
-typedef struct XAAudioStreamInformation_ {
- XAuint32 codecId;
- XAuint32 channels;
- XAmilliHertz sampleRate;
- XAuint32 bitRate;
- XAchar langCountry[16];
- XAmillisecond duration;
-} XAAudioStreamInformation;
-
-typedef struct XAImageStreamInformation_ {
- XAuint32 codecId;
- XAuint32 width;
- XAuint32 height;
- XAmillisecond presentationDuration;
-} XAImageStreamInformation;
-
-typedef struct XATimedTextStreamInformation_ {
- XAuint16 layer;
- XAuint32 width;
- XAuint32 height;
- XAuint16 tx;
- XAuint16 ty;
- XAuint32 bitrate;
- XAchar langCountry[16];
- XAmillisecond duration;
-} XATimedTextStreamInformation;
-
-typedef struct XAMIDIStreamInformation_ {
- XAuint32 channels;
- XAuint32 tracks;
- XAuint32 bankType;
- XAchar langCountry[16];
- XAmillisecond duration;
-} XAMIDIStreamInformation;
-
-typedef struct XAVendorStreamInformation_ {
- void *VendorStreamInfo;
-} XAVendorStreamInformation;
-
-XA_API extern const XAInterfaceID XA_IID_STREAMINFORMATION;
-
-struct XAStreamInformationItf_;
-typedef const struct XAStreamInformationItf_ * const * XAStreamInformationItf;
-
-typedef void (XAAPIENTRY * xaStreamEventChangeCallback) (
- XAStreamInformationItf caller,
- XAuint32 eventId,
- XAuint32 streamIndex,
- void * pEventData,
- void * pContext
-);
-
-struct XAStreamInformationItf_ {
- XAresult (*QueryMediaContainerInformation) (
- XAStreamInformationItf self,
- XAMediaContainerInformation * info
- );
- XAresult (*QueryStreamType) (
- XAStreamInformationItf self,
- XAuint32 streamIndex,
- XAuint32 *domain
- );
- XAresult (*QueryStreamInformation) (
- XAStreamInformationItf self,
- XAuint32 streamIndex,
- void * info
- );
- XAresult (*QueryStreamName) (
- XAStreamInformationItf self,
- XAuint32 streamIndex,
- XAuint16 * pNameSize,
- XAchar * pName
- );
- XAresult (*RegisterStreamChangeCallback) (
- XAStreamInformationItf self,
- xaStreamEventChangeCallback callback,
- void * pContext
- );
- XAresult (*QueryActiveStreams) (
- XAStreamInformationItf self,
- XAuint32 *numStreams,
- XAboolean *activeStreams
- );
- XAresult (*SetActiveStream) (
- XAStreamInformationItf self,
- XAuint32 streamNum,
- XAboolean active,
- XAboolean commitNow
- );
-};
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* _OPENMAXAL_H_ */