Index: programs/mythfrontend/playbackbox.cpp
===================================================================
--- programs/mythfrontend/playbackbox.cpp	(revision 10303)
+++ programs/mythfrontend/playbackbox.cpp	(working copy)
@@ -208,6 +208,7 @@
       // Free disk space tracking
       freeSpaceNeedsUpdate(true),       freeSpaceTimer(new QTimer(this)),
       freeSpaceTotal(0),                freeSpaceUsed(0),
+      freeSpaceRecordedMinutesUsed(0),  freeSpaceRecordedSpaceUsed(0),
       // Volatile drawing variables
       paintSkipCount(0),                paintSkipUpdate(false),
       // Preview Video Variables
@@ -1012,7 +1013,24 @@
 
         QString size;
         size.sprintf("%0.2f", (freeSpaceTotal - freeSpaceUsed) / 1024.0);
-        QString rep = tr(", %1 GB free").arg(size);
+        
+        int hours = 0;
+        int minutes = 0;
+        if (freeSpaceRecordedSpaceUsed)
+        {
+            hours = (((freeSpaceTotal - freeSpaceUsed) * freeSpaceRecordedMinutesUsed) / freeSpaceRecordedSpaceUsed) / 60 ;
+            minutes = (((freeSpaceTotal - freeSpaceUsed) * freeSpaceRecordedMinutesUsed) / freeSpaceRecordedSpaceUsed) % 60;
+        }
+        
+        QString time;                             
+        time.sprintf("%dh %dm", hours, minutes);
+        
+        QString rep;
+        if (hours || minutes)
+             rep = tr(", %1 GB (%2) free").arg(size).arg(time);
+        else 
+             rep = tr(", %1 GB free").arg(size);
+             
         usestr = usestr + rep;
 
         QRect pr = drawUsageBounds;
@@ -1445,6 +1463,8 @@
     }
 
     progsInDB = 0;
+    freeSpaceRecordedMinutesUsed = 0;
+    freeSpaceRecordedSpaceUsed = 0;
     titleList.clear();
     progLists.clear();
     // Clear autoDelete for the "all" list since it will share the
@@ -1471,6 +1491,8 @@
         {
             progsInDB++;
             p = *i;
+            freeSpaceRecordedMinutesUsed += p->CalculateLength() / 60;
+            freeSpaceRecordedSpaceUsed += p->filesize >> 20;
             if ((((p->recgroup == recGroup) ||
                   ((recGroup == "All Programs") &&
                    (p->recgroup != "LiveTV" || LiveTVInAllPrograms))) &&
Index: programs/mythfrontend/playbackbox.h
===================================================================
--- programs/mythfrontend/playbackbox.h	(revision 10303)
+++ programs/mythfrontend/playbackbox.h	(working copy)
@@ -393,6 +393,8 @@
     QTimer             *freeSpaceTimer;
     int                 freeSpaceTotal;
     int                 freeSpaceUsed;
+    int                 freeSpaceRecordedMinutesUsed;
+    int                 freeSpaceRecordedSpaceUsed;
 
     // Volatile drawing variables
     int                 paintSkipCount;
