diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index 94da16e6..eac1118c 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -167,5 +167,9 @@ class BasePlaybackController(object): def volume(self): return self._volume + @property + def time_position(self): + raise NotImplementedError + def destroy(self): pass diff --git a/mopidy/backends/gstreamer.py b/mopidy/backends/gstreamer.py index f671072e..3439ac04 100644 --- a/mopidy/backends/gstreamer.py +++ b/mopidy/backends/gstreamer.py @@ -92,6 +92,10 @@ class GStreamerPlaybackController(BasePlaybackController): def volume(self, value): return self.bin.set_property('volume', float(value) / 100) + @property + def time_position(self): + return 0 + def destroy(self): self.bin.set_state(gst.STATE_NULL) del self.bin diff --git a/tests/backends/basetests.py b/tests/backends/basetests.py index 4d021fe9..d7eb919c 100644 --- a/tests/backends/basetests.py +++ b/tests/backends/basetests.py @@ -553,7 +553,11 @@ class BasePlaybackControllerTest(object): raise NotImplementedError # design decision needed def test_time_position_when_stopped(self): - raise NotImplementedError + self.assertEqual(self.playback.time_position, 0) + + @populate_playlist + def test_time_position_when_stopped_with_playlist(self): + self.assertEqual(self.playback.time_position, 0) def test_time_position_when_playing(self): raise NotImplementedError