videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp
changeset 1 6711b85517b7
parent 0 96612d01cf9f
child 2 dec420019252
--- a/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp	Mon Jan 18 20:21:12 2010 +0200
+++ b/videoplayback/videoplaybackviews/src/mpxvideobaseplaybackview.cpp	Tue Jan 26 12:00:59 2010 +0200
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 56 %
+// Version : %version: 57 %
 
 
 //  Include Files
@@ -1354,14 +1354,18 @@
         if ( aMedia.IsSupported( KMPXMediaVideoError ) )
         {
             TInt error = aMedia.ValueTObjectL<TInt>( KMPXMediaVideoError );
+
             // Reset the controls
             iContainer->HandleCommandL( EMPXPbvCmdResetControls );
+
             // Set the iMediaRequested flag to false
             iMediaRequested = EFalse;
+
+            // Handle the plugin error
+            HandlePluginErrorL( error );
+
             // Reset the playback state to stopped
             iPlaybackState = EPbStateStopped;
-            // Handle the plugin error
-            HandlePluginErrorL( error );
         }
         else
         {
@@ -1840,7 +1844,13 @@
 {
     MPX_ENTER_EXIT(_L("CMPXVideoBasePlaybackView::HandleDrmErrorsL()"));
 
-    if ( IsMultiItemPlaylist() )
+    //
+    //  If we receive an error when we are initialized, let the DRM UI Handler
+    //  process the error.  If we have been playing, display the error message
+    //  and close the playback
+    //
+    if ( IsMultiItemPlaylist() || iPlaybackState != EPbStateInitialised )
+
     {
         DisplayErrorMessageL( R_MPX_DRM_RIGHTS_MISSING  );
     }