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 <StifTestInterface.h>
+#include <MdaAudioInputStream.h>
+#include <StifLogger.h>
+#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<TInt>& aSupportedBitRates);
+ TInt BitRateL();
+ void SetBitRateL(TInt aBitRate);
+
+ void Stop();
+
+ RPointerArray<TDes8> &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