if self.is_segment:
# Create the pipe with Gnonlin gnlurisource
- self.pipe = ''' gnlurisource uri={uri}
+ self.pipe = ''' gnlurisource name=src uri={uri}
start=0
duration={uri_duration}
media-start={uri_start}
# convert uri_start and uri_duration to nanoseconds
else:
# Create the pipe with standard Gstreamer uridecodbin
- self.pipe = ''' uridecodebin name=uridecodebin uri={uri}
+ self.pipe = ''' uridecodebin name=src uri={uri}
! audioconvert name=audioconvert
! audioresample
! appsink name=sink sync=False async=True
width=(int)32,
rate=(int)%s""" % (caps_channels, caps_samplerate))
+ self.src = self.pipeline.get_by_name('src')
self.conv = self.pipeline.get_by_name('audioconvert')
self.conv.get_pad("sink").connect("notify::caps", self._notify_caps_cb)
>>> import timeside
- >>> live = timeside.decoder.LiveDecoder(num_buffers=25)
+ >>> live = timeside.decoder.LiveDecoder(num_buffers=5)
>>> a = timeside.analyzer.Waveform()
- >>> e = timeside.encoder.Mp3Encoder('test_live.mp3', overwrite=True)
+ >>> e = timeside.encoder.Mp3Encoder('/tmp/test_live.mp3',
+ ... overwrite=True)
>>> pipe = (live | a | e)
- >>> pipe.run()
+ >>> pipe.run() # doctest: +SKIP
>>> import matplotlib.pyplot as plt # doctest: +SKIP
>>> plt.plot(a.results['waveform_analyzer'].time, # doctest: +SKIP
from timeside.api import IEncoder
from timeside.tools import *
-
class AudioSink(GstEncoder):
"""
gstreamer-based Audio Sink
implements(IEncoder)
def __init__(self, output_sink='autoaudiosink'):
- """
- """
+
super(GstEncoder, self).__init__()
self.streaming = False
if __name__ == "__main__":
import doctest
- doctest.testmod()
\ No newline at end of file
+ doctest.testmod()