mmplugins/lib3gp/impl/src/file.cpp
branchRCL_3
changeset 49 735348f59235
parent 40 f429a0a2075b
child 50 948c7f65f6d4
--- a/mmplugins/lib3gp/impl/src/file.cpp	Thu Aug 19 11:23:35 2010 +0300
+++ b/mmplugins/lib3gp/impl/src/file.cpp	Tue Aug 31 16:43:06 2010 +0300
@@ -185,77 +185,9 @@
     return -1;
   }
 
-  TBuf8<16> buf;
-  buf.Copy(fp.Drive());
-  buf.LowerCase();
-  TInt drvNum = (*buf.Ptr()) - 'a';
-  PRINT((_L("drvNum = %d"), drvNum));
-  
-  TVolumeInfo volInfo;
-  error = fs->Volume(volInfo, drvNum);
-  if (error != KErrNone) 
-      {
-      return -1;
-      }
-  
-  PRINT((_L("volInfo.iFree = %Ld"), volInfo.iFree));
-  PRINT((_L("volInfo.iSize = %Ld"), volInfo.iSize));    
-
-  TVolumeIOParamInfo ioInfo;
-  error = fs->VolumeIOParam(drvNum, ioInfo);
-  if (error != KErrNone) 
-      {
-      return -1;
-      }
-  
-  PRINT((_L("ioInfo.iBlockSize = %d"), ioInfo.iBlockSize));
-  PRINT((_L("ioInfo.iClusterSize = %d"), ioInfo.iClusterSize));
-  
-  if (ioInfo.iClusterSize <= 0 || (ioInfo.iClusterSize & 0x1)) // if for some reason we got wrong value for the cluster - ignore it 
-     {
-     PRINT(_L("Wrong cluster size, set 0x8000"));
-     ioInfo.iClusterSize = 0x8000;
-     }
-  
-  // We want to have size of writing buffer to be a multiple of cluster size. Small buffer should be 1 cluster, large buffer should be 8 clusters.
-  TInt writeBufferSizeSmall = ioInfo.iClusterSize;
-  TInt writeBufferSizeLarge = ioInfo.iClusterSize * 8;
-  
-  // Now need to make sure that writeBufferSizeLarge is not too small (<128K) or too big (>256K) whilst keeping it a multiple of cluster size
-  if (writeBufferSizeLarge < KFileWriterBufferSizeLarge/2)
-      {
-      writeBufferSizeLarge = KFileWriterBufferSizeLarge/2;
-      }
-    
-  if (writeBufferSizeLarge > KFileWriterBufferSizeLarge)
-	  {
-	  writeBufferSizeLarge = (KFileWriterBufferSizeLarge / ioInfo.iClusterSize) * ioInfo.iClusterSize;
-  	  }
-
-  if (writeBufferSizeLarge < ioInfo.iClusterSize) 
-      {
-      writeBufferSizeLarge = ioInfo.iClusterSize;
-      }
-    
-  PRINT((_L("writeBufferSizeLarge = %d"), writeBufferSizeLarge));
-
-  TInt incSetSize = writeBufferSizeLarge * (KFileWriterHardBufLimit >> 1); // 2Mb if cluster size if 32767
-  TInt initSetSize = incSetSize * 1; // set initial set size for 2Mb
-  
-  if (initSetSize > volInfo.iFree) 
-      {
-      initSetSize = (volInfo.iFree / incSetSize) * incSetSize;
-      }
-
-  PRINT((_L("initSetSize = %d"), initSetSize));
-    
-  PRINT((_L("e_SetSize 1")));  
-  file->SetSize(initSetSize);
-  PRINT((_L("e_SetSize 0")));  
-
   handle->file = handle->rfile;
 
-  TRAP(error, handle->filewriter = CFileWriter::NewL( *file, initSetSize, writeBufferSizeSmall, writeBufferSizeLarge));
+  TRAP(error, handle->filewriter = CFileWriter::NewL( *file ));
   if ( error != KErrNone )
   {
     return -1;    
@@ -334,11 +266,7 @@
       PRINT((_L("e_closefile_flush_filewriter 1")));        
       (handle->filewriter)->Flush(KNullDesC8);
       PRINT((_L("e_closefile_flush_filewriter 0")));        
-      PRINT((_L("e_SetSize 1")));  
-      ((RFile64 *)(handle->file))->SetSize((handle->filewriter)->OutputFileSize());
-      PRINT((_L("e_SetSize 0: iOutputFileSize = %Ld"), (handle->filewriter)->OutputFileSize()));  
-	  
-	  delete handle->filewriter;
+      delete handle->filewriter;
       handle->filewriter = NULL;
     }
   }
@@ -1388,54 +1316,26 @@
   TFileName path;
   TInt error;
 
-  TDriveList driveList;
-  TBool pathSet = EFalse;
-  
-  // As ram drive access is faster, try to set temp file directory to available ram drive.
-  if (((RFs *)(handle->fs))->DriveList(driveList) == KErrNone)
-	{
-	for ( TInt i = 0; i < driveList.Length(); i++ )
-		{
-		TDriveInfo driveInfo;
-		if (((RFs *)(handle->fs))->Drive(driveInfo, i) == KErrNone)
-			{
-			if (driveInfo.iType == EMediaRam)
-				{
-				TChar driveLetter;
-				((RFs *)(handle->fs))->DriveToChar(i, driveLetter);
-				path.Append(driveLetter);
-				path.Append(_L(":"));
-				path.Append(KTmpDirectoryName);
-				pathSet = ETrue;
-				break;
-				}
-			}
-		}
-	}
-	  
-  // If no ram drive was found create a directory for the files on current drive
-  if (!pathSet)
-	{
-	if ( handle->fileName )
-		{
-		filename = (TText *)handle->fileName;
+  // Create a directory for the files
+  if ( handle->fileName )
+    {
+    filename = (TText *)handle->fileName;
     
-		TParse fp;
-		path = KTmpDirectoryName;
-		if (((RFs *)(handle->fs))->Parse(filename, fp) != KErrNone)
-			return -1;
-		path.Insert(0, fp.Drive());
-		}
-	else
-		{
-		TChar drive;
-		if (((RFs *)(handle->fs))->DriveToChar(handle->fileHandleDrive, drive ) != KErrNone )
-			return -1;
-		path.Append( drive );
-		path.Append( _L(":") );
-		path.Append( KTmpDirectoryName );
-		}
-	}
+    TParse fp;
+    path = KTmpDirectoryName;
+    if (((RFs *)(handle->fs))->Parse(filename, fp) != KErrNone)
+        return -1;
+    path.Insert(0, fp.Drive());
+    }
+  else
+    {
+    TChar drive;
+    if (((RFs *)(handle->fs))->DriveToChar(handle->fileHandleDrive, drive ) != KErrNone )
+        return -1;
+    path.Append( drive );
+    path.Append( _L(":") );
+    path.Append( KTmpDirectoryName );
+    }
     
   // Try to delete the temp folder from leftovers
   // If other instance is using it then delete will just fail