53 **/ |
50 **/ |
54 XAresult XAPlayItfImpl_SetPlayState(XAPlayItf self, XAuint32 state) |
51 XAresult XAPlayItfImpl_SetPlayState(XAPlayItf self, XAuint32 state) |
55 { |
52 { |
56 XAresult ret = XA_RESULT_SUCCESS; |
53 XAresult ret = XA_RESULT_SUCCESS; |
57 XAPlayItfImpl* impl = GetImpl(self); |
54 XAPlayItfImpl* impl = GetImpl(self); |
58 DEBUG_API_A1("->XAPlayItfImpl_SetPlayState %s",PLAYSTATENAME(state)); |
55 DEBUG_API_A1_STR("->XAPlayItfImpl_SetPlayState %s",PLAYSTATENAME(state)); |
59 |
56 |
60 if (!impl || state < XA_PLAYSTATE_STOPPED || state > XA_PLAYSTATE_PLAYING) |
57 if (!impl || state < XA_PLAYSTATE_STOPPED || state > XA_PLAYSTATE_PLAYING) |
61 { |
58 { |
62 /* invalid parameter */ |
59 /* invalid parameter */ |
63 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
60 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
494 = XAPlayItfImpl_SetPositionUpdatePeriod; |
491 = XAPlayItfImpl_SetPositionUpdatePeriod; |
495 |
492 |
496 /* init variables */ |
493 /* init variables */ |
497 self->callback = NULL; |
494 self->callback = NULL; |
498 self->cbcontext = NULL; |
495 self->cbcontext = NULL; |
499 self->playbackState = XA_PLAYSTATE_STOPPED; |
|
500 self->eventFlags = 0; |
496 self->eventFlags = 0; |
501 self->markerPosition = NO_POSITION; |
497 self->markerPosition = NO_POSITION; |
502 self->positionUpdatePeriod = PLAYITF_DEFAULT_UPDATE_PERIOD; |
498 self->positionUpdatePeriod = PLAYITF_DEFAULT_UPDATE_PERIOD; |
503 self->lastPosition = START_POSITION; |
499 self->lastPosition = START_POSITION; |
504 /*self->adapCtx = impl->curAdaptCtx;*/ |
500 /*self->adapCtx = impl->curAdaptCtx;*/ |
521 * Description: Free all resources reserved at XAPlayItfImpl_Create |
517 * Description: Free all resources reserved at XAPlayItfImpl_Create |
522 */ |
518 */ |
523 void XAPlayItfImpl_Free(XAPlayItfImpl* self) |
519 void XAPlayItfImpl_Free(XAPlayItfImpl* self) |
524 { |
520 { |
525 DEBUG_API("->XAPlayItfImpl_Free"); |
521 DEBUG_API("->XAPlayItfImpl_Free"); |
526 assert(self==self->self); |
|
527 /* XAAdaptationBase_RemoveEventHandler( self->adapCtx, &XAPlayItfImpl_AdaptCb );*/ |
522 /* XAAdaptationBase_RemoveEventHandler( self->adapCtx, &XAPlayItfImpl_AdaptCb );*/ |
528 XAAdaptationBase_RemoveEventHandler(self->pObjImpl->curAdaptCtx, |
523 XAAdaptationBase_RemoveEventHandler(self->pObjImpl->curAdaptCtx, |
529 &XAPlayItfImpl_AdaptCb); |
524 &XAPlayItfImpl_AdaptCb); |
530 free(self); |
525 free(self); |
531 DEBUG_API("<-XAPlayItfImpl_Free"); |
526 DEBUG_API("<-XAPlayItfImpl_Free"); |
537 void XAPlayItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event) |
532 void XAPlayItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event) |
538 { |
533 { |
539 XAPlayItfImpl* impl = (XAPlayItfImpl*) pHandlerCtx; |
534 XAPlayItfImpl* impl = (XAPlayItfImpl*) pHandlerCtx; |
540 |
535 |
541 DEBUG_API("->XAPlayItfImpl_AdaptCb"); |
536 DEBUG_API("->XAPlayItfImpl_AdaptCb"); |
542 XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS( XATSMediaPlayer ); |
537 //XA_IMPL_THREAD_SAFETY_ENTRY_FOR_VOID_FUNCTIONS( XATSMediaPlayer ); |
543 if (!impl) |
538 if (!impl) |
544 { |
539 { |
545 DEBUG_ERR("XAPlayItfImpl_AdaptCb, invalid context pointer!"); |
540 DEBUG_ERR("XAPlayItfImpl_AdaptCb, invalid context pointer!"); |
546 DEBUG_API("<-XAPlayItfImpl_AdaptCb"); |
541 DEBUG_API("<-XAPlayItfImpl_AdaptCb"); |
547 XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer ); |
542 //XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer ); |
548 return; |
543 return; |
549 } |
544 } |
550 assert(event); |
545 |
551 |
546 if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF) |
552 if (impl->pObjImpl->curAdaptCtx->fwtype == FWMgrFWMMF) |
547 { |
553 { |
548 if(impl->callback) |
554 impl->callback(impl->cbPtrToSelf, impl->cbcontext, event->eventid); |
549 { |
|
550 impl->callback(impl->cbPtrToSelf, impl->cbcontext, event->eventid); |
|
551 } |
555 DEBUG_API("<-XAPlayItfImpl_AdaptCb"); |
552 DEBUG_API("<-XAPlayItfImpl_AdaptCb"); |
556 XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer ); |
553 //XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer ); |
557 return; |
554 return; |
558 } |
555 } |
559 |
556 |
560 DEBUG_API("<-XAPlayItfImpl_AdaptCb"); |
557 DEBUG_API("<-XAPlayItfImpl_AdaptCb"); |
561 XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer ); |
558 //XA_IMPL_THREAD_SAFETY_EXIT_FOR_VOID_FUNCTIONS( XATSMediaPlayer ); |
562 } |
559 } |
563 |
560 |