khronosfws/openmax_al/src/mediaplayer/xaplaybackrateitf.c
changeset 16 43d09473c595
parent 12 5a06f39ad45b
child 28 ebf79c79991a
--- a/khronosfws/openmax_al/src/mediaplayer/xaplaybackrateitf.c	Mon May 03 12:59:52 2010 +0300
+++ b/khronosfws/openmax_al/src/mediaplayer/xaplaybackrateitf.c	Fri May 14 16:22:35 2010 +0300
@@ -19,9 +19,9 @@
 #include <stdlib.h>
 #include <assert.h>
 #include "xaplaybackrateitf.h"
-#ifdef _GSTREAMER_BACKEND_  
-#include "XAPlaybackRateItfAdaptation.h"
-#endif
+
+#include "xaplaybackrateitfadaptation.h"
+
 #include "xathreadsafety.h"
 
 static XAPlaybackRateItfImpl* GetImpl(XAPlaybackRateItf self)
@@ -56,9 +56,16 @@
         return XA_RESULT_PARAMETER_INVALID;
     }
 
-#ifdef _GSTREAMER_BACKEND_
-    res = XAPlaybackRateItfAdapt_SetRate(impl->adaptCtx, rate);
-#endif
+    if(impl->adaptCtx->fwtype == FWMgrFWGST)
+        {
+        res = XAPlaybackRateItfAdapt_SetRate((XAAdaptationGstCtx*)impl->adaptCtx, rate);
+        }
+    else
+        {
+        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
+        res = XA_RESULT_FEATURE_UNSUPPORTED;          
+        }
+    
     if(res == XA_RESULT_SUCCESS)
     {
         impl->currentRate = rate;
@@ -81,7 +88,15 @@
         DEBUG_API("<-XAPlaybackRateItfImpl_GetRate");
         return XA_RESULT_PARAMETER_INVALID;
     }
-    *pRate = impl->currentRate;
+    if(impl->adaptCtx->fwtype == FWMgrFWGST)
+        {
+        *pRate = impl->currentRate;
+        }
+    else
+        {
+        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
+        res = XA_RESULT_FEATURE_UNSUPPORTED;          
+        }
 
     DEBUG_API("<-XAPlaybackRateItfImpl_GetRate");
     return res;
@@ -103,10 +118,17 @@
         return XA_RESULT_PARAMETER_INVALID;
     }
     
-#ifdef _GSTREAMER_BACKEND_
-    /* set to adaptation */
-    res = XAPlaybackRateItfAdapt_SetPropertyConstraints(impl->adaptCtx, constraints);
-#endif
+    if(impl->adaptCtx->fwtype == FWMgrFWGST)
+        {
+        /* set to adaptation */
+        res = XAPlaybackRateItfAdapt_SetPropertyConstraints((XAAdaptationGstCtx*)impl->adaptCtx, constraints);
+        }
+    else
+        {
+        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
+        res = XA_RESULT_FEATURE_UNSUPPORTED;          
+        }
+    
     XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
     DEBUG_API("<-XAPlaybackRateItfImpl_SetPropertyConstraints");
     return res;
@@ -126,10 +148,17 @@
         return XA_RESULT_PARAMETER_INVALID;
     }
    
-#ifdef _GSTREAMER_BACKEND_
-    /* needs to be queried from adaptation */
-    res = XAPlaybackRateItfAdapt_GetProperties(impl->adaptCtx, pProperties);
-#endif
+    if(impl->adaptCtx->fwtype == FWMgrFWGST)
+        {
+        /* needs to be queried from adaptation */
+        res = XAPlaybackRateItfAdapt_GetProperties((XAAdaptationGstCtx*)impl->adaptCtx, pProperties);
+        }
+    else
+        {
+        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
+        res = XA_RESULT_FEATURE_UNSUPPORTED;          
+        }
+    
     DEBUG_API("<-XAPlaybackRateItfImpl_GetProperties");
     return res;
 }
@@ -152,10 +181,17 @@
         return XA_RESULT_PARAMETER_INVALID;
     }
     
-#ifdef _GSTREAMER_BACKEND_
-    /* needs to be queried from adaptation */
-    res = XAPlaybackRateItfAdapt_GetCapabilitiesOfRate(impl->adaptCtx, rate, pCapabilities);
-#endif
+    if(impl->adaptCtx->fwtype == FWMgrFWGST)
+        {
+        /* needs to be queried from adaptation */
+        res = XAPlaybackRateItfAdapt_GetCapabilitiesOfRate((XAAdaptationGstCtx*)impl->adaptCtx, rate, pCapabilities);
+        }
+    else
+        {
+        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
+        res = XA_RESULT_FEATURE_UNSUPPORTED;          
+        }
+
     XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
     DEBUG_API("<-XAPlaybackRateItfImpl_GetCapabilitiesOfRate");
     return res;
@@ -180,12 +216,18 @@
         DEBUG_API("<-XAPlaybackRateItfImpl_GetRateRange");
         return XA_RESULT_PARAMETER_INVALID;
     }
+    if(impl->adaptCtx->fwtype == FWMgrFWGST)
+        {
+        /* needs to be queried from adaptation */
+        res = XAPlaybackRateItfAdapt_GetRateRange((XAAdaptationGstCtx*)impl->adaptCtx, index, pMinRate,
+                                                  pMaxRate,pStepSize, pCapabilities);
+        }
+    else
+        {
+        DEBUG_ERR("XA_RESULT_FEATURE_UNSUPPORTED");
+        res = XA_RESULT_FEATURE_UNSUPPORTED;          
+        }
     
-#ifdef _GSTREAMER_BACKEND_
-    /* needs to be queried from adaptation */
-    res = XAPlaybackRateItfAdapt_GetRateRange(impl->adaptCtx, index, pMinRate,
-                                              pMaxRate,pStepSize, pCapabilities);
-#endif
     XA_IMPL_THREAD_SAFETY_EXIT( XATSMediaPlayer );
     DEBUG_API("<-XAPlaybackRateItfImpl_GetRateRange");
     return res;
@@ -194,13 +236,11 @@
 /**
  * XAPlaybackRateItfImpl -specific methods
  **/
-#ifdef _GSTREAMER_BACKEND_
-
 /**
  * XAPlaybackRateItfImpl* XAPlaybackRateItfImpl_Create();
  * @return  XAPlaybackRateItfImpl* - Pointer to  PlaybackRateItf interface implementation
  **/
-XAPlaybackRateItfImpl* XAPlaybackRateItfImpl_Create( XAAdaptationBaseCtx *adaptCtx )
+XAPlaybackRateItfImpl* XAPlaybackRateItfImpl_Create( XAMediaPlayerImpl *impl )
 {
     XAPlaybackRateItfImpl *self = (XAPlaybackRateItfImpl*)
         calloc(1,sizeof(XAPlaybackRateItfImpl));
@@ -217,7 +257,7 @@
         self->itf.SetRate = XAPlaybackRateItfImpl_SetRate;
 
         /* init variables */
-        self->adaptCtx = adaptCtx;
+        self->adaptCtx = impl->curAdaptCtx;
         self->currentRate = 1000;
         self->self = self;
     }
@@ -225,7 +265,7 @@
     DEBUG_API("<-XAPlaybackRateItfImpl_Create");
     return self;
 }
-#endif
+
 /**
  * void XAPlaybackRateItfImpl_Free(XAPlaybackRateItfImpl* self);
  * @param  XAPlaybackRateItfImpl* self -