prise en charge du rtmp

This commit is contained in:
Julien Hebert 2012-12-07 10:38:49 +01:00 committed by Romain Bignon
commit 16edbd9141
3 changed files with 12 additions and 9 deletions

View file

@ -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)

View file

@ -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)

View file

@ -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