Index: telemeta/analysis/__init__.py
===================================================================
--- telemeta/analysis/__init__.py	(revision 41604ad65311960dbafd65991bb3a07b725511c0)
+++ telemeta/analysis/__init__.py	(revision 8aa0ef87aecc9f5343d668f34002611bc2e0bdb2)
@@ -9,4 +9,5 @@
 from telemeta.analysis.max_level import *
 from telemeta.analysis.mean_level import *
+from telemeta.analysis.dc import *
 
 
Index: telemeta/analysis/dc.py
===================================================================
--- telemeta/analysis/dc.py	(revision 8aa0ef87aecc9f5343d668f34002611bc2e0bdb2)
+++ telemeta/analysis/dc.py	(revision 8aa0ef87aecc9f5343d668f34002611bc2e0bdb2)
@@ -0,0 +1,31 @@
+# Copyright (C) 2008 Parisson SARL
+# All rights reserved.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://svn.parisson.org/telemeta/TelemetaLicense.
+#
+# Author: Guillaume Pellerin <yomguy@parisson.com>
+
+from telemeta.analysis.core import *
+from telemeta.analysis.api import IMediaItemAnalyzer
+import numpy
+
+class MeanDCShiftAnalyser(AudioProcessor):
+    """Media item analyzer driver interface"""
+
+    implements(IMediaItemAnalyzer)
+
+    def get_id(self):
+        return "dc"
+
+    def get_name(self):
+        return "Mean DC shift"
+
+    def get_unit(self):
+        return "%"
+
+    def render(self, media_item, options=None):
+        self.pre_process(media_item)
+        samples = self.get_mono_samples()
+        return numpy.round(100*numpy.mean(samples),4)
Index: telemeta/analysis/duration.py
===================================================================
--- telemeta/analysis/duration.py	(revision 41604ad65311960dbafd65991bb3a07b725511c0)
+++ telemeta/analysis/duration.py	(revision 8aa0ef87aecc9f5343d668f34002611bc2e0bdb2)
@@ -29,4 +29,4 @@
     def render(self, media_item, options=None):
         self.pre_process(media_item)
-        media_time = numpy.round(float(self.frames)/(float(self.samplerate)*float(self.channels)),0)
+        media_time = numpy.round(float(self.frames)/float(self.samplerate),0)
         return datetime.timedelta(0,media_time)
Index: telemeta/analysis/mean_level.py
===================================================================
--- telemeta/analysis/mean_level.py	(revision 92e0128e8b5a9e2bc275ac25d86ff9b97b06f14b)
+++ telemeta/analysis/mean_level.py	(revision 8aa0ef87aecc9f5343d668f34002611bc2e0bdb2)
@@ -29,4 +29,3 @@
         self.pre_process(media_item)
         samples = self.get_mono_samples()
-        size = numpy.size(samples)
         return numpy.round(20*numpy.log10(numpy.mean(numpy.sqrt(numpy.square(samples)))),2)
