uifw/EikStd/srvuisrc/eikkeysoundserver.cpp
branchRCL_3
changeset 56 d48ab3b357f1
parent 55 aecbbf00d063
child 64 85902f042028
--- 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<TAudioThemeEvent>(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;
         }