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):
@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 """
@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)
@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
@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))