khronosfws/openmax_al/src/mmf_adaptation/xanokiavolumeextitfadaptationmmf.c
changeset 16 43d09473c595
child 21 2ed61feeead6
child 31 8dfd592727cb
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 #include "xanokiavolumeextitfadaptationmmf.h"
       
    19 #include "xamediaplayeradaptctxmmf.h"
       
    20 #include "xamediarecorderadaptctxmmf.h"
       
    21 #include "cmmfbackendengine.h"
       
    22 
       
    23 /*
       
    24  * XAresult XANokiaVolumeExtItfAdapt_SetMute(void *ctx, AdaptationContextIDS ctx->ctxId, XAboolean mute)
       
    25  * @param void *ctx - Adaptation context, this will be casted to correct type regarding to contextID value given as 2nd parameter
       
    26  * @param AdaptationContextIDS ctx->ctxId - Type specifier for context, this will be used to cast ctx pointer to correct type.
       
    27  * @param XAboolean mute - status of mute value
       
    28  * @return XAresult ret - Success value
       
    29  */
       
    30 XAresult XANokiaVolumeExtItfAdapt_SetMute(XAAdaptationMMFCtx *ctx, XAboolean mute)
       
    31 {    
       
    32     XAuint32 volume;
       
    33     DEBUG_API("->XANokiaVolumeExtItfAdapt_SetMute");
       
    34     if(!ctx || ( ctx->baseObj.ctxId != XAMediaPlayerAdaptation &&
       
    35                  ctx->baseObj.ctxId != XAMediaRecorderAdaptation &&
       
    36                  ctx->baseObj.ctxId != XARadioAdaptation ) )  
       
    37     {
       
    38         DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
       
    39         DEBUG_API("<-XANokiaVolumeExtItfAdapt_SetMute");
       
    40         /* invalid parameter */
       
    41         return XA_RESULT_PARAMETER_INVALID;
       
    42     }
       
    43 
       
    44     if ( ctx->baseObj.ctxId == XAMediaPlayerAdaptation )
       
    45     {
       
    46     if(mute)
       
    47         {
       
    48         
       
    49         mmf_volumeitf_get_volume(((XAMediaPlayerAdaptationMMFCtx*)ctx)->mmfContext,
       
    50                                     &volume);
       
    51         ((XAMediaPlayerAdaptationMMFCtx*)ctx)->premutevol = volume;
       
    52         mmf_volumeitf_set_volume(((XAMediaPlayerAdaptationMMFCtx*)ctx)->mmfContext,
       
    53                                     0);
       
    54         }
       
    55     else
       
    56         {
       
    57         mmf_volumeitf_set_volume(((XAMediaPlayerAdaptationMMFCtx*)ctx)->mmfContext,
       
    58                                     ((XAMediaPlayerAdaptationMMFCtx*)ctx)->premutevol);
       
    59         }
       
    60     }
       
    61     else if ( ctx->baseObj.ctxId == XAMediaRecorderAdaptation )
       
    62     {
       
    63     if(mute)
       
    64         {
       
    65         
       
    66         mmf_volumeitf_get_volume(((XAMediaRecorderAdaptationMMFCtx*)ctx)->mmfContext,
       
    67                                     &volume);
       
    68         ((XAMediaRecorderAdaptationMMFCtx*)ctx)->premutevol = volume;
       
    69         mmf_volumeitf_set_volume(((XAMediaRecorderAdaptationMMFCtx*)ctx)->mmfContext,
       
    70                                     0);
       
    71         }
       
    72     else
       
    73         {
       
    74         mmf_volumeitf_set_volume(((XAMediaRecorderAdaptationMMFCtx*)ctx)->mmfContext,
       
    75                                     ((XAMediaRecorderAdaptationMMFCtx*)ctx)->premutevol);
       
    76         } 
       
    77     }
       
    78    	else if ( ctx->baseObj.ctxId == XARadioAdaptation )
       
    79     {
       
    80    			
       
    81     }
       
    82         
       
    83     DEBUG_API("<-XANokiaVolumeExtItfAdapt_SetMute");
       
    84     return XA_RESULT_SUCCESS;
       
    85 }
       
    86 
       
    87 /*
       
    88  * XAresult XANokiaVolumeExtItfAdapt_EnableStereoPosition(XAAdaptationBaseCtx *ctx, XAboolean enable)
       
    89  * @param XAAdaptationBaseCtx *ctx - Adaptation context
       
    90  * @param XAboolean enable - Enable Stereo Position
       
    91  * @return XAresult - Success value
       
    92  */
       
    93 XAresult XANokiaVolumeExtItfAdapt_EnableStereoPosition(XAAdaptationMMFCtx *ctx, XAboolean enable)
       
    94 {
       
    95     DEBUG_API("->XANokiaVolumeExtItfAdapt_EnableStereoPosition");
       
    96 
       
    97     if(!ctx || ( ctx->baseObj.ctxId != XAMediaPlayerAdaptation &&
       
    98                  ctx->baseObj.ctxId != XAMediaRecorderAdaptation ) )
       
    99     {
       
   100         DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
       
   101         DEBUG_API("<-XANokiaVolumeExtItfAdapt_EnableStereoPosition");
       
   102         /* invalid parameter */
       
   103         return XA_RESULT_PARAMETER_INVALID;
       
   104     }
       
   105 
       
   106     if ( ctx->baseObj.ctxId == XAMediaPlayerAdaptation  )
       
   107     {
       
   108 
       
   109     }
       
   110     else if ( ctx->baseObj.ctxId == XAMediaRecorderAdaptation )
       
   111     {
       
   112  
       
   113     }
       
   114 
       
   115     DEBUG_API("<-XANokiaVolumeExtItfAdapt_EnableStereoPosition");
       
   116     return XA_RESULT_SUCCESS;
       
   117 }
       
   118 
       
   119 /*
       
   120  * XAresult XANokiaVolumeExtItfAdapt_SetStereoPosition(XAAdaptationMMFCtx *ctx, XApermille stereoPosition)
       
   121  * @param XAAdaptationBaseCtx *ctx - Adaptation context
       
   122  * @param XApermille stereoPosition - Stereo Position to be set
       
   123  * @return XAresult - Success value
       
   124  */
       
   125 XAresult XANokiaVolumeExtItfAdapt_SetStereoPosition(XAAdaptationMMFCtx *ctx,
       
   126                                             XApermille stereoPosition)
       
   127 {
       
   128     DEBUG_API("->XANokiaVolumeExtItfAdapt_SetStereoPosition");
       
   129     
       
   130     if(!ctx || ( ctx->baseObj.ctxId != XAMediaPlayerAdaptation &&
       
   131                  ctx->baseObj.ctxId != XAMediaRecorderAdaptation ) )
       
   132     {
       
   133         DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
       
   134         DEBUG_API("<-XANokiaVolumeExtItfAdapt_SetStereoPosition");
       
   135         return XA_RESULT_PARAMETER_INVALID;
       
   136     }
       
   137 
       
   138     if ( ctx->baseObj.ctxId == XAMediaPlayerAdaptation  )
       
   139     {
       
   140 
       
   141     }
       
   142     else if ( ctx->baseObj.ctxId == XAMediaRecorderAdaptation )
       
   143     {
       
   144 
       
   145     }
       
   146 
       
   147     DEBUG_API("<-XANokiaVolumeExtItfAdapt_SetStereoPosition");
       
   148     return XA_RESULT_SUCCESS;
       
   149 }
       
   150 
       
   151 void XANokiaVolumeExtItfAdapt_MuteChange(XAAdaptationBaseCtx* ctx, XAboolean aMute)
       
   152 {
       
   153    	XAAdaptEvent event = {XA_NOKIAEXTVOLITFEVENTS, XA_ADAPT_VOLUME_MUTE_CHANGED,1,0};    	
       
   154     if (ctx)
       
   155  		{
       
   156  			event.data = &aMute;
       
   157  			XAAdaptationBase_SendAdaptEvents(ctx, &event );
       
   158    	}   
       
   159 }
       
   160