From: yomguy Date: Wed, 26 Sep 2012 20:49:53 +0000 (+0200) Subject: fix totalframes, fix process running before setup mainloop startup X-Git-Tag: 0.4.0-a^2~6 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=bf6e0dae174a385940cba27afe5a4a57ae36542e;p=timeside.git fix totalframes, fix process running before setup mainloop startup --- diff --git a/timeside/core.py b/timeside/core.py index 8fecc21..3d02115 100644 --- a/timeside/core.py +++ b/timeside/core.py @@ -21,6 +21,7 @@ from timeside.component import * from timeside.api import IProcessor from timeside.exceptions import Error, ApiError import re +import time import numpy __all__ = ['Processor', 'MetaProcessor', 'implements', 'abstract', @@ -214,9 +215,15 @@ class ProcessPipe(object): # setup/reset processors and configure channels and samplerate throughout the pipe source.setup() + #FIXME: wait for decoder mainloop + time.sleep(0.1) + last = source for item in items: - item.setup(last.channels(), last.samplerate(), last.blocksize(), last.totalframes()) + item.setup(channels = last.channels(), + 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 c8f2604..49e9cb9 100644 --- a/timeside/decoder/core.py +++ b/timeside/decoder/core.py @@ -181,7 +181,6 @@ class FileDecoder(Processor): self.input_width = caps[0]["width"] else: self.input_width = caps[0]["depth"] - self.output_totalframes = self.totalframes() def _on_message_cb(self, bus, message): t = message.type @@ -239,7 +238,7 @@ class FileDecoder(Processor): if self.input_samplerate == self.output_samplerate: return self.input_totalframes else: - ratio = self.input_totalframes / self.output_samplerate + ratio = self.output_samplerate / self.input_samplerate return self.input_totalframes * ratio @interfacedoc