Author: dmeyer
Date: Thu Feb 15 13:44:08 2007
New Revision: 2490
Modified:
trunk/popcorn/src/backends/gstreamer/__init__.py
trunk/popcorn/src/backends/manager.py
trunk/popcorn/src/backends/mplayer/__init__.py
trunk/popcorn/src/backends/mplayer/player.py
trunk/popcorn/src/backends/xine/__init__.py
trunk/popcorn/src/config.cxml
trunk/popcorn/src/generic.py
Log:
support x11 for mplayer
Modified: trunk/popcorn/src/backends/gstreamer/__init__.py
==============================================================================
--- trunk/popcorn/src/backends/gstreamer/__init__.py (original)
+++ trunk/popcorn/src/backends/gstreamer/__init__.py Thu Feb 15 13:44:08 2007
@@ -60,7 +60,10 @@
# list of codecs when to prefer this player
codecs = config.preferred.codecs.split(',')
- return capabilities, schemes, exts, codecs
+ # list of video driver
+ vo = [ 'xv' ]
+
+ return capabilities, schemes, exts, codecs, vo
def import_backend():
Modified: trunk/popcorn/src/backends/manager.py
==============================================================================
--- trunk/popcorn/src/backends/manager.py (original)
+++ trunk/popcorn/src/backends/manager.py Thu Feb 15 13:44:08 2007
@@ -79,7 +79,7 @@
def get_player_class(media, caps = None, exclude = None, force = None,
- preferred = None):
+ video_out = True):
"""
Searches the registered players for the most capable player given the mrl
or required capabilities. A specific player can be returned by specifying
@@ -96,7 +96,7 @@
if _players[player_id]["loaded"]:
continue
- player_caps, schemes, exts, codecs = _players[player_id]["callback"]()
+ player_caps, schemes, exts, codecs, vo =
_players[player_id]["callback"]()
_players[player_id].update({
"caps": player_caps,
@@ -105,6 +105,8 @@
"extensions": exts,
# Prefer this player for these codecs.
"codecs": codecs,
+ # Supported video driver
+ "vdriver": vo,
"loaded": True,
})
@@ -149,6 +151,10 @@
log.debug('skip %s, in exclude list', player_id)
continue
+ if video_out and config.video.driver not in player['vdriver']:
+ # video driver not supported
+ continue
+
rating = 0
if caps:
# Rate player on the given capabilities. If one or more needed
@@ -175,7 +181,7 @@
# player is good at this extension
rating += 3
- if preferred == player_id:
+ if config.preferred == player_id:
rating += 2
log.debug('%s rating: %s', player_id, rating)
Modified: trunk/popcorn/src/backends/mplayer/__init__.py
==============================================================================
--- trunk/popcorn/src/backends/mplayer/__init__.py (original)
+++ trunk/popcorn/src/backends/mplayer/__init__.py Thu Feb 15 13:44:08 2007
@@ -78,7 +78,10 @@
# list of codecs when to prefer this player
codecs = config.preferred.codecs.split(',')
- return capabilities, schemes, exts, codecs
+ # list of video driver
+ vo = [ 'xv', 'x11' ]
+
+ return capabilities, schemes, exts, codecs, vo
def import_backend():
Modified: trunk/popcorn/src/backends/mplayer/player.py
==============================================================================
--- trunk/popcorn/src/backends/mplayer/player.py (original)
+++ trunk/popcorn/src/backends/mplayer/player.py Thu Feb 15 13:44:08 2007
@@ -392,7 +392,8 @@
filters.append('dsize=%s:%s:0' % size)
# add software scaler based on dsize arguments
- if self._properties.get('software-scaler'):
+ if self._properties.get('software-scaler') or \
+ config.video.driver in ('x11',):
filters.append('scale=0:0')
args.add(sws=2)
@@ -414,7 +415,8 @@
else:
args.append('-fs')
display = self._window.get_display().get_string()
- args.add(vo='xv', display=display, colorkey=config.video.colorkey)
+ args.add(vo=config.video.driver, display=display,
+ colorkey=config.video.colorkey)
else:
# FIXME: add support for DFB/FB/etc
args.add(vo='null')
Modified: trunk/popcorn/src/backends/xine/__init__.py
==============================================================================
--- trunk/popcorn/src/backends/xine/__init__.py (original)
+++ trunk/popcorn/src/backends/xine/__init__.py Thu Feb 15 13:44:08 2007
@@ -66,7 +66,10 @@
# list of codecs when to prefer this player
codecs = config.preferred.codecs.split(',')
- return capabilities, schemes, exts, codecs
+ # list of video driver
+ vo = [ 'xv' ]
+
+ return capabilities, schemes, exts, codecs, vo
def import_backend():
Modified: trunk/popcorn/src/config.cxml
==============================================================================
--- trunk/popcorn/src/config.cxml (original)
+++ trunk/popcorn/src/config.cxml Thu Feb 15 13:44:08 2007
@@ -17,6 +17,7 @@
<var name="driver" default="xv">
<values>
<value>xv</value>
+ <value>x11</value>
</values>
<desc>
Video driver; xv is the only supported video driver at this
Modified: trunk/popcorn/src/generic.py
==============================================================================
--- trunk/popcorn/src/generic.py (original)
+++ trunk/popcorn/src/generic.py Thu Feb 15 13:44:08 2007
@@ -170,7 +170,7 @@
if not getattr(config, p).activate and not p in exclude:
exclude.append(p)
return backends.manager.get_player_class(\
- self._media, self._open_caps, exclude, player, config.preferred)
+ self._media, self._open_caps, exclude, player, self._window)
def _state_change(self, old_state, state):
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog