sl@0: /* sl@0: * Copyright (c) 1997-2002 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: #ifndef __PCM16_IMAADPCM_CODEC_H__ sl@0: #define __PCM16_IMAADPCM_CODEC_H__ sl@0: sl@0: #include "MMFCodecBaseDefinitions.h" sl@0: #include "MMFAudioCodecBase.h" sl@0: sl@0: //mono IMA - i16PcmToImaAdpcm with 1 (mono) sl@0: class CMMFPcm16ImaAdPcmCodec : public CMMFCodec sl@0: { sl@0: public: sl@0: static CMMFCodec* NewL(TAny* aInitParams); sl@0: virtual ~CMMFPcm16ImaAdPcmCodec(); sl@0: TCodecProcessResult ProcessL(const CMMFBuffer& aSrc, CMMFBuffer& aDst); sl@0: private: sl@0: CMMFPcm16ImaAdPcmCodec(); sl@0: void ConstructL(TAny* aInitParams); sl@0: sl@0: virtual void ResetL(); sl@0: private: sl@0: //owned by the Datapath sl@0: const CMMFDataBuffer* iSrc; sl@0: CMMFDataBuffer* iDst; sl@0: sl@0: TUint iTempSrcBufferCount; sl@0: TUint8* iTempSrcBufferPtr; sl@0: TUint8 iTempSrcBuffer[KImaAdpcmTempBufferSize]; sl@0: TMMF16PcmToImaAdpcmCodecOld i16PcmToImaAdpcm; sl@0: TUint iLastFrameNumber; sl@0: }; sl@0: sl@0: sl@0: #endif