khronosfws/openmax_al/src/engine/xaengine.h
changeset 25 6f7ceef7b1d1
parent 19 4a629bc82c5e
child 53 eabc8c503852
equal deleted inserted replaced
21:2ed61feeead6 25:6f7ceef7b1d1
     1 /*
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     2  * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3  * All rights reserved.
     4 * This component and the accompanying materials are made available
     4  * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5  * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6  * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     8  *
     9 * Initial Contributors:
     9  * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10  * Nokia Corporation - initial contribution.
    11 *
    11  *
    12 * Contributors:
    12  * Contributors:
    13 *
    13  *
    14 * Description: 
    14  * Description: Engine Implementation Header
    15 *
    15  *
    16 */
    16  */
    17 
    17 
    18 #ifndef XAENGINE_H
    18 #ifndef XAENGINE_H
    19 #define XAENGINE_H
    19 #define XAENGINE_H
    20 
    20 
    21 #include "openmaxalwrapper.h"
    21 #include "openmaxalwrapper.h"
    27 #include "xaframeworkmgr.h"
    27 #include "xaframeworkmgr.h"
    28 #include "xacapabilitiesmgr.h"
    28 #include "xacapabilitiesmgr.h"
    29 
    29 
    30 /** MACROS **/
    30 /** MACROS **/
    31 
    31 
    32 
       
    33 /** TYPES **/
    32 /** TYPES **/
    34 
       
    35 
    33 
    36 /** ENUMERATIONS **/
    34 /** ENUMERATIONS **/
    37 /* Enumeration for interfaces that Engine supports.  */
    35 /* Enumeration for interfaces that Engine supports.  */
    38 typedef enum
    36 typedef enum
    39 {
    37     {
    40     ENGINE_OBJECTITF,
    38     ENGINE_OBJECTITF,
    41     ENGINE_ENGINEITF,
    39     ENGINE_ENGINEITF,
    42     ENGINE_DIMITF,
    40     ENGINE_DIMITF,
    43     ENGINE_THREADSYNCITF,
    41     ENGINE_THREADSYNCITF,
    44 /*
    42     /*
    45     ENGINE_CONFIGEXTENSIONSITF,
    43      ENGINE_CONFIGEXTENSIONSITF,
    46     ENGINE_DEVICEVOLUMEITF,
    44      ENGINE_DEVICEVOLUMEITF,
    47 */
    45      */
    48     ENGINE_AUDIOIODEVICECAPAITF,
    46     ENGINE_AUDIOIODEVICECAPAITF,
    49 /*    ENGINE_AUDIODECODERCAPAITF,*/
    47     /*    ENGINE_AUDIODECODERCAPAITF,*/
    50     ENGINE_AUDIOENCODERCAPAITF,
    48     ENGINE_AUDIOENCODERCAPAITF,
    51 /*
    49     /*
    52     ENGINE_CAMERACAPAITF,
    50      ENGINE_CAMERACAPAITF,
    53     ENGINE_IMAGEDECODERCAPAITF,
    51      ENGINE_IMAGEDECODERCAPAITF,
    54     ENGINE_IMAGEENCODERCAPAITF,
    52      ENGINE_IMAGEENCODERCAPAITF,
    55     ENGINE_VIDEODECODERCAPAITF,
    53      ENGINE_VIDEODECODERCAPAITF,
    56     ENGINE_VIDEOENCODERCAPAITF,
    54      ENGINE_VIDEOENCODERCAPAITF,
    57 */
    55      */
    58     ENGINE_ITFCOUNT
    56     ENGINE_ITFCOUNT
    59 } XAEngineInterfaces;
    57     } XAEngineInterfaces;
    60 
    58 
    61 /** STRUCTURES **/
    59 /** STRUCTURES **/
    62 /* Specification for XAEngineImpl.
    60 /* Specification for XAEngineImpl.
    63  */
    61  */
    64 typedef struct XAEngineImpl_
    62 typedef struct XAEngineImpl_
    65 {
    63     {
    66     /* Parent for XAEngineImpl */
    64     /* Parent for XAEngineImpl */
    67     XAObjectItfImpl baseObj;
    65     XAObjectItfImpl baseObj;
    68 
    66 
    69     /* engine variables */
    67     /* engine variables */
    70     XAboolean isThreadSafe;
    68     XAboolean isThreadSafe;
    71 
    69 
    72     //actual adpatation context can point to either MMF or GST implementations
    70     //actual adpatation context can point to either MMF or GST implementations
    73     FrameworkMap *frameworkMap;
    71     FrameworkMap *frameworkMap;
    74     XACapabilities* capabilities;
    72     XACapabilities* capabilities;
    75    
    73 
    76 /*    void* adaptationGstCtx;
    74     /*    void* adaptationGstCtx;
    77     void* adaptationMmfCtx;*/
    75      void* adaptationMmfCtx;*/
    78 } XAEngineImpl;
    76     } XAEngineImpl;
    79 
    77 
    80 /** METHODS **/
    78 /** METHODS **/
    81 
    79 
    82 /* base object XAObjectItfImpl methods */
    80 /* base object XAObjectItfImpl methods */
    83 XAresult XAEngineImpl_DoRealize(XAObjectItf self);
    81 XAresult XAEngineImpl_DoRealize(XAObjectItf self);