diff -r 71ca22bcf22a -r 5a06f39ad45b khronosfws/openmax_al/src/engine/xaaudioiodevicecapabilitiesitf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/khronosfws/openmax_al/src/engine/xaaudioiodevicecapabilitiesitf.h Fri Apr 16 15:29:42 2010 +0300 @@ -0,0 +1,110 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef XAAUDIOIODEVICECAPABILITIESITF_H +#define XAAUDIOIODEVICECAPABILITIESITF_H + +#include "openmaxalwrapper.h" +#include "xaglobals.h" + +/** MACROS **/ + +/** TYPES **/ + +/** ENUMERATIONS **/ + +/** STRUCTURES **/ +/* Definition of XAAudioIODeviceCapabilitiesItf implementation */ +typedef struct XAAudIODevCapaItfImpl_ +{ + /* parent interface */ + struct XAAudioIODeviceCapabilitiesItf_ itf; + /* pointer to self */ + struct XAAudIODevCapaItfImpl_* self; + + /* variables */ + xaAvailableAudioInputsChangedCallback inputCb; + void* inputCbCtx; + XAAudioIODeviceCapabilitiesItf inputCbPtrToSelf; + xaAvailableAudioOutputsChangedCallback outputCb; + void* outputCbCtx; + XAAudioIODeviceCapabilitiesItf outputCbPtrToSelf; + xaDefaultDeviceIDMapChangedCallback deviceMapCb; + void* deviceMapCtx; + XAAudioIODeviceCapabilitiesItf deviceMapCbPtrToSelf; + + XAuint32 numInputDevices; + XAuint32 numOutputDevices; + XAmilliHertz sampleRateArray[12]; + +} XAAudIODevCapaItfImpl; + +/* Base interface XAAudioIODeviceCapabilitiesItf implementation */ +XAresult XAAudIODevCapaItfImpl_GetAvailableAudioInputs(XAAudioIODeviceCapabilitiesItf self, + XAint32* pNumInputs, + XAuint32* pInputDeviceIDs); + +XAresult XAAudIODevCapaItfImpl_QueryAudioInputCapabilities(XAAudioIODeviceCapabilitiesItf self, + XAuint32 deviceId, + XAAudioInputDescriptor* pDescriptor); + +XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioInputsChangedCallback(XAAudioIODeviceCapabilitiesItf self, + xaAvailableAudioInputsChangedCallback callback, + void* pContext); + +XAresult XAAudIODevCapaItfImpl_GetAvailableAudioOutputs(XAAudioIODeviceCapabilitiesItf self, + XAint32* pNumOutputs, + XAuint32* pOutputDeviceIDs); + +XAresult XAAudIODevCapaItfImpl_QueryAudioOutputCapabilities(XAAudioIODeviceCapabilitiesItf self, + XAuint32 deviceId, + XAAudioOutputDescriptor* pDescriptor); + +XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioOutputsChangedCallback(XAAudioIODeviceCapabilitiesItf self, + xaAvailableAudioOutputsChangedCallback callback, + void* pContext); + +XAresult XAAudIODevCapaItfImpl_RegisterDefaultDeviceIDMapChangedCallback(XAAudioIODeviceCapabilitiesItf self, + xaDefaultDeviceIDMapChangedCallback callback, + void* pContext); + +XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioInputs(XAAudioIODeviceCapabilitiesItf self, + XAuint32 deviceId, + XAint32* pNumAudioInputs, + XAuint32* pAudioInputDeviceIDs); + +XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs(XAAudioIODeviceCapabilitiesItf self, + XAuint32 deviceId, + XAint32* pNumAudioOutputs, + XAuint32* pAudioOutputDeviceIDs); + +XAresult XAAudIODevCapaItfImpl_GetDefaultAudioDevices(XAAudioIODeviceCapabilitiesItf self, + XAuint32 defaultDeviceID, + XAint32 *pNumAudioDevices, + XAuint32 *pAudioDeviceIDs); + +XAresult XAAudIODevCapaItfImpl_QuerySampleFormatsSupported(XAAudioIODeviceCapabilitiesItf self, + XAuint32 deviceId, + XAmilliHertz samplingRate, + XAint32* pSampleFormats, + XAint32* pNumOfSampleFormats); + +/* XAAudIODevCapaItfImpl -specific methods */ +XAAudIODevCapaItfImpl* XAAudIODevCapaItfImpl_Create(void); +void XAAudIODevCapaItfImpl_Free(XAAudIODevCapaItfImpl* self); + +#endif /* XAAUDIOIODEVICECAPABILITIESITF_H */