diff -r f429a0a2075b -r 735348f59235 mmplugins/lib3gp/impl/src/filewriter.cpp --- 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(iOutputBufferSize) * (static_cast(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 {