diff -r 000000000000 -r 40261b775718 mmdevicefw/mdfunittest/codecapi/PU/pcmcodec/inc/pcmprocessingunit.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmdevicefw/mdfunittest/codecapi/PU/pcmcodec/inc/pcmprocessingunit.h Tue Feb 02 01:56:55 2010 +0200 @@ -0,0 +1,63 @@ +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + + +#ifndef PCMPROCESSINGUNIT_H +#define PCMPROCESSINGUNIT_H + +#include +#include +#include + +class CPcmOutputPort; +class CPcmInputPort; + +enum TPcmDataType + { + EPCM8, + EPCMU8, + EPCM16 + }; + +class CPcmProcessingUnit : public COmxProcessingUnit + { +public: + // entry points for each codec variant + static CPcmProcessingUnit* NewP8P16L(); + static CPcmProcessingUnit* NewP16P8L(); + static CPcmProcessingUnit* NewPU8P16L(); + static CPcmProcessingUnit* NewP16PU8L(); + + virtual TInt Create(const MMdfProcessingUnitObserver& aProcessingUnitObserver); + + virtual TInt Configure(const TPuConfig& aConfigurationSetup); + virtual ~CPcmProcessingUnit(); + +private: + CPcmProcessingUnit(); + void ConstructL(TPcmDataType aSrcDataType, TPcmDataType aDestDataType); + +private: + CPcmInputPort* iInputPort; + CPcmOutputPort* iOutputPort; + + TPcmDataType iSrcDataType; + TPcmDataType iDestDataType; + }; + +#endif // PCMPROCESSINGUNIT_H + + +