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