khronosfws/openmax_al/src/gst_adaptation/xamediaplayeradaptctx.h
changeset 33 5e8b14bae8c3
parent 28 ebf79c79991a
child 36 73253677b50a
equal deleted inserted replaced
28:ebf79c79991a 33:5e8b14bae8c3
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef XAMEDIAPLAYERADAPTCTX_H
       
    19 #define XAMEDIAPLAYERADAPTCTX_H
       
    20 
       
    21 #include "xaadaptationgst.h"
       
    22 #include "xametadataadaptation.h"
       
    23 /* TYPEDEFS */
       
    24 
       
    25 typedef struct XAMediaPlayerAdaptationCtx_ XAMediaPlayerAdaptationCtx;
       
    26 
       
    27 /*
       
    28  * Structure for Media Player specific gst-adaptation.
       
    29  */
       
    30 typedef struct XAMediaPlayerAdaptationCtx_
       
    31 {
       
    32     /* Parent*/
       
    33     XAAdaptationGstCtx_    baseObj;
       
    34 
       
    35     /* OMX-AL Variables */
       
    36     XADataSource            *xaSource, *xaBankSrc;
       
    37     XADataSink              *xaAudioSink, *xaVideoSink, *xaLEDArray, *xaVibra;
       
    38 
       
    39     /* GST elements */
       
    40     GstElement              *source;
       
    41     XAboolean               isobjsrc;    /*is source another XA object?*/
       
    42     GstElement              *codecbin;
       
    43     GstElement              *audioppbin;
       
    44     GstElement              *videoppbin;
       
    45     GstElement              *filter;
       
    46     GstElement              *videoppBScrbin;
       
    47     GstElement              *inputSelector;
       
    48     GstPad                  *blackScrSrcPad;
       
    49     GstPad                  *videoScrSrcPad;
       
    50     GstPad                  *blackScrSinkPad;
       
    51     GstPad                  *videoScrSinkPad;
       
    52     GstElement              *audiosink;
       
    53     XAboolean               isobjasink;   /*is audio sink another XA object?*/
       
    54     GstElement              *videosink;
       
    55     XAboolean               isobjvsink;   /*is video sink another XA object?*/
       
    56 
       
    57     XAboolean               mute;
       
    58     XAuint32                imageEffectID;
       
    59     XAboolean               isStereoPosition;
       
    60     XAmillidegree           curRotation;
       
    61     XAuint32                curMirror;
       
    62 
       
    63     XAint32                 buffering;
       
    64 
       
    65     /* internals */
       
    66     XAboolean               trackpositionenabled;
       
    67     guint                   runpositiontimer;
       
    68     GSourceFunc             positionCb;
       
    69     gint64                  lastpos;
       
    70 
       
    71     XAboolean               loopingenabled;
       
    72     gint64                  loopstart;
       
    73     gint64                  loopend;
       
    74 
       
    75     gdouble                 playrate;
       
    76     guint32                 rateprops;
       
    77 
       
    78     XAboolean               cameraSinkSynced;
       
    79 
       
    80     XAMetadataAdaptVars     *metadatavars;
       
    81 
       
    82 } XAMediaPlayerAdaptationCtx_;
       
    83 
       
    84 
       
    85 /* FUNCTIONS */
       
    86 XAAdaptationBaseCtx* XAMediaPlayerAdapt_Create( XADataSource *pDataSrc, XADataSource *pBankSrc,
       
    87                                                        XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
       
    88                                                        XADataSink *pVibra, XADataSink *pLEDArray);
       
    89 XAresult XAMediaPlayerAdapt_PostInit( XAAdaptationGstCtx* bCtx );
       
    90 void XAMediaPlayerAdapt_Destroy( XAAdaptationGstCtx* bCtx );
       
    91 XAresult XAMediaPlayerAdapt_UpdatePositionCbTimer(XAMediaPlayerAdaptationCtx_* mCtx);
       
    92 
       
    93 XAresult XAMediaPlayerAdapt_InitContentPipeSrc(XAMediaPlayerAdaptationCtx* ctx);
       
    94 #endif /*XAMEDIAPLAYERADAPTCTX_H*/
       
    95