omxil/omxilapi/shai/OMX_Symbian_ComponentExt.h
branchOpenMAX-IL_SHAI
changeset 16 eedf2dcd43c6
equal deleted inserted replaced
15:c1e808730d6c 16:eedf2dcd43c6
       
     1 /*
       
     2   OMX_Symbian_ComponentExt.h
       
     3   
       
     4   Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
       
     5   All rights reserved.
       
     6 
       
     7   This program and the accompanying materials are made available 
       
     8   under the terms of the Eclipse Public License v1.0 which accompanies 
       
     9   this distribution, and is available at 
       
    10   http://www.eclipse.org/legal/epl-v10.html
       
    11 
       
    12   Initial Contributors:
       
    13   Nokia Corporation - initial contribution.
       
    14 */
       
    15 
       
    16 /** @file
       
    17 @brief Symbian OpenMAX IL Extension Data Structures for the 'Component' types.
       
    18 
       
    19 This file contains the extension structures for the Symbian IL extensions that
       
    20 pertain to common component functionality.
       
    21 
       
    22 @publishedDeviceAbstraction
       
    23 */
       
    24 
       
    25 #ifndef OMX_Symbian_ComponentExt_h
       
    26 #define OMX_Symbian_ComponentExt_h
       
    27 
       
    28 #ifdef __cplusplus
       
    29 extern "C" {
       
    30 #endif /* __cplusplus */
       
    31 
       
    32 /* Each OMX header must include all required header files to allow the
       
    33  * header to compile without errors.  The includes below are required
       
    34  * for this header file to compile successfully 
       
    35  */
       
    36 #include <openmax/il/khronos/v1_x/OMX_Types.h>
       
    37 
       
    38 
       
    39 /** @name Deferred mode control */
       
    40 
       
    41 /*@{*/
       
    42 
       
    43 /** Commit mode selection struct. 
       
    44 
       
    45 The index specified for this structure is retrieved using 
       
    46 OMX_GetExtensionIndex() with the extension string 
       
    47 "OMX.Symbian.Index.Config.CommitMode".
       
    48 */
       
    49 typedef struct OMX_SYMBIAN_CONFIG_COMMITMODETYPE {
       
    50     OMX_U32 nSize;
       
    51     OMX_VERSIONTYPE nVersion;
       
    52     OMX_BOOL bDeferred;
       
    53 } OMX_SYMBIAN_CONFIG_COMMITMODETYPE;
       
    54 
       
    55 /** Explicit commit struct.
       
    56 
       
    57 The index specified for this structure is retrieved using 
       
    58 OMX_GetExtensionIndex() with the extension string 
       
    59 "OMX.Symbian.Index.Config.Commit".
       
    60 */
       
    61 typedef struct OMX_SYMBIAN_CONFIG_COMMITTYPE {
       
    62     OMX_U32 nSize;
       
    63     OMX_VERSIONTYPE nVersion;
       
    64 } OMX_SYMBIAN_CONFIG_COMMITTYPE;
       
    65 
       
    66 /*@}*/
       
    67 
       
    68 /** @name Thread Priority Control */
       
    69 
       
    70 /*@{*/
       
    71 
       
    72 /** Symbian OS thread priority control.
       
    73 
       
    74 The index specified for this structure is retrieved using 
       
    75 OMX_GetExtensionIndex() with the extension string 
       
    76 "OMX.Symbian.Index.Config.SymbianThreadPriority".
       
    77 */
       
    78 typedef struct OMX_SYMBIAN_CONFIG_SYMBIANTHREADPRIORITYTYPE {
       
    79     OMX_U32 nSize;              /**< size of the structure in bytes */
       
    80     OMX_VERSIONTYPE nVersion;   /**< OMX specification version information */
       
    81     OMX_U32 nThreadID;          /**< Implementation specific thread ID */
       
    82     OMX_S32 nThreadPriority;    /**< The actual priority value */
       
    83 } OMX_SYMBIAN_CONFIG_SYMBIANTHREADPRIORITYTYPE;
       
    84 
       
    85 /*@}*/
       
    86 
       
    87 /** @name Shared Chunk Metadata Extension */
       
    88 
       
    89 /*@{*/
       
    90 
       
    91 /** Symbian OS shared chunk metadata config type.
       
    92 
       
    93 The index specified for this structure is retrieved using 
       
    94 OMX_GetExtensionIndex() with the extension string 
       
    95 "OMX.Symbian.Index.Config.Sharedchunkmetadata".
       
    96 */
       
    97 typedef struct OMX_SYMBIAN_CONFIG_SHAREDCHUNKMETADATATYPE
       
    98 {
       
    99     OMX_U32 nSize;             /**< Size of this structure, in Bytes */
       
   100     OMX_VERSIONTYPE nVersion;  /**< OMX specification version information */
       
   101     OMX_U32 nPortIndex;        /**< Port that this structure applies to */
       
   102     OMX_U32 nHandleId;         /**< This is a handle id of the shared chunk */
       
   103     OMX_U64 nOwnerThreadId;    /**< This is thread that contains the handle */
       
   104 } OMX_SYMBIAN_CONFIG_SHAREDCHUNKMETADATATYPE;
       
   105 
       
   106 /*@}*/
       
   107 
       
   108 /** @name GPS Positioning Extension */
       
   109 
       
   110 /*@{*/
       
   111 
       
   112 /** GPS location config.
       
   113 */
       
   114 typedef struct OMX_SYMBIAN_CONFIG_GPSLOCATIONTYPE {    
       
   115     OMX_U32 nSize;
       
   116     OMX_VERSIONTYPE nVersion;
       
   117     OMX_U32 nPortIndex;
       
   118     OMX_U64 nLatitudeDegrees;
       
   119     OMX_U64 nLatitudeMinutes;
       
   120     OMX_U64 nLatitudeSeconds;
       
   121     OMX_U64 nLongitudeDegrees;
       
   122     OMX_U64 nLongitudeMinutes;
       
   123     OMX_U64 nLongitudeSeconds;
       
   124     OMX_U64 nAltitudeMeters;
       
   125     OMX_BOOL bLatitudeRefNorth;
       
   126     OMX_BOOL bLongitudeRefEast;
       
   127     OMX_BOOL bAltitudeRefAboveSea;
       
   128     OMX_BOOL bLocationKnown;  
       
   129 } OMX_SYMBIAN_CONFIG_GPSLOCATIONTYPE;
       
   130 
       
   131 /*@}*/
       
   132 
       
   133 #ifdef __cplusplus
       
   134 }
       
   135 #endif /* __cplusplus */
       
   136 
       
   137 #endif /* OMX_Symbian_ComponentExt_h */