equal
deleted
inserted
replaced
35 #ifdef _DEBUG |
35 #ifdef _DEBUG |
36 #include <e32svr.h> |
36 #include <e32svr.h> |
37 #define PRINT(x) RDebug::Print x |
37 #define PRINT(x) RDebug::Print x |
38 #else |
38 #else |
39 #define PRINT(x) |
39 #define PRINT(x) |
|
40 #endif |
|
41 |
|
42 #include "OstTraceDefinitions.h" |
|
43 #ifdef OST_TRACE_COMPILER_IN_USE |
|
44 #include "CamC3GPDataSinkImpTraces.h" |
40 #endif |
45 #endif |
41 |
46 |
42 // CONSTANTS |
47 // CONSTANTS |
43 const TUint KVideoAverageBitRate = 48000; // Default average bitrate for video |
48 const TUint KVideoAverageBitRate = 48000; // Default average bitrate for video |
44 const TUint KVideoMaxBitRate = 64000; // Default maximum bitrate for video |
49 const TUint KVideoMaxBitRate = 64000; // Default maximum bitrate for video |
94 // Sink destructor. |
99 // Sink destructor. |
95 // ----------------------------------------------------------------------------- |
100 // ----------------------------------------------------------------------------- |
96 // |
101 // |
97 CCamC3GPDataSinkImp::~CCamC3GPDataSinkImp(void) |
102 CCamC3GPDataSinkImp::~CCamC3GPDataSinkImp(void) |
98 { |
103 { |
|
104 OstTrace0( CAMERASRV_PERFORMANCE, CCAMC3GPDATASINKIMP_CCAMC3GPDATASINKIMP, "e_CCamC3GPDataSinkImp::~CCamC3GPDataSinkImp 1" ); |
99 PRINT(_L("CCamC3GPDataSinkImp::~CCamC3GPDataSinkImp enter")); |
105 PRINT(_L("CCamC3GPDataSinkImp::~CCamC3GPDataSinkImp enter")); |
100 |
106 |
101 if ( iFileName != KNullDesC ) |
107 if ( iFileName != KNullDesC ) |
102 { |
108 { |
103 // we need to try to stop sink |
109 // we need to try to stop sink |
137 iDeleteFileQueue->ResetAndDestroy(); |
143 iDeleteFileQueue->ResetAndDestroy(); |
138 } |
144 } |
139 delete iDeleteFileQueue; |
145 delete iDeleteFileQueue; |
140 iDeleteFileQueue = 0; |
146 iDeleteFileQueue = 0; |
141 PRINT(_L("CCamC3GPDataSinkImp::~CCamC3GPDataSinkImp exit")); |
147 PRINT(_L("CCamC3GPDataSinkImp::~CCamC3GPDataSinkImp exit")); |
|
148 OstTrace0( CAMERASRV_PERFORMANCE, DUP1_CCAMC3GPDATASINKIMP_CCAMC3GPDATASINKIMP, "e_CCamC3GPDataSinkImp::~CCamC3GPDataSinkImp 0" ); |
142 } |
149 } |
143 |
150 |
144 |
151 |
145 // ----------------------------------------------------------------------------- |
152 // ----------------------------------------------------------------------------- |
146 // CCamC3GPDataSinkImp::ConstructL |
153 // CCamC3GPDataSinkImp::ConstructL |
148 // Symbian 2nd phase constructor. |
155 // Symbian 2nd phase constructor. |
149 // ----------------------------------------------------------------------------- |
156 // ----------------------------------------------------------------------------- |
150 // |
157 // |
151 void CCamC3GPDataSinkImp::ConstructL(M3GPDataSinkObserver *aObserver) |
158 void CCamC3GPDataSinkImp::ConstructL(M3GPDataSinkObserver *aObserver) |
152 { |
159 { |
|
160 OstTrace0( CAMERASRV_PERFORMANCE, CCAMC3GPDATASINKIMP_CONSTRUCTL, "e_CCamC3GPDataSinkImp::ConstructL 1" ); |
153 PRINT(_L("CCamC3GPDataSinkImp::ConstructL enter")); |
161 PRINT(_L("CCamC3GPDataSinkImp::ConstructL enter")); |
154 iObserver = aObserver; |
162 iObserver = aObserver; |
155 |
163 |
156 iVideoBuffer = new (ELeave) TUint8[KVideoBufferSize]; |
164 iVideoBuffer = new (ELeave) TUint8[KVideoBufferSize]; |
157 iVideoBufferSize = KVideoBufferSize; |
165 iVideoBufferSize = KVideoBufferSize; |
207 |
215 |
208 // Idle priority Active object for async video temp file deletion |
216 // Idle priority Active object for async video temp file deletion |
209 iIdleDelete = CIdle::NewL( CActive::EPriorityIdle ); |
217 iIdleDelete = CIdle::NewL( CActive::EPriorityIdle ); |
210 |
218 |
211 PRINT(_L("CCamC3GPDataSinkImp::ConstructL exit")); |
219 PRINT(_L("CCamC3GPDataSinkImp::ConstructL exit")); |
|
220 OstTrace0( CAMERASRV_PERFORMANCE, DUP1_CCAMC3GPDATASINKIMP_CONSTRUCTL, "e_CCamC3GPDataSinkImp::ConstructL 0" ); |
212 } |
221 } |
213 |
222 |
214 // ----------------------------------------------------------------------------- |
223 // ----------------------------------------------------------------------------- |
215 // CCamC3GPDataSinkImp::OpenFileL |
224 // CCamC3GPDataSinkImp::OpenFileL |
216 // |
225 // |
236 // |
245 // |
237 void CCamC3GPDataSinkImp::OpenFileL(TFileName aFileName, TFourCC aAudioCodecType, const TDesC8& aVideoCodecType, TCamCSinkFileFormat aFileFormat) |
246 void CCamC3GPDataSinkImp::OpenFileL(TFileName aFileName, TFourCC aAudioCodecType, const TDesC8& aVideoCodecType, TCamCSinkFileFormat aFileFormat) |
238 { |
247 { |
239 MP4Err error; |
248 MP4Err error; |
240 |
249 |
|
250 OstTrace0( CAMERASRV_PERFORMANCE, CCAMC3GPDATASINKIMP_OPENFILEL, "e_CCamC3GPDataSinkImp::OpenFileL 1" ); |
241 PRINT((_L("CCamC3GPDataSinkImp::OpenFileL TFileName enter"))); |
251 PRINT((_L("CCamC3GPDataSinkImp::OpenFileL TFileName enter"))); |
242 |
252 |
243 if (iMP4Handle) |
253 if (iMP4Handle) |
244 { |
254 { |
245 User::Leave(KErrGeneral); |
255 User::Leave(KErrGeneral); |
259 iDiskFull = EFalse; |
269 iDiskFull = EFalse; |
260 iTmpFileName = KTmpFileName; |
270 iTmpFileName = KTmpFileName; |
261 iFileName = aFileName; |
271 iFileName = aFileName; |
262 TInt errorcode; |
272 TInt errorcode; |
263 |
273 |
|
274 OstTrace0( CAMERASRV_PERFORMANCE, DUP2_CCAMC3GPDATASINKIMP_OPENFILEL, "e_CCamC3GPDataSinkImp::OpenFileL_create_temp_files 1" ); |
264 if (!iFS) // Don't allocate new file server, if there is one already |
275 if (!iFS) // Don't allocate new file server, if there is one already |
265 { |
276 { |
266 iFS = new (ELeave) RFs; |
277 iFS = new (ELeave) RFs; |
267 |
278 |
268 errorcode = iFS->Connect(); |
279 errorcode = iFS->Connect(); |
348 User::Leave(errorcode); |
359 User::Leave(errorcode); |
349 } |
360 } |
350 } |
361 } |
351 |
362 |
352 PRINT((_L("CCamC3GPDataSinkImp::OpenFileL Temp files cleared"))); |
363 PRINT((_L("CCamC3GPDataSinkImp::OpenFileL Temp files cleared"))); |
|
364 OstTrace0( CAMERASRV_PERFORMANCE, DUP3_CCAMC3GPDATASINKIMP_OPENFILEL, "e_CCamC3GPDataSinkImp::OpenFileL_create_temp_files 0" ); |
353 |
365 |
354 // Find used audio codec |
366 // Find used audio codec |
355 if ( ( aAudioCodecType == TFourCC(KCMRFourCCIdAMRNB) ) ) // AMR-NB |
367 if ( ( aAudioCodecType == TFourCC(KCMRFourCCIdAMRNB) ) ) // AMR-NB |
356 { |
368 { |
357 iFileCodecType |= MP4_TYPE_AMR_NB; |
369 iFileCodecType |= MP4_TYPE_AMR_NB; |
727 { |
739 { |
728 PRINT((_L("CCamC3GPDataSinkImp::OpenFileL Setting async file remover handler FAILED"))); |
740 PRINT((_L("CCamC3GPDataSinkImp::OpenFileL Setting async file remover handler FAILED"))); |
729 } |
741 } |
730 |
742 |
731 PRINT((_L("CCamC3GPDataSinkImp::OpenFileL exit"))); |
743 PRINT((_L("CCamC3GPDataSinkImp::OpenFileL exit"))); |
|
744 OstTrace0( CAMERASRV_PERFORMANCE, DUP1_CCAMC3GPDATASINKIMP_OPENFILEL, "e_CCamC3GPDataSinkImp::OpenFileL 0" ); |
732 } |
745 } |
733 |
746 |
734 |
747 |
735 // ----------------------------------------------------------------------------- |
748 // ----------------------------------------------------------------------------- |
736 // CCamC3GPDataSinkImp::SetSizeLimit |
749 // CCamC3GPDataSinkImp::SetSizeLimit |
987 // |
1000 // |
988 void CCamC3GPDataSinkImp::SinkStopL() |
1001 void CCamC3GPDataSinkImp::SinkStopL() |
989 { |
1002 { |
990 MP4Err error; |
1003 MP4Err error; |
991 |
1004 |
|
1005 OstTrace0( CAMERASRV_PERFORMANCE, CCAMC3GPDATASINKIMP_SINKSTOPL, "e_CCamC3GPDataSinkImp::SinkStopL 1" ); |
992 PRINT((_L("CCamC3GPDataSinkImp::SinkStopL enter"))); |
1006 PRINT((_L("CCamC3GPDataSinkImp::SinkStopL enter"))); |
993 |
1007 |
994 if (!iMP4Handle) |
1008 if (!iMP4Handle) |
995 { |
1009 { |
|
1010 OstTrace0( CAMERASRV_PERFORMANCE, DUP2_CCAMC3GPDATASINKIMP_SINKSTOPL, "e_CCamC3GPDataSinkImp::SinkStopL 0" ); |
996 return; |
1011 return; |
997 } |
1012 } |
998 |
1013 |
999 if (iVideoFrameDuration) // Write remaining video frame to disk |
1014 if (iVideoFrameDuration) // Write remaining video frame to disk |
1000 { |
1015 { |
1108 iAvailableSpaceAtStart = volumeinfo.iFree - (TInt64)(KDiskSafetyLimit+iCriticalDiskVal); |
1123 iAvailableSpaceAtStart = volumeinfo.iFree - (TInt64)(KDiskSafetyLimit+iCriticalDiskVal); |
1109 PRINT((_L("CCamC3GPDataSinkImp::SinkStopL() updating available diskspace - done"))); |
1124 PRINT((_L("CCamC3GPDataSinkImp::SinkStopL() updating available diskspace - done"))); |
1110 } |
1125 } |
1111 |
1126 |
1112 PRINT((_L("CCamC3GPDataSinkImp::SinkStopL exit"))); |
1127 PRINT((_L("CCamC3GPDataSinkImp::SinkStopL exit"))); |
|
1128 OstTrace0( CAMERASRV_PERFORMANCE, DUP1_CCAMC3GPDATASINKIMP_SINKSTOPL, "e_CCamC3GPDataSinkImp::SinkStopL 0" ); |
1113 } |
1129 } |
1114 |
1130 |
1115 |
1131 |
1116 // ----------------------------------------------------------------------------- |
1132 // ----------------------------------------------------------------------------- |
1117 // CCamC3GPDataSinkImp::WriteBuffer |
1133 // CCamC3GPDataSinkImp::WriteBuffer |
2212 // CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName |
2228 // CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName |
2213 // ----------------------------------------------------------------------------- |
2229 // ----------------------------------------------------------------------------- |
2214 // |
2230 // |
2215 void CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName( MP4FileName tempFileName ) |
2231 void CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName( MP4FileName tempFileName ) |
2216 { |
2232 { |
|
2233 OstTrace0( CAMERASRV_PERFORMANCE, CCAMC3GPDATASINKIMP_M3GPMP4LIBDELETETEMPFILENAME, "e_CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName 1" ); |
2217 PRINT((_L("CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName entering"))); |
2234 PRINT((_L("CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName entering"))); |
2218 MP4FileName* tempFileNamePtr = NULL; |
2235 MP4FileName* tempFileNamePtr = NULL; |
2219 TInt result = KErrNoMemory; |
2236 TInt result = KErrNoMemory; |
2220 |
2237 |
2221 // Add image to the queue. |
2238 // Add image to the queue. |
2252 } |
2269 } |
2253 } |
2270 } |
2254 } |
2271 } |
2255 |
2272 |
2256 PRINT((_L("CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName exiting"))); |
2273 PRINT((_L("CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName exiting"))); |
|
2274 OstTrace0( CAMERASRV_PERFORMANCE, DUP1_CCAMC3GPDATASINKIMP_M3GPMP4LIBDELETETEMPFILENAME, "e_CCamC3GPDataSinkImp::M3GPMP4LibDeleteTempFileName 0" ); |
2257 } |
2275 } |
2258 |
2276 |
2259 |
2277 |
2260 // --------------------------------------------------------------------------- |
2278 // --------------------------------------------------------------------------- |
2261 // CCamC3GPDataSinkImp::IdleDelete |
2279 // CCamC3GPDataSinkImp::IdleDelete |
2271 // CCamC3GPDataSinkImp::DoIdleDelete |
2289 // CCamC3GPDataSinkImp::DoIdleDelete |
2272 // --------------------------------------------------------------------------- |
2290 // --------------------------------------------------------------------------- |
2273 // |
2291 // |
2274 TInt CCamC3GPDataSinkImp::DoIdleDelete() |
2292 TInt CCamC3GPDataSinkImp::DoIdleDelete() |
2275 { |
2293 { |
|
2294 OstTrace0( CAMERASRV_PERFORMANCE, CCAMC3GPDATASINKIMP_DOIDLEDELETE, "e_CCamC3GPDataSinkImp::DoIdleDelete 1" ); |
2276 PRINT((_L("CCamC3GPDataSinkImp::DoIdleDelete() in"))); |
2295 PRINT((_L("CCamC3GPDataSinkImp::DoIdleDelete() in"))); |
2277 TInt err = KErrNone; |
2296 TInt err = KErrNone; |
2278 MP4FileName tempFileName; |
2297 MP4FileName tempFileName; |
2279 TInt filesLeft = EFalse; |
2298 TInt filesLeft = EFalse; |
2280 |
2299 |
2302 filesLeft = ETrue; |
2321 filesLeft = ETrue; |
2303 } |
2322 } |
2304 } |
2323 } |
2305 |
2324 |
2306 PRINT((_L("CCamC3GPDataSinkImp::DoIdleDelete() out"))); |
2325 PRINT((_L("CCamC3GPDataSinkImp::DoIdleDelete() out"))); |
|
2326 OstTrace0( CAMERASRV_PERFORMANCE, DUP1_CCAMC3GPDATASINKIMP_DOIDLEDELETE, "e_CCamC3GPDataSinkImp::DoIdleDelete 0" ); |
2307 return ( filesLeft ); |
2327 return ( filesLeft ); |
2308 } |
2328 } |
2309 |
2329 |
2310 |
2330 |
2311 // End of File |
2331 // End of File |