Update contrib.
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
21 #include <openmax/il/khronos/v1_x/OMX_Component.h>
24 class COmxComponentImpl : public CBase
27 COmxComponentImpl(OMX_HANDLETYPE hComponent);
28 virtual ~COmxComponentImpl();
30 virtual OMX_ERRORTYPE GetComponentVersion(
31 OMX_STRING pComponentName,
32 OMX_VERSIONTYPE* pComponentVersion,
33 OMX_VERSIONTYPE* pSpecVersion,
34 OMX_UUIDTYPE* pComponentUUID)=0;
36 virtual OMX_ERRORTYPE SendCommand(
40 virtual OMX_ERRORTYPE GetParameter(
41 OMX_INDEXTYPE nParamIndex,
42 TAny* ComponentParameterStructure)=0;
43 virtual OMX_ERRORTYPE SetParameter(
45 TAny* ComponentParameterStructure)=0;
46 virtual OMX_ERRORTYPE GetConfig(
49 virtual OMX_ERRORTYPE SetConfig(
52 virtual OMX_ERRORTYPE GetExtensionIndex(
53 OMX_STRING ParameterName,
54 OMX_INDEXTYPE* pIndexType)=0;
55 virtual OMX_ERRORTYPE GetState(
56 OMX_STATETYPE* pState)=0;
57 virtual OMX_ERRORTYPE ComponentTunnelRequest(
58 OMX_HANDLETYPE hInput,
60 OMX_HANDLETYPE hOutput,
62 OMX_TUNNELSETUPTYPE* pTunnelSetup) = 0;
63 virtual OMX_ERRORTYPE UseBuffer(
64 OMX_BUFFERHEADERTYPE** ppBufferHdr,
69 virtual OMX_ERRORTYPE AllocateBuffer(
70 OMX_BUFFERHEADERTYPE** pBuffer,
73 TUint32 nSizeBytes)=0;
74 virtual OMX_ERRORTYPE FreeBuffer(
76 OMX_BUFFERHEADERTYPE* pBuffer)=0;
77 virtual OMX_ERRORTYPE EmptyThisBuffer(
78 OMX_BUFFERHEADERTYPE* pBuffer)=0;
79 virtual OMX_ERRORTYPE FillThisBuffer(
80 OMX_BUFFERHEADERTYPE* pBuffer)=0;
81 virtual OMX_ERRORTYPE SetCallbacks(
82 OMX_CALLBACKTYPE* pCallbacks,
86 operator OMX_HANDLETYPE();
90 OMX_COMPONENTTYPE* iHandle;