khronosfws/openmax_al/src/gst_adaptation/xamediaplayeradaptctx.h
changeset 16 43d09473c595
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/khronosfws/openmax_al/src/gst_adaptation/xamediaplayeradaptctx.h	Fri May 14 16:22:35 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* 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 XAMEDIAPLAYERADAPTCTX_H
+#define XAMEDIAPLAYERADAPTCTX_H
+
+#include "xaadaptationgst.h"
+#include "xametadataadaptation.h"
+/* TYPEDEFS */
+
+typedef struct XAMediaPlayerAdaptationCtx_ XAMediaPlayerAdaptationCtx;
+
+/*
+ * Structure for Media Player specific gst-adaptation.
+ */
+typedef struct XAMediaPlayerAdaptationCtx_
+{
+    /* Parent*/
+    XAAdaptationGstCtx_    baseObj;
+
+    /* OMX-AL Variables */
+    XADataSource            *xaSource, *xaBankSrc;
+    XADataSink              *xaAudioSink, *xaVideoSink, *xaLEDArray, *xaVibra;
+
+    /* GST elements */
+    GstElement              *source;
+    XAboolean               isobjsrc;    /*is source another XA object?*/
+    GstElement              *codecbin;
+    GstElement              *audioppbin;
+    GstElement              *videoppbin;
+    GstElement              *filter;
+    GstElement              *videoppBScrbin;
+    GstElement              *inputSelector;
+    GstPad                  *blackScrSrcPad;
+    GstPad                  *videoScrSrcPad;
+    GstPad                  *blackScrSinkPad;
+    GstPad                  *videoScrSinkPad;
+    GstElement              *audiosink;
+    XAboolean               isobjasink;   /*is audio sink another XA object?*/
+    GstElement              *videosink;
+    XAboolean               isobjvsink;   /*is video sink another XA object?*/
+
+    XAboolean               mute;
+    XAuint32                imageEffectID;
+    XAboolean               isStereoPosition;
+    XAmillidegree           curRotation;
+    XAuint32                curMirror;
+
+    XAint32                 buffering;
+
+    /* internals */
+    XAboolean               trackpositionenabled;
+    guint                   runpositiontimer;
+    GSourceFunc             positionCb;
+    gint64                  lastpos;
+
+    XAboolean               loopingenabled;
+    gint64                  loopstart;
+    gint64                  loopend;
+
+    gdouble                 playrate;
+    guint32                 rateprops;
+
+    XAboolean               cameraSinkSynced;
+
+    XAMetadataAdaptVars     *metadatavars;
+
+} XAMediaPlayerAdaptationCtx_;
+
+
+/* FUNCTIONS */
+XAAdaptationBaseCtx* XAMediaPlayerAdapt_Create( XADataSource *pDataSrc, XADataSource *pBankSrc,
+                                                       XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
+                                                       XADataSink *pVibra, XADataSink *pLEDArray);
+XAresult XAMediaPlayerAdapt_PostInit( XAAdaptationGstCtx* bCtx );
+void XAMediaPlayerAdapt_Destroy( XAAdaptationGstCtx* bCtx );
+XAresult XAMediaPlayerAdapt_UpdatePositionCbTimer(XAMediaPlayerAdaptationCtx_* mCtx);
+
+XAresult XAMediaPlayerAdapt_InitContentPipeSrc(XAMediaPlayerAdaptationCtx* ctx);
+#endif /*XAMEDIAPLAYERADAPTCTX_H*/
+