From f051a461e39e45e9f8ad313ea0baa86a3d214ea7 Mon Sep 17 00:00:00 2001 From: yomguy Date: Thu, 27 Sep 2012 01:07:59 +0200 Subject: [PATCH] fix decoder ratio --- tests/alltests.py | 1 + timeside/core.py | 1 - timeside/decoder/core.py | 10 ++-------- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/tests/alltests.py b/tests/alltests.py index 4543878..8c76b9b 100644 --- a/tests/alltests.py +++ b/tests/alltests.py @@ -3,6 +3,7 @@ from testinputadapter import * from testgraphers import * from testdecoding import * from testtranscoding import * +from testencoding import * from unit_timeside import * unittest.main(testRunner=TestRunner()) diff --git a/timeside/core.py b/timeside/core.py index 6bdf6d3..b0040dd 100644 --- a/timeside/core.py +++ b/timeside/core.py @@ -218,7 +218,6 @@ class ProcessPipe(object): samplerate = last.samplerate(), blocksize = last.blocksize(), totalframes = last.totalframes()) - last = item # now stream audio data along the pipe diff --git a/timeside/decoder/core.py b/timeside/decoder/core.py index 49e9cb9..6e52d44 100644 --- a/timeside/decoder/core.py +++ b/timeside/decoder/core.py @@ -238,8 +238,8 @@ class FileDecoder(Processor): if self.input_samplerate == self.output_samplerate: return self.input_totalframes else: - ratio = self.output_samplerate / self.input_samplerate - return self.input_totalframes * ratio + ratio = float(self.output_samplerate) / self.input_samplerate + return int(self.input_totalframes * ratio) @interfacedoc def release(self): @@ -273,9 +273,3 @@ class FileDecoder(Processor): # TODO check return self.tags - def duration(self): - if self.input_samplerate == self.output_samplerate: - return self.input_duration - else: - ratio = self.input_totalframes / self.output_samplerate - return self.input_duration * ratio -- 2.39.5