imagehandlingutilities/thumbnailmanager/plugins/video/src/thumbnailvideoprovider.cpp
branchRCL_3
changeset 41 9d4d3445ce6e
parent 40 6257223ede8a
equal deleted inserted replaced
40:6257223ede8a 41:9d4d3445ce6e
    23 
    23 
    24 #include "thumbnailvideoprovider.h"
    24 #include "thumbnailvideoprovider.h"
    25 #include "thumbnailmanageruids.hrh"
    25 #include "thumbnailmanageruids.hrh"
    26 #include "thumbnailmanagerconstants.h"
    26 #include "thumbnailmanagerconstants.h"
    27 #include "thumbnaillog.h"
    27 #include "thumbnaillog.h"
    28 #include "OstTraceDefinitions.h"
       
    29 #ifdef OST_TRACE_COMPILER_IN_USE
       
    30 #include "thumbnailvideoproviderTraces.h"
       
    31 #endif
       
    32 
       
    33 
    28 
    34 #ifndef IMPLEMENTATION_PROXY_ENTRY
    29 #ifndef IMPLEMENTATION_PROXY_ENTRY
    35 typedef TAny* TProxyNewLPtr;
    30 typedef TAny* TProxyNewLPtr;
    36 #define IMPLEMENTATION_PROXY_ENTRY(aUid, aFuncPtr) \
    31 #define IMPLEMENTATION_PROXY_ENTRY(aUid, aFuncPtr) \
    37 { {aUid}, static_cast<TProxyNewLPtr>(aFuncPtr) }
    32 { {aUid}, static_cast<TProxyNewLPtr>(aFuncPtr) }
    62     
    57     
    63     iTimer.CreateLocal();
    58     iTimer.CreateLocal();
    64     iTimeout = EFalse;
    59     iTimeout = EFalse;
    65     
    60     
    66     TN_DEBUG1( "CThumbnailVideoProvider::CThumbnailVideoProvider()" );
    61     TN_DEBUG1( "CThumbnailVideoProvider::CThumbnailVideoProvider()" );
    67     OstTrace0( TRACE_NORMAL, CTHUMBNAILVIDEOPROVIDER_CTHUMBNAILVIDEOPROVIDER, "CThumbnailVideoProvider::CThumbnailVideoProvider" );
       
    68     }
    62     }
    69 
    63 
    70 
    64 
    71 // ---------------------------------------------------------------------------
    65 // ---------------------------------------------------------------------------
    72 // CThumbnailVideoProvider::~CThumbnailVideoProvider()
    66 // CThumbnailVideoProvider::~CThumbnailVideoProvider()
    86         }
    80         }
    87     
    81     
    88     iTimer.Close();
    82     iTimer.Close();
    89     
    83     
    90     TN_DEBUG1( "CThumbnailVideoProvider::~CThumbnailVideoProvider()" );
    84     TN_DEBUG1( "CThumbnailVideoProvider::~CThumbnailVideoProvider()" );
    91     OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILVIDEOPROVIDER_CTHUMBNAILVIDEOPROVIDER, "CThumbnailVideoProvider::~CThumbnailVideoProvider" );
       
    92     REComSession::DestroyedImplementation( iDtor_ID_Key );
    85     REComSession::DestroyedImplementation( iDtor_ID_Key );
    93     }
    86     }
    94 // -----------------------------------------------------------------------------
    87 // -----------------------------------------------------------------------------
    95 // CThumbnailVideoProvider::DoCancel()
    88 // CThumbnailVideoProvider::DoCancel()
    96 // -----------------------------------------------------------------------------
    89 // -----------------------------------------------------------------------------
   122         {
   115         {
   123         iObserver->ThumbnailProviderReady( KErrCompletion, NULL, TSize(), EFalse, EFalse);
   116         iObserver->ThumbnailProviderReady( KErrCompletion, NULL, TSize(), EFalse, EFalse);
   124         iTimeout = EFalse;
   117         iTimeout = EFalse;
   125         
   118         
   126         TN_DEBUG1( "CThumbnailVideoProvider::RunL() - timeout" );
   119         TN_DEBUG1( "CThumbnailVideoProvider::RunL() - timeout" );
   127         OstTrace0( TRACE_NORMAL, CTHUMBNAILVIDEOPROVIDER_RUNL, "CThumbnailVideoProvider::RunL - timeout" );
       
   128         }
   120         }
   129     }
   121     }
   130 
   122 
   131 // ---------------------------------------------------------------------------
   123 // ---------------------------------------------------------------------------
   132 // CThumbnailVideoProvider::GetThumbnailL()
   124 // CThumbnailVideoProvider::GetThumbnailL()
   136 void CThumbnailVideoProvider::GetThumbnailL( RFs&  /*aFs*/, RFile64& aFile, const
   128 void CThumbnailVideoProvider::GetThumbnailL( RFs&  /*aFs*/, RFile64& aFile, const
   137     TDataType&  /*aMimeType*/, const CThumbnailManager::TThumbnailFlags aFlags,
   129     TDataType&  /*aMimeType*/, const CThumbnailManager::TThumbnailFlags aFlags,
   138     const TDisplayMode /*aDisplayMode*/, const CThumbnailManager::TThumbnailQualityPreference /*aQualityPreference */)
   130     const TDisplayMode /*aDisplayMode*/, const CThumbnailManager::TThumbnailQualityPreference /*aQualityPreference */)
   139     {
   131     {
   140     TN_DEBUG1( "CThumbnailVideoProvider::GetThumbnailL() start" );
   132     TN_DEBUG1( "CThumbnailVideoProvider::GetThumbnailL() start" );
   141     OstTrace0( TRACE_NORMAL, CTHUMBNAILVIDEOPROVIDER_GETTHUMBNAILL, "CThumbnailVideoProvider::GetThumbnailL - start" );
       
   142 
   133 
   143     iFlags = aFlags;
   134     iFlags = aFlags;
   144 	//set default mode displaymode from global constants
   135 	//set default mode displaymode from global constants
   145     iDisplayMode = KStoreDisplayMode;
   136     iDisplayMode = KStoreDisplayMode;
   146 
   137 
   147 //Symbian^4 specific	
       
   148 //TODO currently only ARM platforms supports MAP mode
       
   149 #if !(defined(__CC_ARM) || defined(__ARMCC__))
       
   150     iDisplayMode = EColor16M;
       
   151 #endif	
       
   152 
       
   153     TFileName filename;
   138     TFileName filename;
   154     User::LeaveIfError( aFile.FullName( filename ));
   139     User::LeaveIfError( aFile.FullName( filename ));
   155 
   140 
   156     TRAPD( err, iVideoClipInfo = CTNEVideoClipInfo::NewL( filename, * this ));
   141     TRAPD( err, iVideoClipInfo = CTNEVideoClipInfo::NewL( filename, * this ));
   157 
   142 
   159         {
   144         {
   160         User::Leave( KErrCorrupt );
   145         User::Leave( KErrCorrupt );
   161         }
   146         }
   162     
   147     
   163     TN_DEBUG1( "CThumbnailVideoProvider::GetThumbnailL() end" );
   148     TN_DEBUG1( "CThumbnailVideoProvider::GetThumbnailL() end" );
   164     OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILVIDEOPROVIDER_GETTHUMBNAILL, "CThumbnailVideoProvider::GetThumbnailL - end" );
       
   165     }
   149     }
   166 
   150 
   167 // ---------------------------------------------------------------------------
   151 // ---------------------------------------------------------------------------
   168 // CThumbnailVideoProvider::GetThumbnailL()
   152 // CThumbnailVideoProvider::GetThumbnailL()
   169 // ---------------------------------------------------------------------------
   153 // ---------------------------------------------------------------------------
   174     const CThumbnailManager::TThumbnailFlags /*aFlags*/,
   158     const CThumbnailManager::TThumbnailFlags /*aFlags*/,
   175     const TDisplayMode /* aDisplayMode */, 
   159     const TDisplayMode /* aDisplayMode */, 
   176     const CThumbnailManager::TThumbnailQualityPreference /*aQualityPreference */)
   160     const CThumbnailManager::TThumbnailQualityPreference /*aQualityPreference */)
   177     {
   161     {
   178     TN_DEBUG1( "CThumbnailVideoProvider::GetThumbnailL() - nothing to do" );
   162     TN_DEBUG1( "CThumbnailVideoProvider::GetThumbnailL() - nothing to do" );
   179     OstTrace0( TRACE_NORMAL, DUP2_CTHUMBNAILVIDEOPROVIDER_GETTHUMBNAILL, "CThumbnailVideoProvider::GetThumbnailL - nothing to do" );
       
   180     }
   163     }
   181 
   164 
   182 // ---------------------------------------------------------------------------
   165 // ---------------------------------------------------------------------------
   183 // CThumbnailVideoProvider::GetThumbnailL()
   166 // CThumbnailVideoProvider::GetThumbnailL()
   184 // ---------------------------------------------------------------------------
   167 // ---------------------------------------------------------------------------
   185 //
   168 //
   186 void CThumbnailVideoProvider::GetThumbnailL( RFs& /*aFs*/, TDesC8& /*aBuffer*/)
   169 void CThumbnailVideoProvider::GetThumbnailL( RFs& /*aFs*/, TDesC8& /*aBuffer*/)
   187     {
   170     {
   188     TN_DEBUG1( "CThumbnailVideoProvider::GetThumbnailL() - nothing to do" );
   171     TN_DEBUG1( "CThumbnailVideoProvider::GetThumbnailL() - nothing to do" );
   189     OstTrace0( TRACE_NORMAL, DUP3_CTHUMBNAILVIDEOPROVIDER_GETTHUMBNAILL, "CThumbnailVideoProvider::GetThumbnailL - nothing to do" );
       
   190     User::Leave( KErrNotSupported );
   172     User::Leave( KErrNotSupported );
   191     }
   173     }
   192 
   174 
   193 // ---------------------------------------------------------------------------
   175 // ---------------------------------------------------------------------------
   194 // Cancel thumbnail request
   176 // Cancel thumbnail request
   214 //
   196 //
   215 void CThumbnailVideoProvider::NotifyVideoClipThumbCompleted( CTNEVideoClipInfo&
   197 void CThumbnailVideoProvider::NotifyVideoClipThumbCompleted( CTNEVideoClipInfo&
   216     /*aInfo*/, TInt aError, CFbsBitmap* aThumb )
   198     /*aInfo*/, TInt aError, CFbsBitmap* aThumb )
   217     {
   199     {
   218     TN_DEBUG2( "CThumbnailVideoProvider::NotifyVideoClipThumbCompleted(aError=%d)", aError );
   200     TN_DEBUG2( "CThumbnailVideoProvider::NotifyVideoClipThumbCompleted(aError=%d)", aError );
   219     OstTrace1( TRACE_NORMAL, CTHUMBNAILVIDEOPROVIDER_NOTIFYVIDEOCLIPTHUMBCOMPLETED, "CThumbnailVideoProvider::NotifyVideoClipThumbCompleted;aError=%d", aError );
       
   220     
   201     
   221     iTimer.Cancel();
   202     iTimer.Cancel();
   222     iTimeout = EFalse;
   203     iTimeout = EFalse;
   223     
   204     
   224     if (( aError == KErrNone ) && aThumb )
   205     if (( aError == KErrNone ) && aThumb )
   237 //
   218 //
   238 void CThumbnailVideoProvider::NotifyVideoClipInfoReady( CTNEVideoClipInfo&
   219 void CThumbnailVideoProvider::NotifyVideoClipInfoReady( CTNEVideoClipInfo&
   239     aInfo, TInt aError )
   220     aInfo, TInt aError )
   240     {
   221     {
   241     TN_DEBUG2( "CThumbnailVideoProvider::NotifyVideoClipInfoReady(aError=%d)", aError );
   222     TN_DEBUG2( "CThumbnailVideoProvider::NotifyVideoClipInfoReady(aError=%d)", aError );
   242     OstTrace1( TRACE_NORMAL, CTHUMBNAILVIDEOPROVIDER_NOTIFYVIDEOCLIPINFOREADY, "CThumbnailVideoProvider::NotifyVideoClipInfoReady;aError=%d", aError );
       
   243     
   223     
   244     if ( aError == KErrNone )
   224     if ( aError == KErrNone )
   245         {
   225         {
   246         TInt err( KErrNone );
   226         TInt err( KErrNone );
   247 
   227 
   249         TRAP( err, aInfo.GetThumbL( *this, KBestThumbIndex, NULL, iDisplayMode, ETrue ));
   229         TRAP( err, aInfo.GetThumbL( *this, KBestThumbIndex, NULL, iDisplayMode, ETrue ));
   250   
   230   
   251         if ( err != KErrNone )
   231         if ( err != KErrNone )
   252             {
   232             {
   253             TN_DEBUG2( "CThumbnailVideoProvider::NotifyVideoClipInfoReady() -- GetThumbL() left with %d", err );
   233             TN_DEBUG2( "CThumbnailVideoProvider::NotifyVideoClipInfoReady() -- GetThumbL() left with %d", err );
   254             OstTrace1( TRACE_NORMAL, DUP1_CTHUMBNAILVIDEOPROVIDER_NOTIFYVIDEOCLIPINFOREADY, "CThumbnailVideoProvider::NotifyVideoClipInfoReady - GetThumbL() left with;err=%d", err );
       
   255             
   234             
   256             iObserver->ThumbnailProviderReady( err, NULL, TSize(), EFalse, EFalse);
   235             iObserver->ThumbnailProviderReady( err, NULL, TSize(), EFalse, EFalse);
   257             
   236             
   258             SetActive();
   237             SetActive();
   259             TRequestStatus* statusPtr = &iStatus;
   238             TRequestStatus* statusPtr = &iStatus;