diff --git a/weboob/applications/radioob/radioob.py b/weboob/applications/radioob/radioob.py index e01eb97a..e36395a8 100644 --- a/weboob/applications/radioob/radioob.py +++ b/weboob/applications/radioob/radioob.py @@ -89,10 +89,11 @@ class Radioob(ReplApplication): return 1 try: player_name = self.config.get('media_player') + media_player_args = self.config.get('media_player_args') if not player_name: self.logger.debug(u'You can set the media_player key to the player you prefer in the radioob ' 'configuration file.') - self.player.play(radio.streams[0], player_name=player_name) + self.player.play(radio.streams[0], player_name=player_name, player_args=media_player_args) except (InvalidMediaPlayer, MediaPlayerNotFound), e: print '%s\nRadio URL: %s' % (e, radio.streams[0].url) diff --git a/weboob/applications/videoob/videoob.py b/weboob/applications/videoob/videoob.py index fc3f7f9a..8cde65b0 100644 --- a/weboob/applications/videoob/videoob.py +++ b/weboob/applications/videoob/videoob.py @@ -147,10 +147,11 @@ class Videoob(ReplApplication): return 4 try: player_name = self.config.get('media_player') + media_player_args = self.config.get('media_player_args') if not player_name: self.logger.info(u'You can set the media_player key to the player you prefer in the videoob ' 'configuration file.') - self.player.play(video, player_name=player_name) + self.player.play(video, player_name=player_name, player_args=media_player_args) except (InvalidMediaPlayer, MediaPlayerNotFound), e: print '%s\nVideo URL: %s' % (e, video.url) diff --git a/weboob/tools/application/media_player.py b/weboob/tools/application/media_player.py index f479f579..9e677412 100644 --- a/weboob/tools/application/media_player.py +++ b/weboob/tools/application/media_player.py @@ -65,7 +65,7 @@ class MediaPlayer(object): return player_name return None - def play(self, media, player_name=None): + def play(self, media, player_name=None, player_args=None): """ Play a media object, using programs from the PLAYERS list. @@ -80,7 +80,7 @@ class MediaPlayer(object): if player_name is None: raise MediaPlayerNotFound() if media.url.startswith('rtmp'): - self._play_rtmp(media, player_name) + self._play_rtmp(media, player_name, args=player_args) else: self._play_default(media, player_name) @@ -91,7 +91,7 @@ class MediaPlayer(object): print 'Invoking "%s %s".' % (player_name, media.url) os.spawnlp(os.P_WAIT, player_name, player_name, media.url) - def _play_rtmp(self, media, player_name): + def _play_rtmp(self, media, player_name, args): """ Download data with rtmpdump and pipe them to a media player. @@ -117,10 +117,11 @@ class MediaPlayer(object): rtmp += ' --quiet' - args = None - for (binary, stdin_args) in PLAYERS: - if binary == player_name: - args = stdin_args + if args is None : + for (binary, stdin_args) in PLAYERS: + if binary == player_name: + args = stdin_args + assert args is not None print ':: Streaming from %s' % media_url