mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/inc/StreamerBase.h
changeset 0 71ca22bcf22a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/inc/StreamerBase.h	Tue Feb 02 01:08:46 2010 +0200
@@ -0,0 +1,94 @@
+/*
+* 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 STREAMER_BASE_H
+#define STREAMER_BASE_H
+
+//#include <StifTestInterface.h>
+#include <MdaAudioOutputStream.h>
+#include <StifLogger.h>
+#include "mda/common/audio.h"
+#include "EventTarget.h"
+#include "AudioStreamConstants.h"
+//#include "TestModuleConstants.h"
+
+class CStreamerBase : public CBase , public MEventTarget
+	{
+private:
+	void Exit(TInt aExitCode);
+protected:
+	CStreamerBase(CStifLogger *aLogger);
+
+public:
+	~CStreamerBase();
+
+	virtual void SetPriority(TInt aPriority, TMdaPriorityPreference aPref)=0;
+	virtual TInt GetBalanceL()=0;
+	virtual void SetBalanceL(TInt aBalance)=0;
+
+	void SetId(TInt aId);
+
+	TInt GetId();
+	TInt GetFinalError();
+
+	TTimeIntervalMicroSeconds GetExecDuration();
+	TTime GetStartTime();
+	TTime GetStopTime();
+
+	TInt AppendBuffer(TDes8 *aBuffer);
+	TMdaAudioDataSettings::TAudioCaps TranslateRate(TInt aSampleRate, TMdaAudioDataSettings::TAudioCaps aDefaultSampleRate);
+
+	void SetExitAfterOpen(TBool aFlag);
+
+public:
+	static const TInt KBitRate8;
+	static const TInt KSampleRate8000Hz;
+	static const TInt KSampleRate11025Hz;
+	static const TInt KSampleRate12000Hz;
+	static const TInt KSampleRate16000Hz;
+	static const TInt KSampleRate22050Hz;
+	static const TInt KSampleRate24000Hz;
+	static const TInt KSampleRate32000Hz;
+	static const TInt KSampleRate44100Hz;
+	static const TInt KSampleRate48000Hz;
+	static const TInt KSampleRate64000Hz;
+	static const TInt KSampleRate96000Hz;
+
+	static const TInt KChannelsMono;
+	static const TInt KChannelsStereo;
+
+protected:
+	TInt iFinalError;
+	TInt iId;
+
+	//CStifLogger *iLogger;
+	CStifLogger *iLogger;
+
+	RPointerArray<TDes8> iBuffers;
+	TInt iCurrentBuffer;
+
+	TBool iPlayInmediately;
+	TBool iExitAfterOpen;
+
+	TTime iLastStartTime;
+	TTime iLastStopTime;
+
+private:
+	};
+
+#endif      // STREAMER_BASE_H