mmplugins/lib3gp/impl/src/filewriter.cpp
branchRCL_3
changeset 49 735348f59235
parent 40 f429a0a2075b
child 50 948c7f65f6d4
--- 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
             {