[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