From c535c22884dbb0df227d4ad142e4d4515415ca29 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Wed, 14 Apr 2010 23:22:08 +0200 Subject: [PATCH 1/6] Switch to wav test files for gstreamer tests --- tests/backends/gstreamer_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/backends/gstreamer_test.py b/tests/backends/gstreamer_test.py index 0ba64c99..e1ca02bf 100644 --- a/tests/backends/gstreamer_test.py +++ b/tests/backends/gstreamer_test.py @@ -10,7 +10,7 @@ from tests.backends.base import (BasePlaybackControllerTest, folder = os.path.dirname(__file__) folder = os.path.join(folder, '..', 'data') folder = os.path.abspath(folder) -song = os.path.join(folder, 'song%s.mp3') +song = os.path.join(folder, 'song%s.wav') song = 'file://' + song # FIXME can be switched to generic test From 0d9085b0335fe52a8d9682d18c64b540e5a5e71e Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Wed, 14 Apr 2010 23:27:30 +0200 Subject: [PATCH 2/6] Add test for mp3, ogg and flac support in gstreamer backend --- tests/backends/gstreamer_test.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/backends/gstreamer_test.py b/tests/backends/gstreamer_test.py index e1ca02bf..8852d9e2 100644 --- a/tests/backends/gstreamer_test.py +++ b/tests/backends/gstreamer_test.py @@ -24,5 +24,25 @@ class GStreamerPlaybackControllerTest(BasePlaybackControllerTest, unittest.TestC backend_class = GStreamerBackend + def add_track(self, file): + uri = 'file://' + os.path.join(folder, file) + track = Track(uri=uri, id=1, length=4464) + self.backend.current_playlist.add(track) + + def test_play_mp3(self): + self.add_track('blank.mp3') + self.playback.play() + self.assertEqual(self.playback.state, self.playback.PLAYING) + + def test_play_ogg(self): + self.add_track('blank.ogg') + self.playback.play() + self.assertEqual(self.playback.state, self.playback.PLAYING) + + def test_play_flac(self): + self.add_track('blank.flac') + self.playback.play() + self.assertEqual(self.playback.state, self.playback.PLAYING) + if __name__ == '__main__': unittest.main() From ba6351a983947d37903da73db97c07c9920e6517 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Thu, 15 Apr 2010 00:05:57 +0200 Subject: [PATCH 3/6] Pylint fixes to gstreamer backend --- mopidy/backends/gstreamer.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mopidy/backends/gstreamer.py b/mopidy/backends/gstreamer.py index 00df58e9..7322bee2 100644 --- a/mopidy/backends/gstreamer.py +++ b/mopidy/backends/gstreamer.py @@ -7,7 +7,6 @@ import gst import logging import threading -from mopidy.models import Track, Playlist from mopidy.backends import (BaseBackend, BasePlaybackController, BaseCurrentPlaylistController) @@ -85,7 +84,7 @@ class GStreamerPlaybackController(BasePlaybackController): try: return self._bin.query_position(gst.FORMAT_TIME)[0] // gst.MSECOND except gst.QueryError, e: - logger.error('time_position failed: %s',e ) + logger.error('time_position failed: %s', e) return 0 def destroy(self): From 1daf83074106eb5661f94c812b0832c4f653943f Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Thu, 15 Apr 2010 00:12:07 +0200 Subject: [PATCH 4/6] Remove try catch that can never be triggered (go code coverage) --- mopidy/backends/__init__.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index bbb85598..2ceffc37 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -386,11 +386,8 @@ class BasePlaybackController(object): if self.current_track is None or self.playlist_position == 0: return None - try: - return self.backend.current_playlist.playlist.tracks[ - self.playlist_position - 1] - except IndexError: - return None + return self.backend.current_playlist.playlist.tracks[ + self.playlist_position - 1] @property def state(self): From f5763810d59b4a5fd53348923dd3f2fff020f860 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Thu, 15 Apr 2010 00:30:46 +0200 Subject: [PATCH 5/6] s/next/previous/ in previous_track docstring --- mopidy/backends/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index 2ceffc37..44d82545 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -377,7 +377,7 @@ class BasePlaybackController(object): """ The previous :class:`mopidy.models.Track` in the playlist. - For normal playback this is the next track in the playlist. If random + For normal playback this is the previous track in the playlist. If random and/or consume is enabled it should return the current track instead. """ if self.repeat or self.consume or self.random: From 3bf91964ccb30625cf86c48c8cc294c1aaa04f15 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Thu, 15 Apr 2010 20:50:59 +0200 Subject: [PATCH 6/6] Use pygst.require --- mopidy/backends/gstreamer.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mopidy/backends/gstreamer.py b/mopidy/backends/gstreamer.py index 7322bee2..3bf92370 100644 --- a/mopidy/backends/gstreamer.py +++ b/mopidy/backends/gstreamer.py @@ -3,6 +3,9 @@ gobject.threads_init() # FIXME make sure we don't get hit by # http://jameswestby.net/weblog/tech/14-caution-python-multiprocessing-and-glib-dont-mix.html +import pygst +pygst.require('0.10') + import gst import logging import threading