--- a/khronosfws/openmax_al/src/mmf_adaptation/xanokialinearvolumeitfadaptationmmf.c Wed Jun 23 18:47:10 2010 +0300
+++ b/khronosfws/openmax_al/src/mmf_adaptation/xanokialinearvolumeitfadaptationmmf.c Tue Jul 06 14:50:35 2010 +0300
@@ -21,6 +21,37 @@
#include "cmmfbackendengine.h"
#include "cmmfradiobackendengine.h"
+XAresult XANokiaLinearVolumeItfAdapt_GetVolumeLevel(XAAdaptationMMFCtx *ctx, XAuint32* percentage)
+{
+ XAresult res = XA_RESULT_SUCCESS;
+ XAuint32 maxvol;
+ XAuint32 vol;
+ DEBUG_API("->XANokiaLinearVolumeItfAdapt_GetVolumeLevel");
+ if(!ctx || ( ctx->baseObj.ctxId != XAMediaPlayerAdaptation &&
+ ctx->baseObj.ctxId != XAMediaRecorderAdaptation &&
+ ctx->baseObj.ctxId != XARadioAdaptation) )
+ {
+ DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
+ DEBUG_API("<-XANokiaLinearVolumeItfAdapt_GetVolumeLevel");
+ /* invalid parameter */
+ return XA_RESULT_PARAMETER_INVALID;
+ }
+
+ if(ctx->baseObj.ctxId == XAMediaPlayerAdaptation)
+ {
+ mmf_volumeitf_get_maxvolume(((XAMediaPlayerAdaptationMMFCtx*)ctx)->mmfContext,
+ &maxvol);
+ mmf_volumeitf_get_volume(((XAMediaPlayerAdaptationMMFCtx*)ctx)->mmfContext,
+ &vol);
+
+ *percentage = (vol * MAX_PERCENTAGE_VOLUME)/maxvol;
+
+ }
+
+ DEBUG_API_A1("<-XANokiaLinearVolumeItfAdapt_GetVolumeLevel %d", percentage);
+ return res;
+}
+
/*
* XAresult XANokiaLinearVolumeItfAdapt_SetVolumeLevel(void *ctx, AdaptationContextIDS ctx->baseObj.ctxId,
* XAuint32 percentage)