khronosfws/openmax_al/src/common/xavolumeitf.c
changeset 19 4a629bc82c5e
parent 12 5a06f39ad45b
child 25 6f7ceef7b1d1
--- a/khronosfws/openmax_al/src/common/xavolumeitf.c	Mon May 03 12:59:52 2010 +0300
+++ b/khronosfws/openmax_al/src/common/xavolumeitf.c	Fri Apr 30 19:18:45 2010 -0500
@@ -20,9 +20,9 @@
 #include <assert.h>
 
 #include "xavolumeitf.h"
-#ifdef _GSTREAMER_BACKEND_  
-#include "XAVolumeItfAdaptation.h"
-#endif
+ 
+#include "xavolumeitfadaptation.h"
+#include "xanokiavolumeextitfadaptationmmf.h"
 /**
  * XAVolumeItfImpl* GetImpl(XAVolumeItf self)
  * Description: Validated interface pointer and cast it to implementations pointer.
@@ -73,23 +73,29 @@
         return XA_RESULT_PARAMETER_INVALID;
     }
 
-#ifdef _GSTREAMER_BACKEND_  
-    ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx);
+ 
+    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
     if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED )
     {
         DEBUG_API("<-XAVolumeItfImpl_SetVolumeLevel");
         return ret;
     }
-
-    ret = XAVolumeItfAdapt_SetVolumeLevel(impl->adapCtx,  level);
-
+    if(impl->adapCtx->fwtype == FWMgrFWGST)
+        {
+        ret = XAVolumeItfAdapt_SetVolumeLevel((XAAdaptationGstCtx*)impl->adapCtx,  level);
+        }
+    else
+        {
+        impl->volumeLevel = level;
+        }
+    
     if(ret == XA_RESULT_SUCCESS)
     {
         impl->volumeLevel = level;
     }
 
-    XAVolumeItfAdapt_ThreadExit(impl->adapCtx);
-#endif
+    XAAdaptationBase_ThreadExit(impl->adapCtx);
+
     DEBUG_API("<-XAVolumeItfImpl_SetVolumeLevel");
     return ret ;
 }
@@ -136,18 +142,25 @@
         return XA_RESULT_PARAMETER_INVALID;
     }
 
-#ifdef _GSTREAMER_BACKEND_  
-    ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx);
+ 
+    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
     if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED )
     {
         DEBUG_API("<-XAVolumeItfImpl_GetMaxVolumeLevel");
         return ret;
     }
-    ret = XAVolumeItfAdapt_GetMaxVolumeLevel(impl->adapCtx,
-                                             pMaxLevel);
+    if(impl->adapCtx->fwtype == FWMgrFWGST)
+        {
+        ret = XAVolumeItfAdapt_GetMaxVolumeLevel((XAAdaptationGstCtx*)impl->adapCtx,
+                                                 pMaxLevel);
+        }
+    else
+        {
+        *pMaxLevel = MAX_SUPPORT_VOLUME_LEVEL;
+        }
 
-    XAVolumeItfAdapt_ThreadExit(impl->adapCtx);
-#endif
+    XAAdaptationBase_ThreadExit(impl->adapCtx);
+
     DEBUG_API("<-XAVolumeItfImpl_GetMaxVolumeLevel");
     return ret;
 }
@@ -170,8 +183,8 @@
         return XA_RESULT_PARAMETER_INVALID;
     }
 
-#ifdef _GSTREAMER_BACKEND_  
-    ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx);
+ 
+    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
     if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED )
     {
         DEBUG_API("<-XAVolumeItfImpl_SetMute");
@@ -180,7 +193,14 @@
     /* check is mute state changed */
     if(mute != impl->mute)
     {
-        ret = XAVolumeItfAdapt_SetMute(impl->adapCtx,  mute);
+        if(impl->adapCtx->fwtype == FWMgrFWMMF)
+            {
+            ret = XANokiaVolumeExtItfAdapt_SetMute((XAAdaptationMMFCtx*)impl->adapCtx,  mute);
+            }
+        else
+            {
+            ret = XAVolumeItfAdapt_SetMute((XAAdaptationGstCtx*)impl->adapCtx,  mute);
+            }
 
         if(ret == XA_RESULT_SUCCESS)
         {
@@ -188,8 +208,8 @@
         }
     }
 
-    XAVolumeItfAdapt_ThreadExit(impl->adapCtx);
-#endif
+    XAAdaptationBase_ThreadExit(impl->adapCtx);
+
     DEBUG_API("<-XAVolumeItfImpl_SetMute");
     return ret;
 }
@@ -236,8 +256,8 @@
         return XA_RESULT_PARAMETER_INVALID;
     }
 
-#ifdef _GSTREAMER_BACKEND_  
-    ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx);
+ 
+    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
     if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED )
     {
         DEBUG_API("<-XAVolumeItfImpl_EnableStereoPosition");
@@ -246,17 +266,24 @@
     /* Check is stereo position state changed */
     if(enable != impl->enableStereoPos)
     {
-        ret = XAVolumeItfAdapt_EnableStereoPosition(impl->adapCtx,
+    if(impl->adapCtx->fwtype == FWMgrFWGST)
+        {
+        ret = XAVolumeItfAdapt_EnableStereoPosition((XAAdaptationGstCtx*)impl->adapCtx,
                                                     enable);
-
+        }
+    else
+        {
+        ret = XANokiaVolumeExtItfAdapt_EnableStereoPosition((XAAdaptationMMFCtx*)impl->adapCtx,
+                                                    enable);    
+        }
         if(ret == XA_RESULT_SUCCESS)
         {
             impl->enableStereoPos = enable;
         }
     }
 
-    XAVolumeItfAdapt_ThreadExit(impl->adapCtx);
-#endif
+    XAAdaptationBase_ThreadExit(impl->adapCtx);
+
     DEBUG_API("<-XAVolumeItfImpl_EnableStereoPosition");
     return ret;
 }
@@ -310,8 +337,8 @@
 
     impl->stereoPosition = stereoPosition;
 
-#ifdef _GSTREAMER_BACKEND_  
-    ret = XAVolumeItfAdapt_ThreadEntry(impl->adapCtx);
+ 
+    ret = XAAdaptationBase_ThreadEntry(impl->adapCtx);
     if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED )
     {
         DEBUG_API("<-XAVolumeItfImpl_SetStereoPosition");
@@ -320,12 +347,20 @@
     /* check is stereo position effect enabled if is then handle effect */
     if(impl->enableStereoPos)
     {
-        ret = XAVolumeItfAdapt_SetStereoPosition(impl->adapCtx,
+    if(impl->adapCtx->fwtype == FWMgrFWGST)
+        {
+        ret = XAVolumeItfAdapt_SetStereoPosition((XAAdaptationGstCtx*)impl->adapCtx,
                                                  stereoPosition);
+        }
+    else
+        {
+        ret = XANokiaVolumeExtItfAdapt_SetStereoPosition((XAAdaptationMMFCtx*)impl->adapCtx,
+                                                 stereoPosition);    
+        }
     }
 
-    XAVolumeItfAdapt_ThreadExit(impl->adapCtx);
-#endif
+    XAAdaptationBase_ThreadExit(impl->adapCtx);
+
     DEBUG_API("<-XAVolumeItfImpl_SetStereoPosition");
     return ret;
 }
@@ -359,7 +394,7 @@
 /**
  * XAVolumeItfImpl -specific methods
  **/
-#ifdef _GSTREAMER_BACKEND_  
+
 
 /**
  * XAVolumeItfImpl* XAVolumeItfImpl_Create()
@@ -398,7 +433,7 @@
     DEBUG_API("<-XAVolumeItfImpl_Create");
     return self;
 }
-#endif
+
 /**
  * void XAVolumeItfImpl_Free(XAVolumeItfImpl* self)
  * Description: Free all resources reserved at XAVolumeItfImpl_Create