khronosfws/openmax_al/src/engine/xaaudioiodevicecapabilitiesitf.h
changeset 25 6f7ceef7b1d1
parent 19 4a629bc82c5e
equal deleted inserted replaced
21:2ed61feeead6 25:6f7ceef7b1d1
     1 /*
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     2  * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3  * All rights reserved.
     4 * This component and the accompanying materials are made available
     4  * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5  * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6  * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     8  *
     9 * Initial Contributors:
     9  * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10  * Nokia Corporation - initial contribution.
    11 *
    11  *
    12 * Contributors:
    12  * Contributors:
    13 *
    13  *
    14 * Description: 
    14  * Description: Audio IO Device capabilities Itf
    15 *
    15  *
    16 */
    16  */
    17 
    17 
    18 #ifndef XAAUDIOIODEVICECAPABILITIESITF_H
    18 #ifndef XAAUDIOIODEVICECAPABILITIESITF_H
    19 #define XAAUDIOIODEVICECAPABILITIESITF_H
    19 #define XAAUDIOIODEVICECAPABILITIESITF_H
    20 
    20 
    21 #include "openmaxalwrapper.h"
    21 #include "openmaxalwrapper.h"
    28 /** ENUMERATIONS **/
    28 /** ENUMERATIONS **/
    29 
    29 
    30 /** STRUCTURES **/
    30 /** STRUCTURES **/
    31 /* Definition of XAAudioIODeviceCapabilitiesItf implementation */
    31 /* Definition of XAAudioIODeviceCapabilitiesItf implementation */
    32 typedef struct XAAudIODevCapaItfImpl_
    32 typedef struct XAAudIODevCapaItfImpl_
    33 {
    33     {
    34     /* parent interface */
    34     /* parent interface */
    35     struct XAAudioIODeviceCapabilitiesItf_ itf;
    35     struct XAAudioIODeviceCapabilitiesItf_ itf;
    36     /* pointer to self */
    36     /* pointer to self */
    37     struct XAAudIODevCapaItfImpl_* self;
    37     struct XAAudIODevCapaItfImpl_* self;
    38 
    38 
    49 
    49 
    50     XAuint32 numInputDevices;
    50     XAuint32 numInputDevices;
    51     XAuint32 numOutputDevices;
    51     XAuint32 numOutputDevices;
    52     XAmilliHertz sampleRateArray[12];
    52     XAmilliHertz sampleRateArray[12];
    53     XACapabilities* capslist;
    53     XACapabilities* capslist;
    54     
    54 
    55 } XAAudIODevCapaItfImpl;
    55     } XAAudIODevCapaItfImpl;
    56 
    56 
    57 /* Base interface XAAudioIODeviceCapabilitiesItf implementation */
    57 /* Base interface XAAudioIODeviceCapabilitiesItf implementation */
    58 XAresult XAAudIODevCapaItfImpl_GetAvailableAudioInputs(XAAudioIODeviceCapabilitiesItf self,
    58 XAresult XAAudIODevCapaItfImpl_GetAvailableAudioInputs(
    59                                                        XAint32* pNumInputs,
    59         XAAudioIODeviceCapabilitiesItf self, XAint32* pNumInputs,
    60                                                        XAuint32* pInputDeviceIDs);
    60         XAuint32* pInputDeviceIDs);
    61 
    61 
    62 XAresult XAAudIODevCapaItfImpl_QueryAudioInputCapabilities(XAAudioIODeviceCapabilitiesItf self,
    62 XAresult XAAudIODevCapaItfImpl_QueryAudioInputCapabilities(
    63                                                            XAuint32 deviceId,
    63         XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
    64                                                            XAAudioInputDescriptor* pDescriptor);
    64         XAAudioInputDescriptor* pDescriptor);
    65 
    65 
    66 XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioInputsChangedCallback(XAAudioIODeviceCapabilitiesItf self,
    66 XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioInputsChangedCallback(
    67                                                                            xaAvailableAudioInputsChangedCallback callback,
    67         XAAudioIODeviceCapabilitiesItf self,
    68                                                                            void* pContext);
    68         xaAvailableAudioInputsChangedCallback callback, void* pContext);
    69 
    69 
    70 XAresult XAAudIODevCapaItfImpl_GetAvailableAudioOutputs(XAAudioIODeviceCapabilitiesItf self,
    70 XAresult XAAudIODevCapaItfImpl_GetAvailableAudioOutputs(
    71                                                         XAint32* pNumOutputs,
    71         XAAudioIODeviceCapabilitiesItf self, XAint32* pNumOutputs,
    72                                                         XAuint32* pOutputDeviceIDs);
    72         XAuint32* pOutputDeviceIDs);
    73 
    73 
    74 XAresult XAAudIODevCapaItfImpl_QueryAudioOutputCapabilities(XAAudioIODeviceCapabilitiesItf self,
    74 XAresult XAAudIODevCapaItfImpl_QueryAudioOutputCapabilities(
    75                                                             XAuint32 deviceId,
    75         XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
    76                                                             XAAudioOutputDescriptor* pDescriptor);
    76         XAAudioOutputDescriptor* pDescriptor);
    77 
    77 
    78 XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioOutputsChangedCallback(XAAudioIODeviceCapabilitiesItf self,
    78 XAresult XAAudIODevCapaItfImpl_RegisterAvailableAudioOutputsChangedCallback(
    79                                                                             xaAvailableAudioOutputsChangedCallback callback,
    79         XAAudioIODeviceCapabilitiesItf self,
    80                                                                             void* pContext);
    80         xaAvailableAudioOutputsChangedCallback callback, void* pContext);
    81 
    81 
    82 XAresult XAAudIODevCapaItfImpl_RegisterDefaultDeviceIDMapChangedCallback(XAAudioIODeviceCapabilitiesItf self,
    82 XAresult XAAudIODevCapaItfImpl_RegisterDefaultDeviceIDMapChangedCallback(
    83                                                                          xaDefaultDeviceIDMapChangedCallback callback,
    83         XAAudioIODeviceCapabilitiesItf self,
    84                                                                          void* pContext);
    84         xaDefaultDeviceIDMapChangedCallback callback, void* pContext);
    85 
    85 
    86 XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioInputs(XAAudioIODeviceCapabilitiesItf self,
    86 XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioInputs(
    87                                                         XAuint32 deviceId,
    87         XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
    88                                                         XAint32* pNumAudioInputs,
    88         XAint32* pNumAudioInputs, XAuint32* pAudioInputDeviceIDs);
    89                                                         XAuint32* pAudioInputDeviceIDs);
       
    90 
    89 
    91 XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs(XAAudioIODeviceCapabilitiesItf self,
    90 XAresult XAAudIODevCapaItfImpl_GetAssociatedAudioOutputs(
    92                                                          XAuint32 deviceId,
    91         XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
    93                                                          XAint32* pNumAudioOutputs,
    92         XAint32* pNumAudioOutputs, XAuint32* pAudioOutputDeviceIDs);
    94                                                          XAuint32* pAudioOutputDeviceIDs);
       
    95 
    93 
    96 XAresult XAAudIODevCapaItfImpl_GetDefaultAudioDevices(XAAudioIODeviceCapabilitiesItf self,
    94 XAresult XAAudIODevCapaItfImpl_GetDefaultAudioDevices(
    97                                                       XAuint32 defaultDeviceID,
    95         XAAudioIODeviceCapabilitiesItf self, XAuint32 defaultDeviceID,
    98                                                       XAint32 *pNumAudioDevices,
    96         XAint32 *pNumAudioDevices, XAuint32 *pAudioDeviceIDs);
    99                                                       XAuint32 *pAudioDeviceIDs);
       
   100 
    97 
   101 XAresult XAAudIODevCapaItfImpl_QuerySampleFormatsSupported(XAAudioIODeviceCapabilitiesItf self,
    98 XAresult XAAudIODevCapaItfImpl_QuerySampleFormatsSupported(
   102                                                            XAuint32 deviceId,
    99         XAAudioIODeviceCapabilitiesItf self, XAuint32 deviceId,
   103                                                            XAmilliHertz samplingRate,
   100         XAmilliHertz samplingRate, XAint32* pSampleFormats,
   104                                                            XAint32* pSampleFormats,
   101         XAint32* pNumOfSampleFormats);
   105                                                            XAint32* pNumOfSampleFormats);
       
   106 
   102 
   107 /* XAAudIODevCapaItfImpl -specific methods */
   103 /* XAAudIODevCapaItfImpl -specific methods */
   108 XAAudIODevCapaItfImpl* XAAudIODevCapaItfImpl_Create(XACapabilities* caps);
   104 XAAudIODevCapaItfImpl* XAAudIODevCapaItfImpl_Create(XACapabilities* caps);
   109 void XAAudIODevCapaItfImpl_Free(XAAudIODevCapaItfImpl* self);
   105 void XAAudIODevCapaItfImpl_Free(XAAudIODevCapaItfImpl* self);
   110 
   106