from timeside.core import Processor, implements, interfacedoc
from timeside.api import IDecoder
from numpy import array, frombuffer, getbuffer, float32
+import Queue
import pygst
pygst.require('0.10')
audiorate = None
audionframes = None
mimetype = ''
-
+ buffer_size = 0x2000
+
# IProcessor methods
@staticmethod
return "gstreamerdec"
def setup(self, channels = None, samplerate = None, nframes = None):
+ self.queue = Queue.Queue(self.buffer_size)
+
# the output data format we want
caps = "audio/x-raw-float, width=32"
- self.pipeline = gst.parse_launch('''uridecodebin uri="%s"
+ self.pipeline = gst.parse_launch('''uridecodebin uri="%s"
! audioconvert
! %s
! appsink name=sink sync=False ''' % (self.uri, caps))
self.sink = self.pipeline.get_by_name('sink')
self.sink.set_property('emit-signals', True)
# adjust length of emitted buffers
- self.sink.set_property('blocksize', 0x8000)
+ self.sink.set_property('blocksize', 16384)
# start pipeline
self.pipeline.set_state(gst.STATE_PLAYING)