1/*
2 * Copyright (c) 2010, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * *  Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions and the following disclaimer.
11 *
12 * *  Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in the
14 *    documentation and/or other materials provided with the distribution.
15 *
16 * *  Neither the name of Texas Instruments Incorporated nor the names of
17 *    its contributors may be used to endorse or promote products derived
18 *    from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33#ifdef _Android
34
35/* #include "OMX_RegLib.h" */
36#include "OMX_Component.h"
37#include "OMX_Core.h"
38#include "OMX_ComponentRegistry.h"
39
40#include "OMX_Core_Wrapper.h"
41#include "timm_osal_trace.h"
42#undef LOG_TAG
43#define LOG_TAG "OMX_CORE"
44
45/** determine capabilities of a component before acually using it */
46extern OMX_BOOL TIOMXConfigParser(OMX_PTR aInputParameters,
47    OMX_PTR aOutputParameters);
48
49#endif
50
51
52#ifdef _Android
53#ifdef _FROYO
54OMX_BOOL TIOMXConfigParserRedirect(OMX_PTR aInputParameters,
55    OMX_PTR aOutputParameters)
56{
57	TIMM_OSAL_Entering("OMXConfigParserRedirect +\n");
58	OMX_BOOL Status = OMX_FALSE;
59
60	Status = TIOMXConfigParser(aInputParameters, aOutputParameters);
61
62	TIMM_OSAL_Exiting("OMXConfigParserRedirect -\n");
63	return Status;
64}
65#endif
66OMX_ERRORTYPE TIComponentTable_EventHandler(OMX_IN OMX_HANDLETYPE hComponent,
67    OMX_IN OMX_PTR pAppData,
68    OMX_IN OMX_EVENTTYPE eEvent,
69    OMX_IN OMX_U32 nData1, OMX_IN OMX_U32 nData2, OMX_IN OMX_PTR pEventData)
70{
71	return OMX_ErrorNotImplemented;
72}
73
74OMX_ERRORTYPE TIComponentTable_EmptyBufferDone(OMX_OUT OMX_HANDLETYPE
75    hComponent, OMX_OUT OMX_PTR pAppData,
76    OMX_OUT OMX_BUFFERHEADERTYPE * pBuffer)
77{
78	return OMX_ErrorNotImplemented;
79}
80
81OMX_ERRORTYPE TIComponentTable_FillBufferDone(OMX_OUT OMX_HANDLETYPE
82    hComponent, OMX_OUT OMX_PTR pAppData,
83    OMX_OUT OMX_BUFFERHEADERTYPE * pBuffer)
84{
85	return OMX_ErrorNotImplemented;
86}
87
88
89OMX_API OMX_ERRORTYPE TIOMX_Init(void)
90{
91	TIMM_OSAL_Entering("TIOMX_Init\n");
92
93	return OMX_Init();
94}
95
96OMX_API OMX_ERRORTYPE TIOMX_Deinit(void)
97{
98	TIMM_OSAL_Entering("TIOMX_Deinit\n");
99
100	return OMX_Deinit();
101}
102
103OMX_API OMX_ERRORTYPE TIOMX_ComponentNameEnum(OMX_OUT OMX_STRING
104    cComponentName, OMX_IN OMX_U32 nNameLength, OMX_IN OMX_U32 nIndex)
105{
106
107	TIMM_OSAL_Entering("TIOMX_ComponentNameEnum\n");
108
109	return OMX_ComponentNameEnum(cComponentName, nNameLength, nIndex);
110}
111
112OMX_API OMX_ERRORTYPE TIOMX_GetHandle(OMX_OUT OMX_HANDLETYPE * pHandle,
113    OMX_IN OMX_STRING cComponentName,
114    OMX_IN OMX_PTR pAppData, OMX_IN OMX_CALLBACKTYPE * pCallBacks)
115{
116
117	TIMM_OSAL_Entering("TIOMX_GetHandle\n");
118
119	return OMX_GetHandle(pHandle, cComponentName, pAppData, pCallBacks);
120}
121
122OMX_API OMX_ERRORTYPE TIOMX_FreeHandle(OMX_IN OMX_HANDLETYPE hComponent)
123{
124	TIMM_OSAL_Entering("TIOMX_FreeHandle\n");
125
126	return OMX_FreeHandle(hComponent);
127}
128
129OMX_API OMX_ERRORTYPE TIOMX_GetComponentsOfRole(OMX_IN OMX_STRING role,
130    OMX_INOUT OMX_U32 * pNumComps, OMX_INOUT OMX_U8 ** compNames)
131{
132
133	TIMM_OSAL_Entering("TIOMX_GetComponentsOfRole\n");
134
135	return OMX_GetComponentsOfRole(role, pNumComps, compNames);
136}
137
138OMX_API OMX_ERRORTYPE TIOMX_GetRolesOfComponent(OMX_IN OMX_STRING compName,
139    OMX_INOUT OMX_U32 * pNumRoles, OMX_OUT OMX_U8 ** roles)
140{
141
142	TIMM_OSAL_Entering("TIOMX_GetRolesOfComponent\n");
143
144	return OMX_GetRolesOfComponent(compName, pNumRoles, roles);
145}
146
147OMX_API OMX_ERRORTYPE TIOMX_SetupTunnel(OMX_IN OMX_HANDLETYPE hOutput,
148    OMX_IN OMX_U32 nPortOutput,
149    OMX_IN OMX_HANDLETYPE hInput, OMX_IN OMX_U32 nPortInput)
150{
151
152	TIMM_OSAL_Entering("TIOMX_SetupTunnel\n");
153
154	return OMX_SetupTunnel(hOutput, nPortOutput, hInput, nPortInput);
155}
156
157OMX_API OMX_ERRORTYPE TIOMX_GetContentPipe(OMX_OUT OMX_HANDLETYPE * hPipe,
158    OMX_IN OMX_STRING szURI)
159{
160
161	TIMM_OSAL_Entering("TIOMX_GetContentPipe\n");
162
163	//return OMX_GetContentPipe(
164	//      hPipe,
165	//      szURI);
166	return 0;
167}
168#endif
169