from timeside.core import Processor, implements, interfacedoc
from timeside.api import IEncoder
-from numpy import array, frombuffer, getbuffer, float32
-
-import pygst
-pygst.require('0.10')
-import gst
-import gobject
-gobject.threads_init()
+from timeside.encoder.gstutils import *
class FlacEncoder(Processor):
""" gstreamer-based FLAC encoder """
@interfacedoc
def process(self, frames, eod=False):
self.eod = eod
- buf = self.numpy_array_to_gst_buffer(frames)
+ buf = numpy_array_to_gst_buffer(frames)
self.src.emit('push-buffer', buf)
if self.streaming:
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))
- return buf
-
--- /dev/null
+from numpy import getbuffer
+
+import pygst
+pygst.require('0.10')
+import gst
+import gobject
+gobject.threads_init()
+
+def numpy_array_to_gst_buffer(frames):
+ """ gstreamer buffer to numpy array conversion """
+ buf = gst.Buffer(getbuffer(frames.astype("float32")))
+ return buf
+
from timeside.core import Processor, implements, interfacedoc
from timeside.api import IEncoder
-from numpy import array, frombuffer, getbuffer, float32
-
-import pygst
-pygst.require('0.10')
-import gst
-import gobject
-gobject.threads_init ()
-
+from timeside.encoder.gstutils import *
class AacEncoder(Processor):
""" gstreamer-based AAC encoder """
@interfacedoc
def process(self, frames, eod=False):
- buf = self.numpy_array_to_gst_buffer(frames)
+ buf = numpy_array_to_gst_buffer(frames)
self.src.emit('push-buffer', buf)
if eod: self.src.emit('end-of-stream')
return frames, eod
-
- def numpy_array_to_gst_buffer(self, frames):
- """ gstreamer buffer to numpy array conversion """
- buf = gst.Buffer(getbuffer(frames))
- return buf
-
-
-
from timeside.core import Processor, implements, interfacedoc
from timeside.api import IEncoder
-from numpy import array, frombuffer, getbuffer, float32
-from timeside.core import FixedSizeInputAdapter
+from timeside.encoder.gstutils import *
-import numpy
import mutagen
-import pygst
-pygst.require('0.10')
-import gst
-import gobject
-gobject.threads_init()
-
class Mp3Encoder(Processor):
""" gstreamer-based mp3 encoder """
@interfacedoc
def process(self, frames, eod=False):
self.eod = eod
- buf = self.numpy_array_to_gst_buffer(frames)
+ buf = numpy_array_to_gst_buffer(frames)
self.src.emit('push-buffer', buf)
if self.streaming:
self.chunk = self.app.emit('pull-buffer')
self.write_metadata()
return frames, eod
- def numpy_array_to_gst_buffer(self, frames):
- """ gstreamer buffer to numpy array conversion """
- buf = gst.Buffer(getbuffer(frames))
- return buf
-
-
class Mp3EncoderSubprocess(object):
"""MP3 encoder in a subprocess pipe"""
from timeside.core import Processor, implements, interfacedoc
from timeside.api import IEncoder
-from numpy import array, frombuffer, getbuffer, float32
-
-import pygst
-pygst.require('0.10')
-import gst
-import gobject
-gobject.threads_init()
-
+from timeside.encoder.gstutils import *
class VorbisEncoder(Processor):
""" gstreamer-based vorbis encoder """
@interfacedoc
def process(self, frames, eod=False):
self.eod = eod
-
- buf = self.numpy_array_to_gst_buffer(frames)
+ buf = numpy_array_to_gst_buffer(frames)
self.src.emit('push-buffer', buf)
if self.streaming:
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))
- return buf
from timeside.core import Processor, implements, interfacedoc
from timeside.api import IEncoder
-from numpy import array, frombuffer, getbuffer, float32
-
-import pygst
-pygst.require('0.10')
-import gst
-import gobject
-gobject.threads_init()
-
+from timeside.encoder.gstutils import *
class WavEncoder(Processor):
""" gstreamer-based encoder """
@interfacedoc
def process(self, frames, eod=False):
self.eod = eod
- buf = self.numpy_array_to_gst_buffer(frames)
+ buf = numpy_array_to_gst_buffer(frames)
self.src.emit('push-buffer', buf)
if self.streaming:
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))
- return buf
from timeside.core import Processor, implements, interfacedoc
from timeside.api import IEncoder
-from numpy import array, frombuffer, getbuffer, float32
-
-import pygst
-pygst.require('0.10')
-import gst
-import gobject
-gobject.threads_init()
-
+from timeside.encoder.gstutils import *
class WebMEncoder(Processor):
""" gstreamer-based webm encoder and muxer """
@interfacedoc
def process(self, frames, eod=False):
self.eod = eod
-
- buf = self.numpy_array_to_gst_buffer(frames)
+ buf = numpy_array_to_gst_buffer(frames)
self.src.emit('push-buffer', buf)
if self.streaming:
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))
- return buf