mpengine/src/mpmediakeyhandler_p.cpp
changeset 38 b93f525c9244
parent 20 82baf59ce8dd
--- 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;
 }