photosgallery/slideshow/view/src/shwslideshowview.cpp
branchRCL_3
changeset 13 71da52165949
parent 9 6b87b143d312
child 14 ce1c7ad1f18b
--- a/photosgallery/slideshow/view/src/shwslideshowview.cpp	Fri Feb 19 22:51:01 2010 +0200
+++ b/photosgallery/slideshow/view/src/shwslideshowview.cpp	Fri Mar 12 15:42:44 2010 +0200
@@ -67,6 +67,8 @@
 #include "shwviewtimer.h"
 #include "shwmediakeyshandler.h"
 #include <glxtexturemanager.h>
+#include <glxerrormanager.h>             
+#include <glxthumbnailattributeinfo.h>   
 namespace
     {
     _LIT(KShwSlideshowViewResource,"shwslideshowview.rsc");
@@ -647,7 +649,7 @@
                 {
                 RemoveTexture();
                 }
-            SetImage();
+            SetImageL();
             }    
 	    }
     }
@@ -725,7 +727,7 @@
         iWaitDialog->ProcessFinishedL();
         }
     iShwState = EShwPlay;
-    SetImage();
+    SetImageL();
 	iHdmiActive = ETrue;
     ReplaceCommandSetL(R_SHW_SOFTKEYS_END_PAUSE,R_SHW_SOFTKEYS_END_PAUSE);
     ShowShwFurnitureL();
@@ -1252,20 +1254,32 @@
 		}
 	CGlxViewBase::ProcessCommandL(aCommandId);
 	}
-// -----------------------------------------------------------------------------
-// SetImage.
-// To set Image to external display if HDmi connected
+// ----------------------------------------------------------------------------- 
+// Set the image to external display - HDMI
 // -----------------------------------------------------------------------------
 //
-void CShwSlideshowView::SetImage()
+void CShwSlideshowView::SetImageL()
     {
-    TRACER("CShwSlideshowView::SetImage");
-    TGlxMedia item = iFilteredList->Item( iFilteredList->FocusIndex() );
+    TRACER("CShwSlideshowView::SetImageL() - CGlxHDMI");
+    TGlxMedia item = iFilteredList->Item(iFilteredList->FocusIndex());
     TInt frameCount(0);
     TSize orignalSize;
-    TBool aFramesPresent  = item.GetFrameCount(frameCount);
-    TBool adimension  = item.GetDimensions(orignalSize);
-    iHdmiController->SetImageL(item.Uri(), orignalSize, frameCount);
+    TBool aFramesPresent = item.GetFrameCount(frameCount);
+    TBool adimension = item.GetDimensions(orignalSize);
+    TInt error = GlxErrorManager::HasAttributeErrorL(item.Properties(),
+            KGlxMediaIdThumbnail);
+    if (error == KErrNone)
+        {
+        GLX_LOG_INFO("CShwSlideshowView::SetImageL() - CGlxHDMI call SetImageL");
+        iHdmiController->SetImageL(item.Uri(), orignalSize, frameCount);
+        }
+    else
+        {
+        GLX_LOG_INFO1("CShwSlideshowView::SetImageL() - CGlxHDMI IsVideo , err=%d",error);
+        //Set the external display to cloning mode.
+        //If the current item is a video, corruted thumbnail
+        iHdmiController->IsVideo();
+        }
     }
 // ---------------------------------------------------------------------------
 //