From 473c31fec8fa55004dca449e5854c810ac68a554 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sat, 14 Aug 2010 16:42:46 +0200 Subject: [PATCH 1/2] Revert "Fix set_state method in GStreamerOutput" This reverts commit dc27434df9e66e530247fd47270729618be65a8d. --- mopidy/outputs/gstreamer.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mopidy/outputs/gstreamer.py b/mopidy/outputs/gstreamer.py index 5e64378f..a28329f7 100644 --- a/mopidy/outputs/gstreamer.py +++ b/mopidy/outputs/gstreamer.py @@ -159,10 +159,10 @@ class GStreamerProcess(BaseProcess): :type state_name: string :rtype: :class:`True` or :class:`False` """ - state = getattr(gst, 'STATE_' + state_name) - self.gst_pipeline.set_state(state) - new_state = self.gst_pipeline.get_state()[1] - if new_state == state: + # XXX Setting state to PLAYING often returns False even if it works + result = self.gst_pipeline.set_state( + getattr(gst, 'STATE_' + state_name)) + if result == gst.STATE_CHANGE_SUCCESS: logger.debug('Setting GStreamer state to %s: OK', state_name) return True else: From 97ff6bf04293e9d6d9e6ed6247287e05da1ef0b0 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sat, 14 Aug 2010 17:24:06 +0200 Subject: [PATCH 2/2] Check if failure instead of chacking for success when setting GStreamer state --- mopidy/outputs/gstreamer.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mopidy/outputs/gstreamer.py b/mopidy/outputs/gstreamer.py index a28329f7..44e12afb 100644 --- a/mopidy/outputs/gstreamer.py +++ b/mopidy/outputs/gstreamer.py @@ -159,15 +159,14 @@ class GStreamerProcess(BaseProcess): :type state_name: string :rtype: :class:`True` or :class:`False` """ - # XXX Setting state to PLAYING often returns False even if it works result = self.gst_pipeline.set_state( getattr(gst, 'STATE_' + state_name)) - if result == gst.STATE_CHANGE_SUCCESS: - logger.debug('Setting GStreamer state to %s: OK', state_name) - return True - else: + if result == gst.STATE_CHANGE_FAILURE: logger.warning('Setting GStreamer state to %s: failed', state_name) return False + else: + logger.debug('Setting GStreamer state to %s: OK', state_name) + return True def get_volume(self): """Get volume in range [0..100]"""