--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/khronosfws/openmax_al/src/mediaplayer/xaplayitf.h Fri Apr 16 15:29:42 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* 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:
+*
+*/
+
+#ifndef XAPLAYITF_H
+#define XAPLAYITF_H
+
+#include "openmaxalwrapper.h"
+#include "xaglobals.h"
+#ifdef _GSTREAMER_BACKEND_
+#include "XAAdaptationContextBase.h"
+#endif
+#include "xaadaptationcontextbasemmf.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;
+ XAuint32 playbackState;
+ xaPlayCallback callback;
+ void *cbcontext;
+ XAuint32 eventFlags;
+ XAmillisecond markerPosition;
+ XAmillisecond positionUpdatePeriod;
+ XAboolean positionupdateOn;
+ XAmillisecond lastPosition;
+ XAboolean isMarkerPosCbSend;
+
+#ifdef _GSTREAMER_BACKEND_
+ /*Adaptation variables*/
+ XAAdaptationBaseCtx *adapCtx;
+#endif
+ XAAdaptationBaseMMFCtx *adaptCtxMMF;
+ XAboolean isMMFPlayback;
+
+} 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(
+#ifdef _GSTREAMER_BACKEND_
+ XAAdaptationBaseCtx *adapCtx,
+#endif
+ XAAdaptationBaseMMFCtx *adaptationCtxMMF );
+#ifdef _GSTREAMER_BACKEND_
+void XAPlayItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event );
+#endif
+XAresult XAPlayItfImpl_DeterminePlaybackEngine(XAPlayItf self, XADataLocator_URI *uri);
+void XAPlayItfImpl_Free(XAPlayItfImpl* self);
+
+
+#endif /* XAPLAYITF_H */