khronosfws/openmax_al/src/common/xanvolumeextitf.h
changeset 16 43d09473c595
child 25 6f7ceef7b1d1
equal deleted inserted replaced
14:80975da52420 16:43d09473c595
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef XANVOLUMEEXTITF_H
       
    19 #define XANVOLUMEEXTITF_H
       
    20 
       
    21 #include "openmaxalwrapper.h"
       
    22 #include "xaglobals.h"
       
    23 #include "xaadptbasectx.h"
       
    24 
       
    25 /** MACROS **/
       
    26 
       
    27 /* Max volume level is implementation-dependent but must be at least 0mB
       
    28  * now used max volume 10 mB
       
    29  */
       
    30 #define MAX_VOLUME_LEVEL 10
       
    31 #define MAX_VOLUME_AT_LEAST 0
       
    32 
       
    33 /** TYPES **/
       
    34 
       
    35 /** ENUMERATIONS **/
       
    36 
       
    37 /** STRUCTURES **/
       
    38 /* Definition of XANokiaVolumeExtItf implementation */
       
    39 typedef struct XANokiaVolumeExtItfImpl_
       
    40 {
       
    41     /* parent interface */
       
    42     struct XANokiaVolumeExtItf_ itf;
       
    43     /* pointer to self */
       
    44     struct XANokiaVolumeExtItfImpl_* self;
       
    45 
       
    46     XAmillibel volumeLevel;
       
    47     XAboolean mute;
       
    48     XAboolean enableStereoPos;
       
    49     XApermille stereoPosition;
       
    50     XAuint32   eventFlags;
       
    51     XANokiaVolumeExtItf         cbPtrToSelf;
       
    52     xaNokiaVolumeExtCallback    callback;
       
    53     void               *context; 
       
    54  
       
    55     /*Adaptation variables*/
       
    56     XAAdaptationBaseCtx *adapCtx;
       
    57 
       
    58 } XANokiaVolumeExtItfImpl;
       
    59 
       
    60 /** METHODS **/
       
    61 
       
    62 /* Base interface XANokiaVolumeExtItf implementation */
       
    63 XAresult XANokiaVolumeExtItfImpl_SetVolumeLevel(XANokiaVolumeExtItf self, XAmillibel level);
       
    64 
       
    65 XAresult XANokiaVolumeExtItfImpl_GetVolumeLevel(XANokiaVolumeExtItf self, XAmillibel *pLevel);
       
    66 
       
    67 XAresult XANokiaVolumeExtItfImpl_GetMaxVolumeLevel(XANokiaVolumeExtItf self, XAmillibel *pMaxLevel);
       
    68 
       
    69 XAresult XANokiaVolumeExtItfImpl_SetMute(XANokiaVolumeExtItf self, XAboolean mute);
       
    70 
       
    71 XAresult XANokiaVolumeExtItfImpl_GetMute(XANokiaVolumeExtItf self, XAboolean *pMute);
       
    72 
       
    73 XAresult XANokiaVolumeExtItfImpl_EnableStereoPosition(XANokiaVolumeExtItf self, XAboolean enable);
       
    74 
       
    75 XAresult XANokiaVolumeExtItfImpl_IsEnabledStereoPosition(XANokiaVolumeExtItf self, XAboolean *pEnable);
       
    76 
       
    77 XAresult XANokiaVolumeExtItfImpl_SetStereoPosition(XANokiaVolumeExtItf self, XApermille stereoPosition);
       
    78 
       
    79 XAresult XANokiaVolumeExtItfImpl_GetStereoPosition(XANokiaVolumeExtItf self, XApermille *pStereoPosition);
       
    80 
       
    81 XAresult XANokiaVolumeExtItfImpl_RegisterVolumeCallback(XANokiaVolumeExtItf self,
       
    82                                               xaNokiaVolumeExtCallback callback,
       
    83                                               void * pContext);
       
    84 XAresult XANokiaVolumeExtItfImpl_SetCallbackEventsMask(XANokiaVolumeExtItf self, XAuint32 eventFlags );
       
    85 XAresult XANokiaVolumeExtItfImpl_GetCallbackEventsMask(XANokiaVolumeExtItf self, XAuint32 * pEventFlags);
       
    86 
       
    87 /* XANokiaVolumeExtItfImpl -specific methods */
       
    88 XANokiaVolumeExtItfImpl* XANokiaVolumeExtItfImpl_Create(XAAdaptationBaseCtx *adapCtx);
       
    89 void XANokiaVolumeExtItfImpl_Free(XANokiaVolumeExtItfImpl* self);
       
    90 void XANokiaVolumeExtItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event );
       
    91 
       
    92 #endif /* XANVOLUMEEXTITF_H */