diff -r aecbbf00d063 -r d48ab3b357f1 uifw/EikStd/srvuisrc/eikkeysoundserver.cpp --- a/uifw/EikStd/srvuisrc/eikkeysoundserver.cpp Tue Aug 31 15:28:30 2010 +0300 +++ b/uifw/EikStd/srvuisrc/eikkeysoundserver.cpp Wed Sep 01 12:16:19 2010 +0100 @@ -36,7 +36,7 @@ _LIT(KKeySoundServerSemaphoreName,"KeySoundServerSemaphore"); _LIT(KKeySoundServerDll,"AtSoundServerClient.dll"); -const TInt KKeySoundServerStackSize = 1024*4; // 4K +const TInt KKeySoundServerStackSize = 1024*8; // 8K const TInt KAknSoundInfoMapGranularity = 16; const TInt KKeyClickPreference = 0x00140001; const TInt KKeySoundServerBufExpandSize = 1024*1; // 1K @@ -282,7 +282,7 @@ void CEikKeySoundServer::Complete(TInt aError, TAudioThemeEvent aEvent) { if( aError != KErrNone && aError != ESilencedError - && aError != EEventCurrentlyPlaying ) + && aError != EEventCurrentlyPlaying && aError != KErrUnderflow) { PlaySid(aEvent, ETrue); } @@ -314,6 +314,11 @@ aPlaySelf = ETrue; } + if(!iATSoundServerAPI) + { + aPlaySelf = ETrue; + } + if(!aPlaySelf && iATSoundServerAPI) { TAudioThemeEvent event = static_cast(aSid); @@ -425,7 +430,10 @@ RemoveSids(iClientUid); if (iHasLockedContext) { - iServer->SetContextLocked(EFalse); + if( iServer ) + { + iServer->SetContextLocked(EFalse); + } } if (iOwnsDefaultSounds) { @@ -1120,56 +1128,16 @@ CAknFileSoundInfo::~CAknFileSoundInfo() { delete iAudioPlayer; - delete iAudioData; } void CAknFileSoundInfo::InitL(const TDesC& aFileName, CMdaServer* aMdaServer) { LOGTEXT(_L("CAknFileSoundInfo::InitL() - Filename:")); LOGTEXT(aFileName); - - iMdaServer = aMdaServer; - - delete iAudioData; - iAudioData = NULL; - - RFs fsSession; - User::LeaveIfError( fsSession.Connect() ); - CleanupClosePushL(fsSession); - - TEntry entry; - User::LeaveIfError(fsSession.Entry(aFileName, entry)); - TInt fileSize = entry.iSize; - - LOGTEXT1(_L(" CAknFileSoundInfo::InitL() - File size:%d"), fileSize); - - iAudioData = HBufC8::NewMaxL(fileSize); - - TPtr8 dataPtr = iAudioData->Des(); - LoadAudioDataL(fsSession, aFileName, dataPtr); - - CleanupStack::PopAndDestroy(); // fsSession - + iFileName = aFileName; LOGTEXT(_L(" CAknFileSoundInfo::InitL() - Exit")); } - -void CAknFileSoundInfo::LoadAudioDataL(RFs& aFs, const TDesC& aFileName, TDes8& aDes) - { - RDebug::Print(_L("CAknFileSoundInfo::LoadAudioDataL().")); - - RFile file; - User::LeaveIfError( file.Open(aFs, aFileName,EFileRead|EFileShareAny) ); - CleanupClosePushL(file); - TInt error = file.Read(aDes, aDes.Length()); - file.Close(); - CleanupStack::Pop(); //file - User::LeaveIfError(error); - - LOGTEXT(_L(" CAknFileSoundInfo::LoadAudioDataL() - Exit")); - } - - void CAknFileSoundInfo::PlayL() { LOGTEXT(_L("CAknFileSoundInfo::PlayL().")); @@ -1179,9 +1147,7 @@ Stop(); // Create audio player. DoPlay() will be called in all circumstances. - iAudioPlayer = CMdaAudioPlayerUtility::NewDesPlayerReadOnlyL( - *iAudioData, *this, iPriority, (TMdaPriorityPreference)iPreference, iMdaServer); - + iAudioPlayer = CMdaAudioPlayerUtility::NewFilePlayerL(iFileName, *this, iPriority,(TMdaPriorityPreference)iPreference ); LOGTEXT(_L(" CAknFileSoundInfo::PlayL() - Exit")); } @@ -1263,7 +1229,8 @@ if ( Preference() != KKeyClickPreference ) // Other sounds than key click { - aAudioPlayer->SetVolume( ((TInt)iVolume * max )/(TInt)ESoundVolume9); + //change (TInt)ESoundVolume9 to ((TInt)ESoundVolume9 + 1)) to keep consistent with audiotheme + aAudioPlayer->SetVolume( ((TInt)iVolume * max )/((TInt)ESoundVolume9 + 1)); return; }