--- a/khronosfws/openmax_al/src/mediaplayer/xaprefetchstatusitf.c Fri Sep 03 19:34:12 2010 -0500
+++ b/khronosfws/openmax_al/src/mediaplayer/xaprefetchstatusitf.c Tue Sep 21 11:38:43 2010 -0500
@@ -17,11 +17,12 @@
#include <stdio.h>
#include <stdlib.h>
-#include <assert.h>
#include "xaprefetchstatusitf.h"
#include "xaadaptationgst.h"
+#include "xaprefetchstatusitfadaptationmmf.h"
+
static XAPrefetchStatusItfImpl* GetImpl(XAPrefetchStatusItf self)
@@ -51,8 +52,11 @@
DEBUG_API("<-XAPrefetchStatusItfImpl_GetPrefetchStatus");
return XA_RESULT_PARAMETER_INVALID;
}
-
- *pStatus = impl->pStatus;
+
+ if (impl->adaptationCtx->fwtype == FWMgrFWMMF)
+ {
+ ret = XAPrefetchStatusItfAdaptMMF_GetPrefetchStatus(impl->adaptationCtx, pStatus);
+ }
DEBUG_API("<-XAPrefetchStatusItfImpl_GetPrefetchStatus");
return ret;
@@ -72,8 +76,11 @@
DEBUG_API("<-XAPrefetchStatusItfImpl_GetFillLevel");
return XA_RESULT_PARAMETER_INVALID;
}
-
- *pLevel = impl->pLevel;
+
+ if (impl->adaptationCtx->fwtype == FWMgrFWMMF)
+ {
+ ret = XAPrefetchStatusItfAdaptMMF_GetFillLevel(impl->adaptationCtx, pLevel);
+ }
DEBUG_API("<-XAPrefetchStatusItfImpl_GetFillLevel");
return ret;
@@ -99,6 +106,11 @@
impl->callback = callback;
impl->cbcontext = pContext;
impl->cbPtrToSelf = self;
+
+ if (impl->adaptationCtx->fwtype == FWMgrFWMMF)
+ {
+ ret = XAPrefetchStatusItfAdaptMMF_RegisterCallback(impl->adaptationCtx, callback);
+ }
DEBUG_API("<-XAPrefetchStatusItfImpl_RegisterCallback");
return ret;
@@ -111,7 +123,7 @@
XAPrefetchStatusItfImpl *impl = GetImpl(self);
DEBUG_API("->XAPrefetchStatusItfImpl_SetCallbackEventsMask");
- if(!impl )
+ if(!impl || eventFlags > (XA_PREFETCHEVENT_STATUSCHANGE|XA_PREFETCHEVENT_FILLLEVELCHANGE))
{
/* invalid parameter */
DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
@@ -120,6 +132,11 @@
}
impl->eventFlags = eventFlags;
+
+ if (impl->adaptationCtx->fwtype == FWMgrFWMMF)
+ {
+ ret = XAPrefetchStatusItfAdaptMMF_SetCallbackEventsMask(impl->adaptationCtx, eventFlags);
+ }
DEBUG_API("<-XAPrefetchStatusItfImpl_SetCallbackEventsMask");
return ret;
@@ -163,6 +180,11 @@
impl->fillUpdatePeriod = period;
+ if (impl->adaptationCtx->fwtype == FWMgrFWMMF)
+ {
+ ret = XAPrefetchStatusItfAdaptMMF_SetFillUpdatePeriod(impl->adaptationCtx, period);
+ }
+
DEBUG_API("<-XAPrefetchStatusItfImpl_SetFillUpdatePeriod");
return ret;
}
@@ -229,7 +251,6 @@
void XAPrefetchStatusItfImpl_Free(XAPrefetchStatusItfImpl* self)
{
DEBUG_API("->XAPrefetchStatusItfImpl_Free");
- assert(self==self->self);
XAAdaptationBase_RemoveEventHandler( (XAAdaptationBaseCtx*)self->adaptationCtx, &XAPrefetchStatusItfImpl_AdaptCb );
free(self);
DEBUG_API("<-XAPrefetchStatusItfImpl_Free");
@@ -248,22 +269,14 @@
DEBUG_API("<-XAPrefetchStatusItfImpl_AdaptCb");
return;
}
- assert(event);
- if( event->eventid == XA_ADAPT_BUFFERING )
+
+ if (impl->adaptationCtx->fwtype == FWMgrFWMMF)
{
- /* Adaptation sends percents convert it to permille */
- impl->fillUpdatePeriod = ((*(XAint32*)(event->data))*10);
-
- /*Check do we have to send event */
- if( impl->callback && impl->eventFlags & XA_PREFETCHEVENT_FILLLEVELCHANGE )
- {
- if ( (*(XAint32*)event->data) > impl->fillUpdatePeriod / 10 )
- {
- impl->callback(impl->cbPtrToSelf, impl->cbcontext, XA_PREFETCHEVENT_FILLLEVELCHANGE);
- }
- }
+ impl->callback(impl->cbPtrToSelf, impl->cbcontext, event->eventid);
+ DEBUG_API("<-XAPrefetchStatusItfImpl_AdaptCb");
+ return;
}
-
+
DEBUG_API("<-XAPrefetchStatusItfImpl_AdaptCb");
}