--- a/mmplugins/lib3gp/impl/src/filewriter.cpp Thu Aug 19 11:23:35 2010 +0300
+++ b/mmplugins/lib3gp/impl/src/filewriter.cpp Tue Aug 31 16:43:06 2010 +0300
@@ -38,11 +38,7 @@
// might leave.
// -----------------------------------------------------------------------------
//
-CFileWriter::CFileWriter( TInt aInitSetSize, TInt aOutputBufferSizeSmall, TInt aOutputBufferSizeLarge ):
- CActive( EPriorityHigh ),
- iSetSize( aInitSetSize ),
- iOutputBufferSizeSmall( aOutputBufferSizeSmall ),
- iOutputBufferSizeLarge( aOutputBufferSizeLarge )
+CFileWriter::CFileWriter() : CActive( EPriorityHigh )
{
}
@@ -56,7 +52,6 @@
PRINT((_L("CFileWriter::ConstructL() in")));
iFlush = EFalse;
iError = KErrNone;
-
iOutputFile = &aFile;
iWritingStarted = EFalse;
iOutputBufferSize = KFileWriterBufferSizeSmall;
@@ -78,9 +73,9 @@
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
-CFileWriter* CFileWriter::NewL( RFile64& aFile, TInt aInitSetSize, TInt aOutputBufferSizeSmall, TInt aOutputBufferSizeLarge )
+CFileWriter* CFileWriter::NewL( RFile64& aFile )
{
- CFileWriter* self = new(ELeave) CFileWriter( aInitSetSize, aOutputBufferSizeSmall, aOutputBufferSizeLarge );
+ CFileWriter* self = new(ELeave) CFileWriter;
CleanupStack::PushL(self);
self->ConstructL( aFile );
CleanupStack::Pop(self);
@@ -116,37 +111,6 @@
PRINT((_L("CFileWriter::~CFileWriter() out")));
}
-// -----------------------------------------------------------------------------
-// CFileWriter::UpdateOutputFileSize()
-// Updates output file size and reserves extra space for following writing
-// if iSetSize is set.
-// Takes into account if the position in the file was changed.
-// -----------------------------------------------------------------------------
-//
-void CFileWriter::UpdateOutputFileSize()
- {
- TInt64 pos = 0;
- PRINT((_L("e_cfilewriter_write_updateoutputfilesize_seek 1")));
- iOutputFile->Seek(ESeekCurrent, pos);
- PRINT((_L("e_cfilewriter_write_updateoutputfilesize_seek 0")));
-
- PRINT((_L("CFileWriter::UpdateOutputFileSize() pos: %Ld"), pos));
- PRINT((_L("CFileWriter::UpdateOutputFileSize() iOutputFileSize: %Ld"), iOutputFileSize));
- PRINT((_L("CFileWriter::UpdateOutputFileSize() iSetSize: %Ld"), iSetSize));
-
- if (pos > iOutputFileSize)
- {
- iOutputFileSize = pos;
- }
-
- while (iOutputFileSize >= iSetSize)
- {
- iSetSize += static_cast<TInt64>(iOutputBufferSize) * (static_cast<TInt64>(iMaxOutputBufHardLimit) >> 1);
- PRINT((_L("e_cfilewriter_updateoutputfilesize_setsize 1")));
- iOutputFile->SetSize( iSetSize );
- PRINT((_L("e_cfilewriter_updateoutputfilesize_setsize 0")));
- }
- }
// -----------------------------------------------------------------------------
// CFileWriter::Write( const TDesC8& aBuf )
@@ -269,7 +233,6 @@
PRINT((_L("e_cfilewriter_flush_remove_buf 1")));
if ( error == KErrNone )
{
- UpdateOutputFileSize();
iFullBufferQueue[0]->Des().Zero();
if ( iEmptyBufferQueue.Append( iFullBufferQueue[0] ) )
{
@@ -294,7 +257,6 @@
PRINT((_L("e_cfilewriter_flush_writeinput_sync 0")));
if ( error == KErrNone )
{
- UpdateOutputFileSize();
iInputBuf->Des().Zero();
}
else
@@ -331,11 +293,11 @@
if ( aBufferSize == EBufferSizeSmall )
{
- size = iOutputBufferSizeSmall;
+ size = KFileWriterBufferSizeSmall;
}
else if ( aBufferSize == EBufferSizeLarge )
{
- size = iOutputBufferSizeLarge;
+ size = KFileWriterBufferSizeLarge;
}
else if ( aBufferSize == EBufferSizeCustom )
{
@@ -411,7 +373,7 @@
while (byteswritten < aBuf.Length() )
{
- available = iOutputBufferSize - iInputBuf->Length();
+ available = (iInputBuf->Des()).MaxLength() - iInputBuf->Length();
if (available > 0)
{
@@ -506,7 +468,7 @@
if ( iStatus == KErrNone )
{
- UpdateOutputFileSize();
+ iOutputFileSize += iFullBufferQueue[0]->Des().Length();
iFullBufferQueue[0]->Des().Zero();
iError = iEmptyBufferQueue.Append( iFullBufferQueue[0] );
if ( iError )
@@ -525,7 +487,7 @@
return;
}
- PRINT((_L("CFileWriter::RunL() Buffer written, Status: Full:%d Empty:%d Filesize:%Ld"), iFullBufferQueue.Count(), iEmptyBufferQueue.Count(), iOutputFileSize ));
+ PRINT((_L("CFileWriter::RunL() Buffer written, Status: Full:%d Empty:%d Filesize:%d"), iFullBufferQueue.Count(), iEmptyBufferQueue.Count(), iOutputFileSize ));
if ( iFlush )
{
@@ -543,7 +505,7 @@
PRINT((_L("e_cfilewriter_runl_write 0")));
if ( iError == KErrNone )
{
- UpdateOutputFileSize();
+ iOutputFileSize += iFullBufferQueue[0]->Des().Length();
iFullBufferQueue[0]->Des().Zero();
iError = iEmptyBufferQueue.Append( iFullBufferQueue[0] );
if ( iError )
@@ -554,7 +516,7 @@
return;
}
iFullBufferQueue.Remove( 0 );
- PRINT((_L("CFileWriter::RunL() Hardlimit : Buffer sync written, Status: Full:%d Empty:%d Filesize:%Ld"), iFullBufferQueue.Count(), iEmptyBufferQueue.Count(), iOutputFileSize ));
+ PRINT((_L("CFileWriter::RunL() Hardlimit : Buffer sync written, Status: Full:%d Empty:%d Filesize:%d"), iFullBufferQueue.Count(), iEmptyBufferQueue.Count(), iOutputFileSize ));
}
else
{
@@ -571,7 +533,7 @@
PRINT((_L("e_cfilewriter_runl_outfile_write 0")));
if ( iError == KErrNone )
{
- UpdateOutputFileSize();
+ iOutputFileSize += iFullBufferQueue[0]->Des().Length();
iFullBufferQueue[0]->Des().Zero();
iError = iEmptyBufferQueue.Append( iFullBufferQueue[0] );
if ( iError )
@@ -582,7 +544,7 @@
return;
}
iFullBufferQueue.Remove( 0 );
- PRINT((_L("CFileWriter::RunL() Softlimit : Buffer sync written, Status: Full:%d Empty:%d Filesize:%Ld"), iFullBufferQueue.Count(), iEmptyBufferQueue.Count(), iOutputFileSize ));
+ PRINT((_L("CFileWriter::RunL() Softlimit : Buffer sync written, Status: Full:%d Empty:%d Filesize:%d"), iFullBufferQueue.Count(), iEmptyBufferQueue.Count(), iOutputFileSize ));
}
else
{