1dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*
2dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Copyright (c) 2009 The Khronos Group Inc.
3dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
4dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Permission is hereby granted, free of charge, to any person obtaining
5dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * a copy of this software and associated documentation files (the
6dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * "Software"), to deal in the Software without restriction, including
7dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * without limitation the rights to use, copy, modify, merge, publish,
8dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * distribute, sublicense, and/or sell copies of the Software, and to
9dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * permit persons to whom the Software is furnished to do so, subject
10dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * to the following conditions:
11dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * The above copyright notice and this permission notice shall be included
12dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * in all copies or substantial portions of the Software.
13dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
14dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand *
22dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
23dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
24dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** OMX_CoreExt.h - OpenMax IL version 1.1.2
25dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * The OMX_CoreExt header file contains extensions to the definitions used
26dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * by both the application and the component to access common items.
27dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
28dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
29dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifndef OMX_CoreExt_h
30dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_CoreExt_h
31dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
32dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifdef __cplusplus
33dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandextern "C" {
34dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* __cplusplus */
35dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
36dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* Each OMX header shall include all required header files to allow the
37dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * header to compile without errors.  The includes below are required
38dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * for this header file to compile successfully
39dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */
40dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#include <OMX_Core.h>
41dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
42dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
43dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Event type extensions. */
44dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum OMX_EVENTEXTTYPE
45dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{
46dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_EventIndexSettingChanged = OMX_EventKhronosExtensions, /**< component signals the IL client of a change
47dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand                                                                    in a param, config, or extension */
48dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_EventExtMax = 0x7FFFFFFF
49dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_EVENTEXTTYPE;
50dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
51dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
52dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** Enable or disable a callback event. */
53dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct OMX_CONFIG_CALLBACKREQUESTTYPE {
54dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nSize;              /**< size of the structure in bytes */
55dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_VERSIONTYPE nVersion;   /**< OMX specification version information */
56dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_U32 nPortIndex;         /**< port that this structure applies to */
57dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_INDEXTYPE nIndex;       /**< the index the callback is requested for */
58dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand    OMX_BOOL bEnable;           /**< enable (OMX_TRUE) or disable (OMX_FALSE) the callback */
59dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} OMX_CONFIG_CALLBACKREQUESTTYPE;
60dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
61dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifdef __cplusplus
62dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}
63dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* __cplusplus */
64dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand
65dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* OMX_CoreExt_h */
66dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* File EOF */
67