瀏覽代碼

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 年之前
父節點
當前提交
76ffb69dbf
共有 1 個文件被更改,包括 3 次插入0 次删除
  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)