diff -r 000000000000 -r 71ca22bcf22a mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/src/StreamerBase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmfenh/advancedaudiocontroller/tsrc/advancedaudiocontrollertestmodule/AudioStreamTestModule/src/StreamerBase.cpp Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,133 @@ +/* +* 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 +* +*/ + + +#include "StreamerBase.h" + +const TInt CStreamerBase::KBitRate8=8; +const TInt CStreamerBase::KSampleRate8000Hz = 8000; +const TInt CStreamerBase::KSampleRate11025Hz = 11025; +const TInt CStreamerBase::KSampleRate12000Hz = 12000; +const TInt CStreamerBase::KSampleRate16000Hz = 16000; +const TInt CStreamerBase::KSampleRate22050Hz = 22050; +const TInt CStreamerBase::KSampleRate24000Hz = 24000; +const TInt CStreamerBase::KSampleRate32000Hz = 32000; +const TInt CStreamerBase::KSampleRate44100Hz = 44100; +const TInt CStreamerBase::KSampleRate48000Hz = 48000; +const TInt CStreamerBase::KSampleRate64000Hz = 64000; +const TInt CStreamerBase::KSampleRate96000Hz = 96000; + +const TInt CStreamerBase::KChannelsMono = 1; +const TInt CStreamerBase::KChannelsStereo = 2; + +CStreamerBase::CStreamerBase(CStifLogger *aLogger) + : iFinalError(KErrNone), iId(0), iLogger(aLogger) , iCurrentBuffer(-1) //, iBuffers(16) + { + iExitAfterOpen = EFalse; + } + +CStreamerBase::~CStreamerBase() + { + iBuffers.ResetAndDestroy(); + } + +void CStreamerBase::SetId(TInt aId) { iId = aId; } + +TInt CStreamerBase::GetId() { return iId; } + +TInt CStreamerBase::GetFinalError() { return iFinalError; } + +TTimeIntervalMicroSeconds CStreamerBase::GetExecDuration() { return iLastStopTime.MicroSecondsFrom(iLastStartTime); } + +TTime CStreamerBase::GetStartTime() { return iLastStartTime; } + +TTime CStreamerBase::GetStopTime() { return iLastStopTime; } + +TInt CStreamerBase::AppendBuffer(TDes8 *aBuffer) + { + return iBuffers.Append(aBuffer); + } + +TMdaAudioDataSettings::TAudioCaps CStreamerBase::TranslateRate(TInt aSampleRate, TMdaAudioDataSettings::TAudioCaps aDefaultSampleRate) + { + TMdaAudioDataSettings::TAudioCaps retVal=aDefaultSampleRate; + + switch(aSampleRate) + { + case KSampleRate8000Hz: + iLogger->Log(_L("Setting sample rate to 8000")); + retVal=TMdaAudioDataSettings::ESampleRate8000Hz; + break; + case KSampleRate11025Hz: + iLogger->Log(_L("Setting sample rate to 11025")); + retVal=TMdaAudioDataSettings::ESampleRate11025Hz; + break; + case KSampleRate12000Hz: + iLogger->Log(_L("Setting sample rate to 12000")); + retVal=TMdaAudioDataSettings::ESampleRate12000Hz; + break; + case KSampleRate16000Hz: + iLogger->Log(_L("Setting sample rate to 16000")); + retVal=TMdaAudioDataSettings::ESampleRate16000Hz; + break; + case KSampleRate22050Hz: + iLogger->Log(_L("Setting sample rate to 22050")); + retVal=TMdaAudioDataSettings::ESampleRate22050Hz; + break; + case KSampleRate24000Hz: + iLogger->Log(_L("Setting sample rate to 24000")); + retVal=TMdaAudioDataSettings::ESampleRate24000Hz; + break; + case KSampleRate32000Hz: + iLogger->Log(_L("Setting sample rate to 32000")); + retVal=TMdaAudioDataSettings::ESampleRate32000Hz; + break; + case KSampleRate44100Hz: + iLogger->Log(_L("Setting sample rate to 44100")); + retVal=TMdaAudioDataSettings::ESampleRate44100Hz; + break; + case KSampleRate48000Hz: + iLogger->Log(_L("Setting sample rate to 48000")); + retVal=TMdaAudioDataSettings::ESampleRate48000Hz; + break; + case KSampleRate64000Hz: + iLogger->Log(_L("Setting sample rate to 64000")); + retVal=TMdaAudioDataSettings::ESampleRate64000Hz; + break; + case KSampleRate96000Hz: + iLogger->Log(_L("Setting sample rate to 96000")); + retVal=TMdaAudioDataSettings::ESampleRate96000Hz; + break; + default: + break; + iLogger->Log(_L("Setting sample rate to default")); + } + return retVal; + } + +void CStreamerBase::Exit(TInt aExitCode) + { + iLogger->Log(_L("%d) CStreamerBase::Exit(%d)"), iId, aExitCode); + iFinalError = aExitCode; + CActiveScheduler::Stop(); + } + +void CStreamerBase::SetExitAfterOpen(TBool aFlag) +{ + iExitAfterOpen = aFlag; +} +