os/mm/mmdevicefw/mdf/src/openmax/omxinputportbody.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
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".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // omxinputport.h
    15 // 
    16 //
    17 
    18 #ifndef OMXINPUTPORTBODY_H
    19 #define OMXINPUTPORTBODY_H
    20 
    21 #include <omxprocessingunit.h>
    22 #include <omxinputport.h>
    23 
    24 class MMdfOutputPort;
    25 class MMdfOutputPortObserver;
    26 class COmxProcessingUnit;
    27 class CMMFBuffer;
    28 
    29 /**
    30 Base class for OpenMAX Input Ports.
    31 */
    32 class COmxInputPort::CBody : public CBase,
    33 					public MOmxInputPortCallbacks
    34 	{
    35 public:
    36 	static CBody* NewL(TInt aPortIndex, COmxProcessingUnit* aComponent, COmxInputPort* aParent);
    37 	 
    38 	// from MMdfInputPort
    39 	TInt MipConfigure(const TPuConfig&  aConfiguration);
    40 	TInt MipGetConfig(TPuConfig& aConfigurationSetup);
    41 	void MipInitialize();
    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);
    56 	
    57 	// from MOmxInputPortCallbacks
    58 	TInt EmptyBufferDone(OMX_HANDLETYPE aComponent, const CMMFBuffer* aBuffer);
    59 	
    60 	MMdfInputPortObserver* Observer() const;
    61 	COmxProcessingUnit* Component() const;
    62 private:
    63 	CBody(TInt aPortIndex, COmxProcessingUnit* aComponent, COmxInputPort* aParent);
    64 
    65 private:
    66 	TInt 					iPortIndex;
    67 	TBool 					iConnectedPort;
    68 	MMdfOutputPort* 		iPortConnectedTo;
    69 	COmxProcessingUnit* 	iComponent;
    70 	MMdfInputPortObserver*	iObserver;
    71 	COmxInputPort* 			iParent;
    72 	};
    73 
    74 #endif // OMXINPUTPORTBODY_H
    75