diff -r 000000000000 -r 71ca22bcf22a mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/inc/InputStreamer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/inc/InputStreamer.h Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,97 @@ +/* +* Copyright (c) 2007 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: Audio stream test component +* +*/ + + +#ifndef INPUT_STREAMER_H +#define INPUT_STREAMER_H + +//#include +#include +#include +#include "mda/common/audio.h" +#include "EventTarget.h" +#include "StreamerBase.h" + +class CInputStreamer : public CStreamerBase , public MMdaAudioInputStreamCallback + { + private: + CInputStreamer(CStifLogger *aLogger); + void ConstructL(); + void ConstructL(TInt aPriority, TMdaPriorityPreference aPref); + + public: + // Standard two-phase construction + static CInputStreamer* NewL(CStifLogger *aLogger, TInt aId=0); + static CInputStreamer* NewLC(CStifLogger *aLogger, TInt aId=0); + + static CInputStreamer* NewL(TInt aPriority, TMdaPriorityPreference aPref, + CStifLogger *aLogger, TInt aId=0); + static CInputStreamer* NewLC(TInt aPriority, TMdaPriorityPreference aPref, + CStifLogger *aLogger, TInt aId=0); + + ~CInputStreamer(); + + void SetAudioPropertiesL(TInt aSampleRate, TInt aChannels); + void SetPriority(TInt aPriority, TMdaPriorityPreference aPref); + TInt GetBalanceL(); + void SetBalanceL(TInt aBalance); + void SetGain(const TInt aNewGain); + TInt GetMaxGain(); + TInt GetGain(); + void SetDataTypeL(TFourCC aDataType); + TFourCC GetDataType(); + void GetSupportedBitRatesL(RArray& aSupportedBitRates); + TInt BitRateL(); + void SetBitRateL(TInt aBitRate); + + void Stop(); + + RPointerArray &GetBuffers(); + void StartRecording(); + + TInt ExecuteL(CParameters *aParams); + void Exit(TInt aExitCode); + void SetSettings(TMdaPackage *aSettings); + //void SetExitAfterOpen(TBool aFlag); + + // iherited from MMdaAudioInputStreamCallback + void MaiscOpenComplete(TInt aError); + void MaiscBufferCopied(TInt aError, const TDesC8& aBuffer); + void MaiscRecordComplete(TInt aError); + + public: + static const TInt KRecorderActionStop; + static const TInt KSchedulerStop; + private: + CMdaAudioInputStream *iMdaAudioInputStream; + TBool iAlreadyClosed; + TBool iRecording; + //TBool iExitAfterOpen; + enum TState + { + EClosed, + EFirstOpenSuccessful, + EOpen, + EPlaying, + ERecording, + EStopped + }; + TState iState; + TMdaPackage *iSettings; + }; + +#endif //INPUT_STREAMER_H