camerauis/cameraapp/generic/inc/camvideotime.h
branchRCL_3
changeset 54 bac7acad7cb3
child 57 2c87b2808fd7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/inc/camvideotime.h	Wed Sep 01 12:30:54 2010 +0100
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Class for calculating remaining video time
+*                
+*  Copyright © 2008 Nokia.  All rights reserved.
+*  This material, including documentation and any related computer
+*  programs, is protected by copyright controlled by Nokia.  All
+*  rights are reserved.  Copying, including reproducing, storing,
+*  adapting or translating, any or all of this material requires the
+*  prior written consent of Nokia.  This material also contains
+*  confidential information which may not be disclosed to others
+*  without the prior written consent of Nokia.
+*
+*
+*/
+
+
+#ifndef CAMVIDEOTIME_H
+#define CAMVIDEOTIME_H
+
+#include <e32base.h>
+
+class TCamVideoTime
+  {
+  public:
+    
+    /**
+    * Constructor
+    * @param aDiskSpace     Remaining disk space
+    * @param aCriticalLimit Diskspace critical limit
+    * @param aVideoBitrate  Video bitrate
+    * @param aAudioBitrate  Audio bitrate
+    * @param aSizeLimit     File size limit (MMS message size)
+    * @param aMuteAudio     Is audio muted
+    * @param aBitrateScaler Video bitrate scaler
+    */      
+    TCamVideoTime( TInt64 aDiskSpace,
+                   TInt64 aCriticalLimit,
+                   TInt   aVideoBitRate,
+                   TInt   aAudioBitRate,
+                   TInt64 aSizeLimit,
+                   TBool  aMuteAudio,
+                   TReal  aBitrateScaler);    
+  
+  public: 
+  
+    /**
+    * Return the estimated remaining time for the recording in microseconds.
+    * @param None
+    * @return Remaining time
+    */  
+    TTimeIntervalMicroSeconds GetRemainingTimeL();
+        
+  private:
+    // Average bitrate of video
+    TInt        iVideoAverageBitRate;
+    
+    // Average bitrate of audio
+    TInt        iAudioAverageBitRate;    
+    
+    // Available space on disk at start of recording
+    TInt64      iAvailableSpaceAtStart;
+
+    // Size limit of the file in bytes
+    TInt64      iSizeLimit;
+  };
+  
+#endif // CAMVIDEOTIME_H
+
+// End of file