From: yomguy Date: Thu, 14 Apr 2011 16:04:56 +0000 (+0000) Subject: bugfix and cleanup encoders X-Git-Tag: 0.3.2~56 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=0bd68ecd1a85d2918edf94a55d48ff96b9e1f317;p=timeside.git bugfix and cleanup encoders --- diff --git a/timeside/encoder/flac.py b/timeside/encoder/flac.py index 0f177a1..60f6042 100644 --- a/timeside/encoder/flac.py +++ b/timeside/encoder/flac.py @@ -42,6 +42,8 @@ class FlacEncoder(Processor): if not self.filename and not self.streaming: raise Exception('Must give an output') + + self.eod = False @interfacedoc def setup(self, channels=None, samplerate=None, nframes=None): @@ -110,15 +112,12 @@ class FlacEncoder(Processor): @interfacedoc def process(self, frames, eod=False): + self.eod = eod buf = self.numpy_array_to_gst_buffer(frames) self.src.emit('push-buffer', buf) if self.streaming: - pull = self.sink.emit('pull-buffer') -# if eod: self.src.emit('end-of-stream') - if not self.streaming: - return frames, eod - else: - return pull, eod + self.chunk = pull = self.sink.emit('pull-buffer') + return frames, eod def numpy_array_to_gst_buffer(self, frames): """ gstreamer buffer to numpy array conversion """ diff --git a/timeside/encoder/mp3.py b/timeside/encoder/mp3.py index 8e46e8b..d089f39 100644 --- a/timeside/encoder/mp3.py +++ b/timeside/encoder/mp3.py @@ -119,7 +119,6 @@ class Mp3Encoder(Processor): @interfacedoc def process(self, frames, eod=False): self.eod = eod - print frames.shape buf = self.numpy_array_to_gst_buffer(frames) self.src.emit('push-buffer', buf) diff --git a/timeside/encoder/ogg.py b/timeside/encoder/ogg.py index f857d03..3e18ec6 100644 --- a/timeside/encoder/ogg.py +++ b/timeside/encoder/ogg.py @@ -117,10 +117,9 @@ class VorbisEncoder(Processor): @interfacedoc def process(self, frames, eod=False): self.eod = eod - print frames.shape + buf = self.numpy_array_to_gst_buffer(frames) self.src.emit('push-buffer', buf) -# if eod: self.src.emit('end-of-stream') if self.streaming: self.chunk = self.app.emit('pull-buffer') return frames, eod diff --git a/timeside/encoder/wav.py b/timeside/encoder/wav.py index f40c203..a763ba1 100644 --- a/timeside/encoder/wav.py +++ b/timeside/encoder/wav.py @@ -114,16 +114,13 @@ class WavEncoder(Processor): @interfacedoc def process(self, frames, eod=False): + self.eod = eod buf = self.numpy_array_to_gst_buffer(frames) self.src.emit('push-buffer', buf) if self.streaming: - pull = self.app.emit('pull-buffer') - if eod: self.src.emit('end-of-stream') - if not self.streaming: - return frames, eod - else: - return pull, eod - + self.chunk = self.app.emit('pull-buffer') + return frames, eod + def numpy_array_to_gst_buffer(self, frames): """ gstreamer buffer to numpy array conversion """ buf = gst.Buffer(getbuffer(frames))