diff -r 82baf59ce8dd -r ecf06a08d4d9 mpserviceplugins/localaudio/src/mpxlocalaudioplayback.cpp --- a/mpserviceplugins/localaudio/src/mpxlocalaudioplayback.cpp Fri Apr 16 14:56:30 2010 +0300 +++ b/mpserviceplugins/localaudio/src/mpxlocalaudioplayback.cpp Mon May 03 12:29:20 2010 +0300 @@ -50,11 +50,8 @@ // CONSTANTS const TUid KLocalPlaybackUid={0x101FFC06}; -// added because of build warning -#if defined(__HIGH_RESOLUTION_VOLUME) -_LIT(KWmaExtension, ".wma"); -_LIT(KRaExtension, ".ra"); -#endif +//_LIT(KWmaExtension, ".wma"); +//_LIT(KRaExtension, ".ra"); // ============================ LOCAL FUNCTIONS ============================== @@ -307,7 +304,25 @@ { if (iConsumeStarted) { - TRAP_IGNORE( ConsumeRightsL( ContentAccess::EContinue ) ); + TRAPD( drmErr, ConsumeRightsL( ContentAccess::EContinue ) ); + if ( drmErr == KErrCANoRights ) + { + iDrmMediaUtility->Close(); + iPlayer->Stop(); + iIsPlaying = EFalse; + iAudioEffects->DestroyAudioEffect(); + iPlayer->Close(); + iObs->HandlePluginEvent( + MMPXPlaybackPluginObserver::EPStopped, 0, + drmErr); + iFile.Close(); + iState = EStateNotInitialised; + iObs->HandlePluginEvent( + MMPXPlaybackPluginObserver::EPClosed, + EPbCmdStop, drmErr); + iClosedByAudioPolicy = EFalse; + break; + } } else { @@ -483,6 +498,25 @@ { iPlayer->Pause(); iPlayer->SetPosition(pos); + //Handle error of license expired when tapping the progress playing bar + TRAPD( drmErr, ConsumeRightsL( ContentAccess::EContinue ) ); + if ( drmErr == KErrCANoRights ) + { + iDrmMediaUtility->Close(); + iPlayer->Stop(); + iIsPlaying = EFalse; + iAudioEffects->DestroyAudioEffect(); + iPlayer->Close(); + iObs->HandlePluginEvent( + MMPXPlaybackPluginObserver::EPStopped, 0, drmErr); + iFile.Close(); + iState = EStateNotInitialised; + iObs->HandlePluginEvent( + MMPXPlaybackPluginObserver::EPClosed, EPbCmdStop, + drmErr); + iClosedByAudioPolicy = EFalse; + return; + } iPlayer->Play(); } else