--- a/mpengine/src/mpmediakeyhandler_p.cpp Fri Jun 11 19:36:32 2010 -0500
+++ b/mpengine/src/mpmediakeyhandler_p.cpp Fri Jun 25 17:21:37 2010 -0500
@@ -405,13 +405,63 @@
TMPXPlaybackState playerState( iPlaybackUtility->StateL() );
switch ( aCommandId ) {
+ case EPbCmdPlayPause:
+ if ( playerState == EPbStatePlaying || playerState == EPbStatePaused
+ || playerState == EPbStateStopped ) {
+ iPlaybackUtility->CommandL( EPbCmdPlayPause );
+ }
+ break;
+ case EPbCmdPlay:
+ if ( playerState == EPbStateStopped || playerState == EPbStatePaused ) {
+ iPlaybackUtility->CommandL( EPbCmdPlay );
+ }
+ break;
+ case EPbCmdStop:
+ if ( playerState == EPbStatePlaying || playerState == EPbStatePaused ) {
+ iPlaybackUtility->CommandL( EPbCmdStop );
+ }
+ break;
+ case EPbCmdPause:
+ if ( playerState == EPbStatePlaying ) {
+ iPlaybackUtility->CommandL( EPbCmdPause );
+ }
+ break;
+ case EPbCmdStartSeekBackward:
+ if ( playerState == EPbStatePlaying || playerState == EPbStatePaused ) {
+ iPlaybackUtility->CommandL( EPbCmdStartSeekBackward );
+ }
+ break;
+ case EPbCmdStartSeekForward:
+ if ( playerState == EPbStatePlaying || playerState == EPbStatePaused ) {
+ iPlaybackUtility->CommandL( EPbCmdStartSeekForward );
+ }
+ break;
+ case EPbCmdStopSeeking:
+ if ( playerState == EPbStateSeekingBackward || playerState == EPbStateSeekingForward ) {
+ iPlaybackUtility->CommandL( EPbCmdStopSeeking );
+ }
+ break;
+ case EPbCmdPrevious:
+ if ( playerState == EPbStatePlaying || playerState == EPbStatePaused
+ || playerState == EPbStateStopped ) {
+ iPlaybackUtility->CommandL( EPbCmdPrevious );
+ }
+ break;
+ case EPbCmdNext:
+ if ( playerState == EPbStatePlaying || playerState == EPbStatePaused
+ || playerState == EPbStateStopped ) {
+ iPlaybackUtility->CommandL( EPbCmdNext );
+ }
+ break;
case EPbCmdIncreaseVolume:
- if ( EPbStatePlaying == playerState ) {
+ if ( playerState == EPbStatePlaying || playerState == EPbStatePaused
+ || playerState == EPbStateStopped ) {
iPlaybackUtility->CommandL( EPbCmdIncreaseVolume );
}
break;
case EPbCmdDecreaseVolume:
- if ( EPbStatePlaying == playerState ) {
+ if ( playerState == EPbStatePlaying || playerState == EPbStatePaused
+ || playerState == EPbStateStopped ) {
iPlaybackUtility->CommandL( EPbCmdDecreaseVolume );
}
break;
@@ -419,7 +469,6 @@
break;
}
}
-
}
// ---------------------------------------------------------------------------
@@ -431,7 +480,6 @@
static_cast<MpMediaKeyHandlerPrivate*>( aPtr )->HandleRepeatEvent();
-
return KErrNone;
}