photosgallery/viewframework/tvout/src/glxhdmisurfaceupdater.cpp
branchRCL_3
changeset 75 01504893d9cb
parent 68 5b238bc8ffb6
equal deleted inserted replaced
68:5b238bc8ffb6 75:01504893d9cb
    69     GLX_LOG_INFO(
    69     GLX_LOG_INFO(
    70             "CGlxHdmiSurfaceUpdater::~CGlxHdmiSurfaceUpdater()-EHdmiDisconnected");
    70             "CGlxHdmiSurfaceUpdater::~CGlxHdmiSurfaceUpdater()-EHdmiDisconnected");
    71     TRAP_IGNORE(iDecoderObserver.HandleHDMIDecodingEventL(EHdmiDisconnected));
    71     TRAP_IGNORE(iDecoderObserver.HandleHDMIDecodingEventL(EHdmiDisconnected));
    72 
    72 
    73     ReleaseContent();
    73     ReleaseContent();
    74 
       
    75     delete iNextImagePath;
       
    76 
       
    77     if (iWindow)
    74     if (iWindow)
    78         {
    75         {
    79         iWindow->RemoveBackgroundSurface(ETrue);
    76         iWindow->RemoveBackgroundSurface(ETrue);
    80         }
    77         }
    81     if (iTimer && iTimer->IsActive()) // Check for a CPeriodic Instance
    78     if (iTimer && iTimer->IsActive()) // Check for a CPeriodic Instance
    82         {
    79         {
    83         iTimer->Cancel();
    80         iTimer->Cancel();
    84         }
    81         }
    85     delete iTimer;
    82     delete iTimer;
    86     delete iGlxDecoderAO;
    83     if (iGlxDecoderAO)
    87     delete iSurfBufferAO;
    84         {
       
    85         delete iGlxDecoderAO;
       
    86         }
       
    87     iGlxDecoderAO = NULL;
    88     iFsSession.Close();
    88     iFsSession.Close();
    89     if (iSurfManager)
    89     if (iSurfManager)
    90         {
    90         {
    91         GLX_LOG_INFO(
    91         GLX_LOG_INFO(
    92                 "CGlxHdmiSurfaceUpdater::~CGlxHdmiSurfaceUpdater() - Close");
    92                 "CGlxHdmiSurfaceUpdater::~CGlxHdmiSurfaceUpdater() - Close");
    97         if (iSurfChunk)
    97         if (iSurfChunk)
    98             {
    98             {
    99             iSurfChunk->Close();
    99             iSurfChunk->Close();
   100             }
   100             }
   101         delete iSurfChunk;
   101         delete iSurfChunk;
       
   102         iSurfChunk = NULL;
   102         GLX_LOG_INFO(
   103         GLX_LOG_INFO(
   103                 "CGlxHdmiSurfaceUpdater::~CGlxHdmiSurfaceUpdater(). iSurfManager->CloseSurface()");
   104                 "CGlxHdmiSurfaceUpdater::~CGlxHdmiSurfaceUpdater(). iSurfManager->CloseSurface()");
   104         iSurfManager->CloseSurface(iSurfId);
   105         iSurfManager->CloseSurface(iSurfId);
   105         GLX_LOG_INFO(
   106         GLX_LOG_INFO(
   106                 "CGlxHdmiSurfaceUpdater::~CGlxHdmiSurfaceUpdater(). iSurfManager->Close()");
   107                 "CGlxHdmiSurfaceUpdater::~CGlxHdmiSurfaceUpdater(). iSurfManager->Close()");
   107         iSurfManager->Close();
   108         iSurfManager->Close();
   108         delete iSurfManager;
   109         delete iSurfManager;
       
   110         iSurfManager = NULL;
   109         }
   111         }
   110     }
   112     }
   111 
   113 
   112 // -----------------------------------------------------------------------------
   114 // -----------------------------------------------------------------------------
   113 // ReleaseContent 
   115 // ReleaseContent 
   234 // -----------------------------------------------------------------------------
   236 // -----------------------------------------------------------------------------
   235 void CGlxHdmiSurfaceUpdater::UpdateNewImageL(const TDesC& aImageFile,
   237 void CGlxHdmiSurfaceUpdater::UpdateNewImageL(const TDesC& aImageFile,
   236         const TDesC& aNextImageFile, CFbsBitmap* aFsBitmap)
   238         const TDesC& aNextImageFile, CFbsBitmap* aFsBitmap)
   237     {
   239     {
   238     TRACER("CGlxHdmiSurfaceUpdater::UpdateNewImageL()");
   240     TRACER("CGlxHdmiSurfaceUpdater::UpdateNewImageL()");
   239     delete iNextImagePath;
       
   240     iNextImagePath = NULL;
       
   241 
       
   242     if (!aImageFile.CompareC(*iImagePath) && !iDecodingCurrent
   241     if (!aImageFile.CompareC(*iImagePath) && !iDecodingCurrent
   243             && !iDecodingNext)
   242             && !iDecodingNext)
   244         {
   243         {
   245         iNextImagePath = aNextImageFile.Alloc();
   244         iNextImagePath = aNextImageFile.Alloc();
   246         GLX_LOG_INFO(
   245         GLX_LOG_INFO(
   267             }
   266             }
   268         }
   267         }
   269     else
   268     else
   270         {
   269         {
   271         ReleaseContent();
   270         ReleaseContent();
       
   271 		if (iNextImagePath)
       
   272 			{
       
   273 			delete iNextImagePath;
       
   274 			iNextImagePath = NULL;
       
   275 			}
   272 		// Ongoing decoding is cancelled if any,reset the decoding flags. 
   276 		// Ongoing decoding is cancelled if any,reset the decoding flags. 
   273 		iDecodingNext = EFalse;
   277 		iDecodingNext = EFalse;
   274 		iDecodingCurrent = EFalse;
   278 		iDecodingCurrent = EFalse;
   275 		}
   279 		}
   276     // Initiate the HDMI by assigning the necessary values
   280     // Initiate the HDMI by assigning the necessary values
   998 void CGlxHdmiSurfaceUpdater::DecodeNextImageL()
  1002 void CGlxHdmiSurfaceUpdater::DecodeNextImageL()
   999     {
  1003     {
  1000     TRACER("CGlxHdmiSurfaceUpdater::DecodeNextImageL()");
  1004     TRACER("CGlxHdmiSurfaceUpdater::DecodeNextImageL()");
  1001     ReleaseContent();
  1005     ReleaseContent();
  1002     iImagePath = iNextImagePath->Alloc();
  1006     iImagePath = iNextImagePath->Alloc();
  1003     delete iNextImagePath;
  1007     if (iNextImagePath)
  1004     iNextImagePath = NULL;
  1008         {
       
  1009         delete iNextImagePath;
       
  1010         iNextImagePath = NULL;
       
  1011         }
  1005     iIsNonJpeg = EFalse;
  1012     iIsNonJpeg = EFalse;
  1006     GLX_LOG_INFO("Before - iWindow->Size()");
  1013     GLX_LOG_INFO("Before - iWindow->Size()");
  1007     iTvScreenSize = iWindow->Size();
  1014     iTvScreenSize = iWindow->Size();
  1008     GLX_LOG_INFO("After - iWindow->Size()");
  1015     GLX_LOG_INFO("After - iWindow->Size()");
  1009     iBitmapReady = EFalse;
  1016     iBitmapReady = EFalse;