khronosfws/openmax_al/src/mediaplayer/xaprefetchstatusitf.c
changeset 16 43d09473c595
parent 12 5a06f39ad45b
child 53 eabc8c503852
equal deleted inserted replaced
14:80975da52420 16:43d09473c595
    18 #include <stdio.h>
    18 #include <stdio.h>
    19 #include <stdlib.h>
    19 #include <stdlib.h>
    20 #include <assert.h>
    20 #include <assert.h>
    21 
    21 
    22 #include "xaprefetchstatusitf.h"
    22 #include "xaprefetchstatusitf.h"
    23 #ifdef _GSTREAMER_BACKEND_
    23 
    24 #include "XAAdaptationContextBase.h"
    24 #include "xaadaptationgst.h"
    25 #endif
    25 
    26 
    26 
    27 static XAPrefetchStatusItfImpl* GetImpl(XAPrefetchStatusItf self)
    27 static XAPrefetchStatusItfImpl* GetImpl(XAPrefetchStatusItf self)
    28 {
    28 {
    29     if(self)
    29     if(self)
    30     {
    30     {
   186 
   186 
   187     DEBUG_API("<-XAPrefetchStatusItfImpl_GetFillUpdatePeriod");
   187     DEBUG_API("<-XAPrefetchStatusItfImpl_GetFillUpdatePeriod");
   188     return ret;
   188     return ret;
   189 }
   189 }
   190 
   190 
   191 #ifdef _GSTREAMER_BACKEND_
       
   192 
       
   193 /*
   191 /*
   194  * implementation-specific methods
   192  * implementation-specific methods
   195  */
   193  */
   196 XAPrefetchStatusItfImpl* XAPrefetchStatusItfImpl_Create( XAAdaptationBaseCtx* adaptationCtx )
   194 XAPrefetchStatusItfImpl* XAPrefetchStatusItfImpl_Create( XAMediaPlayerImpl* impl )
   197 {
   195 {
   198     XAPrefetchStatusItfImpl *self = (XAPrefetchStatusItfImpl*)
   196     XAPrefetchStatusItfImpl *self = (XAPrefetchStatusItfImpl*)
   199         calloc(1,sizeof(XAPrefetchStatusItfImpl));
   197         calloc(1,sizeof(XAPrefetchStatusItfImpl));
   200     DEBUG_API("->XAPrefetchStatusItfImpl_Create");
   198     DEBUG_API("->XAPrefetchStatusItfImpl_Create");
   201 
   199 
   213         self->callback = NULL;
   211         self->callback = NULL;
   214         self->cbcontext = NULL;
   212         self->cbcontext = NULL;
   215         self->eventFlags = 0;
   213         self->eventFlags = 0;
   216         self->fillUpdatePeriod = PREFETCHSTATUSITF_DEFAULT_UPDATE_PERIOD;
   214         self->fillUpdatePeriod = PREFETCHSTATUSITF_DEFAULT_UPDATE_PERIOD;
   217         self->pStatus = XA_PREFETCHSTATUS_SUFFICIENTDATA;
   215         self->pStatus = XA_PREFETCHSTATUS_SUFFICIENTDATA;
   218         self->adaptationCtx = adaptationCtx;
   216         self->adaptationCtx = impl->curAdaptCtx;
   219         self->cbPtrToSelf = NULL;
   217         self->cbPtrToSelf = NULL;
   220 
   218 
   221         XAAdaptationBase_AddEventHandler( adaptationCtx, &XAPrefetchStatusItfImpl_AdaptCb, XA_PREFETCHITFEVENTS, self );
   219         XAAdaptationBase_AddEventHandler( self->adaptationCtx, &XAPrefetchStatusItfImpl_AdaptCb, XA_PREFETCHITFEVENTS, self );
   222 
   220 
   223         self->self = self;
   221         self->self = self;
   224     }
   222     }
   225 
   223 
   226     DEBUG_API("<-XAPrefetchStatusItfImpl_Create");
   224     DEBUG_API("<-XAPrefetchStatusItfImpl_Create");
   227     return self;
   225     return self;
   228 }
   226 }
   229 #endif
   227 
   230 
   228 
   231 void XAPrefetchStatusItfImpl_Free(XAPrefetchStatusItfImpl* self)
   229 void XAPrefetchStatusItfImpl_Free(XAPrefetchStatusItfImpl* self)
   232 {
   230 {
   233     DEBUG_API("->XAPrefetchStatusItfImpl_Free");
   231     DEBUG_API("->XAPrefetchStatusItfImpl_Free");
   234     assert(self==self->self);
   232     assert(self==self->self);
   235 #ifdef _GSTREAMER_BACKEND_
       
   236     XAAdaptationBase_RemoveEventHandler( (XAAdaptationBaseCtx*)self->adaptationCtx, &XAPrefetchStatusItfImpl_AdaptCb );
   233     XAAdaptationBase_RemoveEventHandler( (XAAdaptationBaseCtx*)self->adaptationCtx, &XAPrefetchStatusItfImpl_AdaptCb );
   237 #endif    
       
   238     free(self);
   234     free(self);
   239     DEBUG_API("<-XAPrefetchStatusItfImpl_Free");
   235     DEBUG_API("<-XAPrefetchStatusItfImpl_Free");
   240 }
   236 }
   241 
       
   242 #ifdef _GSTREAMER_BACKEND_
       
   243 
   237 
   244 /* void XAPrefetchStatusItfImpl_AdaptCb
   238 /* void XAPrefetchStatusItfImpl_AdaptCb
   245  * Description: Listen changes in adaptation
   239  * Description: Listen changes in adaptation
   246  */
   240  */
   247 void XAPrefetchStatusItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event )
   241 void XAPrefetchStatusItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event )
   270         }
   264         }
   271     }
   265     }
   272 
   266 
   273     DEBUG_API("<-XAPrefetchStatusItfImpl_AdaptCb");
   267     DEBUG_API("<-XAPrefetchStatusItfImpl_AdaptCb");
   274 }
   268 }
   275 #endif
   269 
   276