elif self.filename :
self.pipe += '! filesink location=%s ' % self.filename
else:
- self.pipe += '! appsink name=sink sync=False '
+ self.pipe += '! appsink name=app sync=False '
self.pipeline = gst.parse_launch(self.pipe)
# store a pointer to appsrc in our encoder object
self.src = self.pipeline.get_by_name('src')
# store a pointer to appsink in our encoder object
- self.sink = self.pipeline.get_by_name('sink')
+ self.app = self.pipeline.get_by_name('app')
srccaps = gst.Caps("""audio/x-raw-float,
endianness=(int)1234,
buf = self.numpy_array_to_gst_buffer(frames)
self.src.emit('push-buffer', buf)
if self.streaming:
- self.chunk = pull = self.sink.emit('pull-buffer')
+ self.chunk = self.app.emit('pull-buffer')
return frames, eod
def numpy_array_to_gst_buffer(self, frames):
--- /dev/null
+
+from timeside.core import *
+from timeside.decoder import *
+from timeside.analyzer import *
+from timeside.encoder import *
+from timeside.grapher import *
+from timeside.api import *
+
+from timeside.component import *
+from timeside.tests import TestCase, TestRunner
+import unittest
+
+import os.path
+
+__all__ = ['TestComponentArchitecture']
+
+class TestGraphers(TestCase):
+ "Test all graphers with various input media formats"
+
+ def setUp(self):
+ pass
+
+ # WAVEFORMS
+ def testWav2Waveform(self):
+ "Test WAV to Waveform"
+ self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.wav")
+ self.image = "/tmp/test_waveform_sweep_wav.png"
+ self.grapher = Waveform(width=1024, height=256, bg_color=(0,0,0), color_scheme='default')
+
+ def testFlac2Waveform(self):
+ "Test FLAC to Waveform"
+ self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.flac")
+ self.image = "/tmp/test_waveform_sweep_flac.png"
+ self.grapher = Waveform(width=1024, height=256, bg_color=(0,0,0), color_scheme='default')
+
+ def testMp32Waveform(self):
+ "Test MP3 to Waveform"
+ self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.mp3")
+ self.image = "/tmp/test_waveform_sweep_mp3.png"
+ self.grapher = Waveform(width=1024, height=256, bg_color=(0,0,0), color_scheme='default')
+
+ def testOgg2Waveform(self):
+ "Test OGG to Waveform"
+ self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.ogg")
+ self.image = "/tmp/test_waveform_sweep_ogg.png"
+ self.grapher = Waveform(width=1024, height=256, bg_color=(0,0,0), color_scheme='default')
+
+ # SPECTROGRAMS
+ def testWav2Spectrogram(self):
+ "Test WAV to Spectrogram"
+ self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.wav")
+ self.image = "/tmp/test_spectrogram_sweep_wav.png"
+ self.grapher = Spectrogram(width=1024, height=256, bg_color=(0,0,0), color_scheme='default')
+
+ def testMp32Spectrogram(self):
+ "Test MP3 to Spectrogram"
+ self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.mp3")
+ self.image = "/tmp/test_spectrogram_sweep_mp3.png"
+ self.grapher = Spectrogram(width=1024, height=256, bg_color=(0,0,0), color_scheme='default')
+
+ def testFlac2Spectrogram(self):
+ "Test FLAC to Spectrogram"
+ self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.flac")
+ self.image = "/tmp/test_spectrogram_sweep_flac.png"
+ self.grapher = Spectrogram(width=1024, height=256, bg_color=(0,0,0), color_scheme='default')
+
+ def testOgg2Spectrogram(self):
+ "Test OGG to Spectrogram"
+ self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.ogg")
+ self.image = "/tmp/test_spectrogram_sweep_ogg.png"
+ self.grapher = Spectrogram(width=1024, height=256, bg_color=(0,0,0), color_scheme='default')
+
+ def tearDown(self):
+ decoder = FileDecoder(self.source)
+ (decoder | self.grapher).run()
+ self.grapher.render(self.image)
+
+if __name__ == '__main__':
+ unittest.main(testRunner=TestRunner())
+
"Test wav to mp3 conversion"
self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.wav")
- dest1 = "/tmp/test_filesink.mp3"
- dest2 = "/tmp/test_appsink.mp3"
+ dest1 = "/tmp/test_wav_filesink.mp3"
+ dest2 = "/tmp/test_wav_appsink.mp3"
self.f = open(dest2,'w')
self.streaming=True
"Test flac to mp3 conversion"
self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.flac")
- dest1 = "/tmp/test_filesink.mp3"
- dest2 = "/tmp/test_appsink.mp3"
+ dest1 = "/tmp/test_flac_filesink.mp3"
+ dest2 = "/tmp/test_flac_appsink.mp3"
self.f = open(dest2,'w')
self.streaming=True
return False
self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.flac")
- dest1 = "/tmp/test_filesink.ogg"
- dest2 = "/tmp/test_appsink.ogg"
+ dest1 = "/tmp/test_flac_filesink.ogg"
+ dest2 = "/tmp/test_flac_appsink.ogg"
self.f = open(dest2,'w')
self.streaming=True
return False
self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.wav")
- dest1 = "/tmp/test_filesink.ogg"
- dest2 = "/tmp/test_appsink.ogg"
+ dest1 = "/tmp/test_wav_filesink.ogg"
+ dest2 = "/tmp/test_wav_appsink.ogg"
self.f = open(dest2,'w')
self.streaming=True
encoder = VorbisEncoder(dest1, streaming=True)
self.encoder = encoder
+ def testWav2Flac(self):
+ "Test wav to flac conversion"
+ return False
+ self.source = os.path.join (os.path.dirname(__file__), "samples/sweep.wav")
+
+ dest1 = "/tmp/test_wav_filesink.flac"
+ dest2 = "/tmp/test_wav_appsink.flac"
+ self.f = open(dest2,'w')
+
+ self.streaming=True
+
+ encoder = FlacEncoder(dest1, streaming=True)
+ self.encoder = encoder
+
def setUpDecoder(self):
self.decoder = FileDecoder(self.source)
self.decoder.setup()