diff -r a36789189b53 -r 095bea5f582e khronosfws/openmax_al/src/mediaplayer/xaplayitf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/khronosfws/openmax_al/src/mediaplayer/xaplayitf.h Tue Aug 31 15:43:02 2010 +0300 @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Play Itf Header + * + */ + +#ifndef XAPLAYITF_H +#define XAPLAYITF_H + +#include "xaadptbasectx.h" +#include "xamediaplayer.h" + +/** MACROS **/ +#define NO_POSITION XA_TIME_UNKNOWN +#define PLAYITF_DEFAULT_UPDATE_PERIOD 1000 +#define START_POSITION 0 + +/** TYPES **/ + +/** ENUMERATIONS **/ + +/** STRUCTURES **/ +/* Definition of XAPlayItf implementation */ +typedef struct XAPlayItfImpl_ + { + /* parent interface */ + struct XAPlayItf_ itf; + /* pointer to self */ + struct XAPlayItfImpl_* self; + + /* variables */ + XAPlayItf cbPtrToSelf; + /* TODO : This is no longer needed we need to get state from XAMediaPlayerImpl + * Delete this.*/ + XAuint32 playbackState; + + xaPlayCallback callback; + void *cbcontext; + XAuint32 eventFlags; + XAmillisecond markerPosition; + XAmillisecond positionUpdatePeriod; + XAboolean positionupdateOn; + XAmillisecond lastPosition; + XAboolean isMarkerPosCbSend; + + /*Adaptation variables*/ + /* TODO : This is no longer needed since we have access to XAMediaPlayerImpl + * Delete this.*/ + XAAdaptationBaseCtx *adapCtx; + + XAMediaPlayerImpl* pObjImpl; + + } XAPlayItfImpl; + +/** METHODS **/ + +/* Base interface XAPlayItf implementation */ +XAresult XAPlayItfImpl_SetPlayState(XAPlayItf self, XAuint32 state); + +XAresult XAPlayItfImpl_GetPlayState(XAPlayItf self, XAuint32 *pState); + +XAresult XAPlayItfImpl_GetDuration(XAPlayItf self, XAmillisecond *pMsec); + +XAresult XAPlayItfImpl_GetPosition(XAPlayItf self, XAmillisecond *pMsec); + +XAresult XAPlayItfImpl_RegisterCallback(XAPlayItf self, + xaPlayCallback callback, void *pContext); + +XAresult XAPlayItfImpl_SetCallbackEventsMask(XAPlayItf self, + XAuint32 eventFlags); + +XAresult XAPlayItfImpl_GetCallbackEventsMask(XAPlayItf self, + XAuint32 *pEventFlags); + +XAresult XAPlayItfImpl_SetMarkerPosition(XAPlayItf self, XAmillisecond mSec); + +XAresult XAPlayItfImpl_ClearMarkerPosition(XAPlayItf self); + +XAresult + XAPlayItfImpl_GetMarkerPosition(XAPlayItf self, XAmillisecond *pMsec); + +XAresult XAPlayItfImpl_SetPositionUpdatePeriod(XAPlayItf self, + XAmillisecond mSec); + +XAresult XAPlayItfImpl_GetPositionUpdatePeriod(XAPlayItf self, + XAmillisecond *pMsec); + +/* + * implementation-specific methods + */ +XAPlayItfImpl* XAPlayItfImpl_Create(XAMediaPlayerImpl *impl); +void XAPlayItfImpl_AdaptCb(void *pHandlerCtx, XAAdaptEvent *event); +void XAPlayItfImpl_Free(XAPlayItfImpl* self); + +#endif /* XAPLAYITF_H */