mmserv/tms/tmsserver/src/tmsrtaudiohdlr.cpp
branchRCL_3
changeset 20 0ac9a5310753
parent 19 095bea5f582e
child 21 999b2818a0eb
--- a/mmserv/tms/tmsserver/src/tmsrtaudiohdlr.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,831 +0,0 @@
-/*
- * Copyright (c) 2010 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 player implementation.
- *
- */
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <utf.h>    // For converting data for TTS
-#include "tmsshared.h"
-#include "tmsutility.h"
-#include "tmsrtaudiohdlr.h"
-#include "tmsrtcontainer.h"
-#include "tmsrtaudiohdlrobsrv.h"
-
-using namespace TMS;
-
-// CONSTANTS
-const TInt KMinVolumeLevel = 1;
-const TInt KMaxVolumeLevel = 10;
-const TInt KTMSRingingRepeatsTrailPause = 1000000;
-const TInt KTMSAudioAscendingRampDuration = 3000000;
-const TInt KTMSMdaAudioToneRepeatForever = -2;
-const TInt KUTF8Multiply = 2;
-
-_LIT(KFileListRngMimeType, "application/vnd.nokia.ringing-tone");
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::TMSRtAudioHdlr
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr::TMSRtAudioHdlr(TAudioDataFormat aDataFormat,
-        TMSRtAudioHdlrObsrv& aObserver, TUint aPriority, TUint aPreference,
-        TInt aType) :
-    iFormat(aDataFormat),
-    iObserver(aObserver),
-    iPriority(aPriority),
-    iPreference(aPreference),
-    iRtType(aType)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ConstructL
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::ConstructL(const TDesC& aFileName)
-    {
-    TRACE_PRN_FN_ENT;
-    if (iFormat == EFormatTone)
-        {
-        iTonePlayer = CMdaAudioToneUtility::NewL(*this);
-        iTonePlayer->PrepareToPlayFileSequence(aFileName);
-        iPlayerStatus = EToneLoading;
-        }
-    else
-        {
-        iSamplePlayer = CMdaAudioPlayerUtility::NewFilePlayerL(aFileName, *this,
-                iPriority, iPreference);
-        iPlayerStatus = EToneLoading;
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ConstructSeqL
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::ConstructSeqL(const TDesC8& aSequence)
-    {
-    TRACE_PRN_FN_ENT;
-    iTonePlayer = CMdaAudioToneUtility::NewL(*this);
-    iSequence = aSequence.AllocL();
-    iTonePlayer->PrepareToPlayDesSequence(*iSequence);
-    iPlayerStatus = EToneLoading;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ConstructTtsL
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::ConstructTtsL(const TDesC& aTtsText, TUint aPriority,
-        TUint aPreference)
-    {
-    TRACE_PRN_FN_ENT;
-    delete iTtsPlayer;
-    iTtsPlayer = NULL;
-    iTtsPlayer = CMdaAudioPlayerUtility::NewL(*this, aPriority, aPreference);
-
-    __ASSERT_DEBUG(iTtsPlayer, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-
-    delete iTtsText;
-    iTtsText = NULL;
-    // UTF-8 strings can take up to 4 bytes per character
-    iTtsText = HBufC8::NewL(aTtsText.Length() << KUTF8Multiply);
-
-    __ASSERT_DEBUG(iTtsText, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-
-    TPtr8 refText = iTtsText->Des();
-    User::LeaveIfError(CnvUtfConverter::ConvertFromUnicodeToUtf8(refText,
-            aTtsText));
-
-    // UTF-8 chars can be up to 4 bytes long, but usually
-    // take 1-2 bytes, 3 for asian chars.
-    HBufC8* oldText = iTtsText;
-    iTtsText = iTtsText->ReAlloc(iTtsText->Length());
-    if (!iTtsText)
-        {
-        // ReAlloc failed, set back to original.
-        iTtsText = oldText;
-        }
-    iTtsPlayer->OpenDesL(*iTtsText);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::NewL
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRtAudioHdlr::NewL(const TMSRtContainer& aRingingTone,
-        TUint aPriority, TUint aPreference, TMSRtAudioHdlrObsrv& aObserver,
-        TInt aType, TBool aExtSecNeeded)
-    {
-    TRACE_PRN_FN_ENT;
-    // Check file DRM property if extended security is needed.
-    if (aExtSecNeeded)
-        {
-        if (!aRingingTone.IsFileInRom() && !aRingingTone.IsFileDrmProtected())
-            {
-            // DRM extended security check permission denied
-            User::Leave(KErrPermissionDenied);
-            }
-        // DRM extended security check ok
-        }
-
-    // RNG file types have to be played with CMdaAudioToneUtility player.
-    // Other audio formats use sample player
-    TAudioDataFormat format = (aRingingTone.MimeType().CompareF(
-            KFileListRngMimeType) == KErrNone) ? EFormatTone : EFormatSample;
-
-    TMSRtAudioHdlr* self = new (ELeave) TMSRtAudioHdlr(format, aObserver,
-            aPriority, aPreference, aType);
-    CleanupStack::PushL(self);
-    self->ConstructL(aRingingTone.FileName());
-    CleanupStack::Pop(self);
-    TRACE_PRN_FN_EXT;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::NewL
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRtAudioHdlr::NewL(const TDesC& aFileName, TUint aPriority,
-        TUint aPreference, TMSRtAudioHdlrObsrv& aObserver, TInt aType,
-        TBool aExtSecNeeded)
-    {
-    TRACE_PRN_FN_ENT;
-    TMSRtContainer* tone = TMSRtContainer::NewL(aFileName);
-    CleanupStack::PushL(tone);
-    TMSRtAudioHdlr* player = TMSRtAudioHdlr::NewL(*tone, aPriority, aPreference,
-            aObserver, aType, aExtSecNeeded);
-    CleanupStack::PopAndDestroy(tone);
-    TRACE_PRN_FN_EXT;
-    return player;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::NewSeqL
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRtAudioHdlr::NewSeqL(const TDesC8& aSequence,
-        TUint aPriority, TUint aPreference, TMSRtAudioHdlrObsrv& aObserver,
-        TInt aType)
-    {
-    TRACE_PRN_FN_ENT;
-    TMSRtAudioHdlr* self = new (ELeave) TMSRtAudioHdlr(EFormatTone,
-            aObserver, aPriority, aPreference, aType);
-    CleanupStack::PushL(self);
-    self->ConstructSeqL(aSequence);
-    CleanupStack::Pop(self);
-    TRACE_PRN_FN_EXT;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::NewTtsL
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr* TMSRtAudioHdlr::NewTtsL(const TDesC& aText, TUint aPriority,
-        TUint aPreference, TMSRtAudioHdlrObsrv& aObserver, TInt aType)
-    {
-    TRACE_PRN_FN_ENT;
-    TMSRtAudioHdlr* self = new (ELeave) TMSRtAudioHdlr(EFormatTts, aObserver,
-            aPriority, aPreference, aType);
-    CleanupStack::PushL(self);
-    self->ConstructTtsL(aText, aPriority, aPreference);
-    CleanupStack::Pop(self);
-    TRACE_PRN_FN_EXT;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::~TMSRtAudioHdlr
-// -----------------------------------------------------------------------------
-//
-TMSRtAudioHdlr::~TMSRtAudioHdlr()
-    {
-    TRACE_PRN_FN_ENT;
-    /*if (i3DPlugin)
-         {
-         i3DPlugin->Stop();
-         }
-    delete i3DPlugin;
-    delete iAudioOutput;*/
-    delete iTonePlayer;
-    delete iSamplePlayer;
-    delete iTtsPlayer;
-    delete iSequence;
-    delete iTtsText;
-    REComSession::FinalClose();
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::Play
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::Play(TRingingType aRingType, TInt aVolume,
-        TInt aTTsToBePlayed)
-    {
-    TRACE_PRN_FN_ENT;
-    iRingType = aRingType;
-    iVolume = aVolume;
-    iTTsToBePlayed = aTTsToBePlayed;
-
-    if (iFormat == EFormatTone)
-        {
-        switch (iPlayerStatus)
-            {
-            case ETonePlaying:
-                if (iTonePlayer)
-                    {
-                    iTonePlayer->CancelPlay();
-                    }
-                DoPlay();
-                break;
-            case EToneReady:
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-            case EToneLoading:
-                iToBePlaying = ETrue;
-                break;
-            default:
-                __ASSERT_DEBUG(EFalse,
-                        User::Panic(KTMSPanic, TMS_RESULT_DOES_NOT_EXIST));
-                break;
-            }
-        }
-    else if (iFormat == EFormatTts)
-        {
-        switch (iPlayerStatus)
-            {
-            case ETonePlaying:
-                if (iTtsPlayer)
-                    {
-                    iTtsPlayer->Stop();
-                    }
-                DoPlay();
-                break;
-            case EToneReady:
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-            case EToneLoading:
-                iToBePlaying = ETrue;
-                break;
-            default:
-                __ASSERT_DEBUG(EFalse,
-                        User::Panic(KTMSPanic, TMS_RESULT_DOES_NOT_EXIST));
-                break;
-            }
-        }
-    else
-        {
-        switch (iPlayerStatus)
-            {
-            case ETonePlaying:
-                StopPlaying();
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-            case EToneReady:
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-            case EToneLoading:
-                iToBePlaying = ETrue;
-                break;
-            default:
-                __ASSERT_DEBUG(EFalse,
-                        User::Panic(KTMSPanic, TMS_RESULT_DOES_NOT_EXIST));
-                break;
-            }
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ReStartPlaying
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::ReStartPlaying()
-    {
-    TRACE_PRN_FN_ENT;
-    if (iFormat == EFormatTone && iTonePlayer)
-        {
-        iTonePlayer->Play();
-        iPlayerStatus = ETonePlaying;
-        }
-    else if (iFormat == EFormatTts && iTtsPlayer)
-        {
-        iTtsPlayer->Play();
-        iPlayerStatus = ETonePlaying;
-        }
-    else if (iFormat == EFormatSample && iSamplePlayer)
-        {
-        iSamplePlayer->Play();
-        iPlayerStatus = ETonePlaying;
-        }
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::StopPlaying
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::StopPlaying()
-    {
-    TRACE_PRN_FN_ENT;
-    iToBePlaying = EFalse;
-
-    if (iFormat == EFormatTone)
-        {
-        if (EMdaAudioToneUtilityPrepared == iTonePlayer->State())
-            {
-            iTonePlayer->CancelPrepare();
-            }
-        else if (EMdaAudioToneUtilityPlaying == iTonePlayer->State())
-            {
-            iTonePlayer->CancelPlay();
-            }
-        }
-    else if (iFormat == EFormatTts)
-        {
-        iTtsPlayer->Stop();
-        }
-    else
-        {
-/*        if (i3DPlugin)
-            {
-            i3DPlugin->Stop();
-            delete i3DPlugin;
-            i3DPlugin = NULL;
-            }
-        else
-            {*/
-            iSamplePlayer->Stop();
-/*            }*/
-        }
-    iPlayerStatus = EToneReady;
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MapcInitComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MapcInitComplete(TInt aError,
-        const TTimeIntervalMicroSeconds& /*aDuration*/)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_N2(_L("RT player type[%d], err[%d]"), iRtType, aError);
-
-    __ASSERT_DEBUG((iFormat == EFormatSample) ||
-            ((iFormat == EFormatTts) && (iPlayerStatus == EToneLoading)),
-            PANIC(TMS_RESULT_INVALID_STATE));
-
-    if (aError == TMS_RESULT_SUCCESS)
-        {
-        if (iToBePlaying)
-            {
-            iPlayerStatus = ETonePlaying;
-            iToBePlaying = EFalse;
-            DoPlay();
-            }
-        else
-            {
-            iPlayerStatus = EToneReady;
-            }
-        }
-    iObserver.RtAudioHdlrEvent(ECmdRingToneOpenComplete, aError, iRtType);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MapcPlayComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MapcPlayComplete(TInt aError)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_N2(_L("RT player type[%d], err[%d]"), iRtType, aError);
-
-    iPlayerStatus = EToneReady;
-
-    // Delete 3D plugin before RT player. In case of continuous ringing type,
-    // 3D plugin is destructed in StopPlaying().
-/*    if (i3DPlugin)
-        {
-        i3DPlugin->Stop();
-        delete i3DPlugin;
-        i3DPlugin = NULL;
-        }*/
-    iObserver.RtAudioHdlrEvent(ECmdRingTonePlayComplete, aError, iRtType);
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MatoPrepareComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MatoPrepareComplete(TInt aError)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_N2(_L("RT player type[%d], err[%d]"), iRtType, aError);
-
-    __ASSERT_DEBUG(((iFormat == EFormatTone) &&
-            (iPlayerStatus == EToneLoading)), PANIC(TMS_RESULT_INVALID_STATE));
-
-    if (aError == TMS_RESULT_SUCCESS)
-        {
-        if (iToBePlaying)
-            {
-            iPlayerStatus = ETonePlaying;
-            iToBePlaying = EFalse;
-            DoPlay();
-            }
-        else
-            {
-            iPlayerStatus = EToneReady;
-            }
-        }
-    iObserver.RtAudioHdlrEvent(ECmdRingToneOpenComplete, aError, iRtType);
-    TRACE_PRN_FN_ENT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MatoPlayComplete
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MatoPlayComplete(TInt aError)
-    {
-    TRACE_PRN_FN_ENT;
-    TRACE_PRN_N2(_L("RT player type[%d], err[%d]"), iRtType, aError);
-    iObserver.RtAudioHdlrEvent(ECmdRingTonePlayComplete, aError, iRtType);
-    TRACE_PRN_FN_EXT;
-   }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::DoPlay
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::DoPlay()
-    {
-    TRACE_PRN_FN_ENT;
-
-    __ASSERT_DEBUG(iPlayerStatus == ETonePlaying,
-            PANIC(TMS_RESULT_INVALID_STATE));
-
-    //TInt err(TMS_RESULT_SUCCESS);
-    SetRingingTypeProperties();
-
-    if (iFormat == EFormatTone)
-        {
-        iTonePlayer->Play();
-        }
-    else if (iFormat == EFormatTts)
-        {
-        iTtsPlayer->Play();
-        }
-    else
-        {
-#ifdef __WINSCW__
-        iSamplePlayer->Play();
-#else
-/*
-        //TODO: compare with phoneapp
-        TInt err = KErrNone;
-        TRAP(err, i3DPlugin = C3DRingingToneInterface::NewL(KNullUid));
-        if (!err && i3DPlugin)
-            {
-            i3DPlugin->SetAttr(E3DRTIAttrAudioPlayerUtility, iSamplePlayer);
-            TRAP(err, i3DPlugin->PlayL())
-            }
-        if (err || !i3DPlugin)
-            {
-            if (!iAudioOutput)
-                {
-                TRAP(err, iAudioOutput = CAudioOutput::NewL(*iSamplePlayer));
-                }
-            if (!err && iAudioOutput)
-                {
-                TRAP(err, iAudioOutput->SetAudioOutputL(CAudioOutput::EAll));
-                }
-            }*/
-        iSamplePlayer->Play();
-#endif //__WINSCW__
-        }
-
-    TRACE_PRN_FN_EXT;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::SetRingingTypeProperties
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::SetRingingTypeProperties()
-    {
-    TInt rampTime(0);
-    if (iFormat == EFormatTone)
-        {
-        __ASSERT_DEBUG(iTonePlayer, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-        switch (iRingType)
-            {
-            case ETypeRinging:
-                {
-                // If we have TTS activated and ringing type is "ringing", then
-                // we need to play TTS sequence again when ringtone restarts.
-                // That's why we need to set ringing type to ETypeRingingOnce,
-                // because it is the only way of knowing when ringtone playback
-                // is completed. Then we can restart it with new TTS iterations.
-                if (iTTsToBePlayed)
-                    {
-                    // Play only once
-                    iTonePlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                            KTMSRingingRepeatsTrailPause));
-                    iTonePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                else
-                    {
-                    iTonePlayer->SetRepeats(KTMSMdaAudioToneRepeatForever,
-                            TTimeIntervalMicroSeconds(
-                                    KTMSRingingRepeatsTrailPause));
-                    iTonePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                break;
-                }
-            case ETypeRingingOnce:
-                {
-                // Play only once
-                iTonePlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                        KTMSRingingRepeatsTrailPause));
-                iTonePlayer->SetVolume(ConvertVolume(iVolume));
-                break;
-                }
-            case ETypeAscending:
-                {
-                iTonePlayer->SetRepeats(KTMSMdaAudioToneRepeatForever,
-                        TTimeIntervalMicroSeconds(
-                                KTMSRingingRepeatsTrailPause));
-
-                // Special case for TTS + ascending profile. Volume and
-                // ramptime need to be different then usual
-                if (iTTsToBePlayed)
-                    {
-                    // RampTime is only 3 seconds and volume is 1.
-                    rampTime = KTMSAudioAscendingRampDuration;
-                    iTonePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            rampTime));
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iTonePlayer->SetVolume(ConvertVolume(iCurrentVolume));
-                    }
-                else
-                    {
-                    // RampTime: time for one step * volume level
-                    rampTime = KTMSAudioAscendingRampDuration * iVolume;
-                    iTonePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            rampTime));
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iTonePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                break;
-                }
-            default:
-                //PANIC(TMS_RESULT_DOES_NOT_EXIST);
-                break;
-            }
-        //Set priority and preference
-        iTonePlayer->SetPriority(iPriority, iPreference);
-        }
-    else if (iFormat == EFormatTts)
-        {
-        __ASSERT_DEBUG(iTtsPlayer, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-        switch (iRingType)
-            {
-            case ETypeRinging:
-            case ETypeAscending:
-                {
-                // Not allowed for TTS.
-                break;
-                }
-            case ETypeRingingOnce:
-                {
-                iTtsPlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                        KTMSRingingRepeatsTrailPause));
-                iTtsPlayer->SetVolume(ConvertVolume(iVolume));
-                break;
-                }
-            default:
-                {
-                __ASSERT_DEBUG(EFalse, PANIC(TMS_RESULT_DOES_NOT_EXIST));
-                break;
-                }
-            }
-        }
-    else
-        {
-        __ASSERT_DEBUG(iSamplePlayer, PANIC(TMS_RESULT_UNINITIALIZED_OBJECT));
-        switch (iRingType)
-            {
-            case ETypeRinging:
-                {
-                // If we have TTS activated and ringing type is "ringing", then
-                // we need to play TTS sequence again when ringtone restarts.
-                // That's why we need to set ringingtype to ETypeRingingOnce,
-                // because it is the only way of knowing when ringtone playback
-                // is completed. Then we can restart it with new TTS iterations.
-                if (iTTsToBePlayed)
-                    {
-                    // Play only once
-                    iSamplePlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                            KTMSRingingRepeatsTrailPause));
-                    iSamplePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                else
-                    {
-                    iSamplePlayer->SetRepeats(
-                            KTMSMdaAudioToneRepeatForever,
-                            TTimeIntervalMicroSeconds(
-                                    KTMSRingingRepeatsTrailPause));
-                    iSamplePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                break;
-                }
-            case ETypeRingingOnce:
-                {
-                iSamplePlayer->SetRepeats(0, TTimeIntervalMicroSeconds(
-                        KTMSRingingRepeatsTrailPause));
-                iSamplePlayer->SetVolume(ConvertVolume(iVolume));
-                break;
-                }
-            case ETypeAscending:
-                {
-                iSamplePlayer->SetRepeats(KTMSMdaAudioToneRepeatForever,
-                        TTimeIntervalMicroSeconds(
-                                KTMSRingingRepeatsTrailPause));
-
-                // Special case for TTS + ascending profile. Volume and
-                // ramptime need to be different then usual
-                if (iTTsToBePlayed)
-                    {
-                    // RampTime is only 3 seconds and volume is 1.
-                    rampTime = KTMSAudioAscendingRampDuration;
-                    iSamplePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            rampTime));
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iSamplePlayer->SetVolume(ConvertVolume(iCurrentVolume));
-                    }
-                else
-                    {
-                    // RampTime: time for one step * volume level
-                    rampTime = KTMSAudioAscendingRampDuration * iVolume;
-                    iSamplePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(
-                            rampTime));
-
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iSamplePlayer->SetVolume(ConvertVolume(iVolume));
-                    }
-                break;
-                }
-            default:
-                {
-                break;
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::SetNewVolumeAndRamptime
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::SetNewVolumeAndRamptime(TInt aVolume, TInt aRamptime)
-    {
-    // Check that volume is in a valid range.
-    TInt volume = aVolume < 1 ? 1 : aVolume;
-
-    if (iFormat == EFormatTone)
-        {
-        if (iTonePlayer)
-            {
-            iTonePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(aRamptime));
-            iTonePlayer->SetVolume(ConvertVolume(volume));
-            }
-        }
-    else if (iFormat == EFormatTts)
-        {
-        if (iTtsPlayer)
-            {
-            iTtsPlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(aRamptime));
-            iTtsPlayer->SetVolume(ConvertVolume(volume));
-            }
-        }
-    else
-        {
-        if (iSamplePlayer)
-            {
-            iSamplePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(aRamptime));
-            iSamplePlayer->SetVolume(ConvertVolume(volume));
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::ConvertVolume
-// -----------------------------------------------------------------------------
-//
-TInt TMSRtAudioHdlr::ConvertVolume(TInt aVolume)
-    {
-    TInt result(0);
-
-    if (iFormat == EFormatTone)
-        {
-        if (iTonePlayer)
-            {
-            result = iTonePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
-            }
-        }
-    else if (iFormat == EFormatTts)
-        {
-        if (iTtsPlayer)
-            {
-            result = iTtsPlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
-            }
-        }
-    else
-        {
-        if (iSamplePlayer)
-            {
-            result = iSamplePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
-            }
-        }
-
-    // If user selected minimum volume level set HW volume 1
-    if (aVolume == KMinVolumeLevel && result == 0)
-        {
-        result = 1;
-        }
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::SetTTsToBePlayed
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::SetTTsToBePlayed(const TBool aTTsToBePlayed)
-    {
-    iTTsToBePlayed = aTTsToBePlayed;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtAudioHdlr::MutePlaying
-// -----------------------------------------------------------------------------
-//
-void TMSRtAudioHdlr::MutePlaying()
-    {
-    if (iPlayerStatus == ETonePlaying)
-        {
-        if (iFormat == EFormatTone)
-            {
-            if (iTonePlayer)
-                {
-                iTonePlayer->SetVolume(0);
-                }
-            }
-        else if (iFormat == EFormatTts && iTtsPlayer)
-            {
-            if (iTtsPlayer)
-                {
-                iTtsPlayer->SetVolume(0);
-                }
-            }
-        else // EFormatSample
-            {
-            if (iSamplePlayer)
-                {
-                iSamplePlayer->SetVolume(0);
-                }
-            }
-        }
-    else
-        {
-        // Mute during EToneLoading state.
-        iToBePlaying = EFalse;
-        }
-    }
-