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