[pkg-freevo-commits] r163 - in packages/freevo/trunk/debian: . patches
Andrea Mennucci
mennucc1 at alioth.debian.org
Sat Jun 27 16:44:00 UTC 2009
Author: mennucc1
Date: 2009-06-27 16:43:59 +0000 (Sat, 27 Jun 2009)
New Revision: 163
Added:
packages/freevo/trunk/debian/patches/cdrom.patch
Modified:
packages/freevo/trunk/debian/changelog
Log:
Fix for bug re: subdirs in cdroms
Modified: packages/freevo/trunk/debian/changelog
===================================================================
--- packages/freevo/trunk/debian/changelog 2009-06-27 16:39:15 UTC (rev 162)
+++ packages/freevo/trunk/debian/changelog 2009-06-27 16:43:59 UTC (rev 163)
@@ -1,10 +1,11 @@
freevo (1.9.0-2) unstable; urgency=low
- *
* Bug fix: "[INTL:ru] Russian debconf templates translation update",
thanks to Yuri Kozlov (Closes: #531126).
+ * Bug fix: "Video playback fails under some circumstances from files on
+ removable media", thanks to Darkhorse Winterwolf (Closes: #478574).
- --
+ -- A Mennucc1 <mennucc1 at debian.org> Sat, 27 Jun 2009 18:40:06 +0200
freevo (1.9.0-1) unstable; urgency=low
Added: packages/freevo/trunk/debian/patches/cdrom.patch
===================================================================
--- packages/freevo/trunk/debian/patches/cdrom.patch (rev 0)
+++ packages/freevo/trunk/debian/patches/cdrom.patch 2009-06-27 16:43:59 UTC (rev 163)
@@ -0,0 +1,137 @@
+diff -ur freevo.orig/util/fileops.py freevo/util/fileops.py
+--- freevo/src/util/fileops.py 2009-04-11 16:58:01.000000000 +0200
++++ freevo/src/util/fileops.py 2009-06-26 23:44:06.000000000 +0200
+@@ -382,8 +382,6 @@
+ so, se = p.communicate()
+ if rc in (1,32,):
+ _debug_('mounting %r: %s' % (dir, se), DWARNING)
+- from util.misc import print_upper_execution_stack
+- print_upper_execution_stack()
+ if os.path.ismount(dir) and not dir in mounted_dirs:
+ mounted_dirs.append(dir)
+ if force and not dir in mounted_dirs:
+@@ -427,9 +425,9 @@
+
+ def resolve_media_mountdir(*arg):
+ """
+- get the mount point of the media with media_id
++ get the media with given media_id , and add its mountpoint to the filename
+ """
+- _debug_('resolve_media_mountdir(arg=%r)' % (arg,), 2)
++ _debug_('resolve_media(arg=%r)' % (arg,), 2)
+ if len(arg) == 1 and isinstance(arg[0], dict):
+ media_id = arg[0]['media_id']
+ file = arg[0]['file']
+@@ -439,16 +437,15 @@
+ else:
+ raise KeyError
+
+- mountdir = ''
++ media = None
+ # Find on what media it is located
+ for media in config.REMOVABLE_MEDIA:
+ if media_id == media.id:
+ # Then set the filename
+- mountdir = media.mountdir
+ file = vfs.join(media.mountdir, file)
+ break
+
+- return mountdir, file
++ return media, file
+
+
+ def check_media(media_id):
+diff -ur freevo.orig/video/plugins/mplayer.py freevo/video/plugins/mplayer.py
+--- freevo/src/video/plugins/mplayer.py 2009-05-07 19:34:38.000000000 +0200
++++ freevo/src/video/plugins/mplayer.py 2009-06-26 23:57:09.000000000 +0200
+@@ -76,6 +76,8 @@
+ self.plugins = []
+ self.paused = False
+ self.stored_time_info = None
++ self.audio_media = None
++ self.subtitle_media = None
+
+
+ def rate(self, item):
+@@ -297,13 +299,15 @@
+ _debug_('crop=%s:%s:%s:%s' % (x2-x1, y2-y1, x1, y1))
+
+ if item.subtitle_file:
+- d, f = util.resolve_media_mountdir(item.subtitle_file)
+- util.mount(d)
++ self.subtitle_media, f = util.resolve_media_mountdir(item.subtitle_file)
++ if self.subtitle_media:
++ self.subtitle_media.mount()
+ args['sub'] = '-sub %s' % f
+
+ if item.audio_file:
+- d, f = util.resolve_media_mountdir(item.audio_file)
+- util.mount(d)
++ self.audio_media, f = util.resolve_media_mountdir(item.audio_file)
++ if self.audio_media:
++ self.audio_media.mount()
+ args['audiofile'] = '-audiofile %s' % f
+
+ self.plugins = plugin.get('mplayer_video')
+@@ -389,6 +393,14 @@
+ rc.app(None)
+ dialog.disable_overlay_display()
+ self.app = None
++
++ if self.subtitle_media:
++ self.subtitle_media.mount()
++ self.subtitle_media = None
++
++ if self.audio_media:
++ self.audio_media.mount()
++ self.audio_media = None
+
+
+ def eventhandler(self, event, menuw=None):
+diff -ur freevo.orig/video/videoitem.py freevo/video/videoitem.py
+--- freevo/src/video/videoitem.py 2009-05-16 20:10:55.000000000 +0200
++++ freevo/src/video/videoitem.py 2009-06-27 00:20:03.000000000 +0200
+@@ -98,6 +98,7 @@
+ self.subitems = []
+ self.current_subitem = None
+ self.media_id = ''
++ self.mounted_media = None
+
+ self.subtitle_file = {}
+ self.audio_file = {}
+@@ -641,9 +642,10 @@
+ if self.url.startswith('file://'):
+ file = self.filename
+ if self.media_id:
+- mountdir, file = util.resolve_media_mountdir(self.media_id,file)
+- if mountdir:
+- util.mount(mountdir)
++ media = util.check_media(self.media_id)
++ if media:
++ media.mount()
++ self.mounted_media = media
+ else:
+ self.menuw.show()
+ ConfirmBox(text=(_('No media found for "%(file)s".\nPlease insert the media "%(media_id)s".')) % \
+@@ -651,7 +653,8 @@
+ return
+
+ elif self.media:
+- util.mount(os.path.dirname(self.filename))
++ self.media.mount()
++ self.mounted_media = self.media
+
+ # dvd and vcd
+ elif self.mode in ('dvd', 'vcd') and not self.filename and not self.media:
+@@ -707,7 +710,10 @@
+
+ if self.player:
+ self.player.stop()
+-
++
++ if self.mounted_media:
++ self.mounted_media.umount()
++ self.mounted_media = None
+
+ def dvd_vcd_title_menu(self, arg=None, menuw=None):
+ """
More information about the Pkg-freevo-commits
mailing list