Index: SapphireMetaData.m
===================================================================
--- SapphireMetaData.m	(revision 534)
+++ SapphireMetaData.m	(working copy)
@@ -1712,6 +1712,7 @@
 			[fileMeta setObject:[dvd audioFormatsString ] forKey:AUDIO_DESC_KEY];
 			[fileMeta setObject:[dvd subtitlesString    ] forKey:SUBTITLES_KEY ];
 			[fileMeta setObject:[dvd mainFeatureDuration] forKey:DURATION_KEY  ];
+			[fileMeta setObject:[dvd totalSize          ] forKey:SIZE_KEY      ];
 
 			[dvd release];
 		} // VIDEO_TS
Index: SapphireVideoTSParser.h
===================================================================
--- SapphireVideoTSParser.h	(revision 534)
+++ SapphireVideoTSParser.h	(working copy)
@@ -25,6 +25,7 @@
 	const NSString *audio;
 	const NSString *subtitles;
 	long long       duration;
+	const NSNumber *size;
 }
 
 /*!
@@ -80,4 +81,12 @@
  * @return  Calculated DVD running time
  */
 - (const NSNumber * const) mainFeatureDuration;
+
+/*!
+ * @brief Return the size of a ripped DVD
+ *
+ * @return  Calculated DVD running time
+ */
+- (const NSNumber * const) totalSize;
+
 @end
Index: SapphireVideoTSParser.m
===================================================================
--- SapphireVideoTSParser.m	(revision 534)
+++ SapphireVideoTSParser.m	(working copy)
@@ -182,14 +182,16 @@
 	NSString  *ifoPath     = nil;
 
 	unsigned long long ifoSz = 0;
+	unsigned long long total = 0;
 
 	// The largest IFO file (not including VIDEO_TS.IFO) corresponds to the main feature
 	while( filePath = [enumerator nextObject] )
 	{
+		unsigned long long sz = [[[fm fileAttributesAtPath:[videotsPath stringByAppendingPathComponent:filePath] traverseLink:YES] valueForKey:NSFileSize] unsignedLongLongValue];
+		total += sz;
+
 		if( [[filePath lowercaseString] hasSuffix:@".ifo"] && [[filePath lastPathComponent] caseInsensitiveCompare:@"video_ts.ifo"] != NSOrderedSame )
 		{
-			unsigned long long sz = [[[fm fileAttributesAtPath:[videotsPath stringByAppendingPathComponent:filePath] traverseLink:YES] valueForKey:NSFileSize] unsignedLongLongValue];
-
 			if ( sz > ifoSz )
 			{
 				ifoPath = [videotsPath stringByAppendingPathComponent:filePath];
@@ -198,6 +200,8 @@
 		}
 	}
 
+	size = [NSNumber numberWithLongLong:total];
+
 	if( ifoPath != nil )
 		ifo = [NSFileHandle fileHandleForReadingAtPath:ifoPath];
 
@@ -403,4 +407,9 @@
 	return [NSNumber numberWithLongLong:duration];
 }
 
+- (const NSNumber * const) totalSize
+{
+	return size;
+}
+
 @end

