Ver Fonte

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 há 4 anos atrás
pai
commit
76ffb69dbf
1 ficheiros alterados com 3 adições e 0 exclusões
  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)