# HG changeset patch # User Amine Sehili # Date 1562408274 -3600 # Node ID b99eb5767ff62057a4127dc9e56793da39bc1a53 # Parent 3708f2eb8a40d2238400b85f3e9e072921ebe45f Raise ValueError for bad block_dur values diff -r 3708f2eb8a40 -r b99eb5767ff6 auditok/util.py --- a/auditok/util.py Sat Jul 06 11:17:54 2019 +0100 +++ b/auditok/util.py Sat Jul 06 11:17:54 2019 +0100 @@ -698,7 +698,18 @@ class _FixedSizeAudioReader(_AudioSourceProxy): def __init__(self, audio_source, block_dur): super(_FixedSizeAudioReader, self).__init__(audio_source) + + if block_dur <= 0: + raise ValueError( + "block_dur must be > 0, given: {}".format(block_dur) + ) + self._block_size = int(block_dur * self.sr) + if self._block_size == 0: + err_msg = "Too small block_dur ({0:f}) for sampling rate ({1}). " + err_msg += "block_dur should cover at least one sample " + err_msg += "(i.e. 1/{1})" + raise ValueError(err_msg.format(block_dur, self.sr)) def read(self): return self._audio_source.read(self._block_size)