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; |