Update contrib.
1 // Copyright (c) 2006-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.
18 #ifndef OMXINPUTPORTBODY_H
19 #define OMXINPUTPORTBODY_H
21 #include <omxprocessingunit.h>
22 #include <omxinputport.h>
25 class MMdfOutputPortObserver;
26 class COmxProcessingUnit;
30 Base class for OpenMAX Input Ports.
32 class COmxInputPort::CBody : public CBase,
33 public MOmxInputPortCallbacks
36 static CBody* NewL(TInt aPortIndex, COmxProcessingUnit* aComponent, COmxInputPort* aParent);
39 TInt MipConfigure(const TPuConfig& aConfiguration);
40 TInt MipGetConfig(TPuConfig& aConfigurationSetup);
42 void MipSetObserver(const MMdfInputPortObserver& aInputPortObserver);
43 CMMFBuffer* MipCreateBuffer(TInt aBufferSize);
44 TInt MipUseBuffer(CMMFBuffer& aBuffer);
45 TInt MipFreeBuffer(CMMFBuffer* aBuffer);
46 TInt MipTunnelRequest(const MMdfOutputPort& aOutputPortToBeConnectedTo,
47 TTunnelFlags& aTunnelFlags, TSupplierType& aSupplierType);
48 void MipWriteData(CMMFBuffer& aBuffer);
49 void MipDisconnectTunnel();
50 void MipRestartTunnel();
51 TBool MipIsTunnelled() const;
52 TInt MipIndex() const;
53 TUint32 MipBufferSize() const;
54 TInt MipCreateCustomInterface(TUid aUid);
55 TAny* MipCustomInterface(TUid aUid);
57 // from MOmxInputPortCallbacks
58 TInt EmptyBufferDone(OMX_HANDLETYPE aComponent, const CMMFBuffer* aBuffer);
60 MMdfInputPortObserver* Observer() const;
61 COmxProcessingUnit* Component() const;
63 CBody(TInt aPortIndex, COmxProcessingUnit* aComponent, COmxInputPort* aParent);
68 MMdfOutputPort* iPortConnectedTo;
69 COmxProcessingUnit* iComponent;
70 MMdfInputPortObserver* iObserver;
71 COmxInputPort* iParent;
74 #endif // OMXINPUTPORTBODY_H