diff -r 8118492f1bdf -r b70d77332e66 mpxmusicplayer/mediakeyhandler/src/mpxmediakeyhandlerimp.cpp --- a/mpxmusicplayer/mediakeyhandler/src/mpxmediakeyhandlerimp.cpp Thu Jan 07 12:45:53 2010 +0200 +++ b/mpxmusicplayer/mediakeyhandler/src/mpxmediakeyhandlerimp.cpp Mon Jan 18 20:18:06 2010 +0200 @@ -297,20 +297,32 @@ if ( forwardCommand ) { iVolumeEventCount++; + + TInt volume(0); + TFileName subPlayerName; + TMPXPlaybackPlayerType currentPlayerType = EPbLocal; + GetSubPlayerInfoL(subPlayerName, currentPlayerType); - TInt volume = iUpnpVolume % ( KPbPlaybackVolumeLevelMax / iVolumeSteps ) - + iCurrentVol * KPbPlaybackVolumeLevelMax / iVolumeSteps; - - if ( volume < KMPXMinVolume ) - { - volume = KMPXMinVolume; - } - if ( volume > KMPXMaxVolume ) - { - volume = KMPXMaxVolume; - } - - iObserver->HandleMediaKeyCommand( aCommandId, volume ); + if ( currentPlayerType == EPbRemote ) + { + volume = iUpnpVolume % ( KPbPlaybackVolumeLevelMax / iVolumeSteps ) + + iCurrentVol * KPbPlaybackVolumeLevelMax / iVolumeSteps; + } + else + { + volume = iCurrentVol * KPbPlaybackVolumeLevelMax/iVolumeSteps; + } + + if ( volume < KMPXMinVolume ) + { + volume = KMPXMinVolume; + } + if ( volume > KMPXMaxVolume ) + { + volume = KMPXMaxVolume; + } + + iObserver->HandleMediaKeyCommand( aCommandId, volume ); } } }