Browse Source

filter duration: workaround on mutagen bugs

sometimes mutagen cannot determine audio file length. This doesn't lead
to exceptions, but to eventuduration being estimated as 0. This is
now considered an error.
In that case, the audio file is played.
boyska 4 years ago
parent
commit
76ffb69dbf
1 changed files with 3 additions and 0 deletions
  1. 3 0
      larigira/filters/basic.py

+ 3 - 0
larigira/filters/basic.py

@@ -64,6 +64,9 @@ def percentwait(songs, context, conf, getdur=get_duration):
             continue
         eventduration += songduration
 
+    if eventduration == 0:
+        # must be an error! mutagen support is not always perfect
+        return True, 'mutagen could not calculate length of %s' % uri
     wait = eventduration * (percentwait / 100.0)
     if remaining > wait:
         return False, "remaining %d max allowed %d" % (remaining, wait)