Meneer Jansen wrote:
> 
> 
> 2009/5/30 Duncan Webb <dun...@freevo.org <mailto:dun...@freevo.org>>
> 
>     Meneer Jansen wrote:
>     > I recently upgraded to Freevo 1.9.0 which does not crash on trying to
>     > search the IMDB, but does not find any info either. That's sort of
>     nice
>     > I guess...
>     >
>     > But.... I used to be able to play my beloved DVD's w/ Freevo. It
>     started
>     > Xine then, or I could choose to use mplayer instead. I had to fiddle
>     > around a bit to get Freevo to recognize the DVD, but it worked when I
>     > did this:
>     > 1. Eject the DVD.
>     > 2. Stop Freevo.
>     > 3. Start Freevo again: now the DVD tray closes and Freevo
>     recognizes the
>     > DVD.
>     >
>     > However, that does not work anymore and neither does fiddeling w/ the
>     > following parameters (which used to work too):
>     > ROM_DRIVES_AUTOFS = True/False
>     > ROM_DRIVES = None (or comment this line out)
>     >
>     > How do I get Freevo to recognise my beloved DVD's again?
> 
>     It should work fine.
> 
>     To help you we need more information as to how you have set-up the
>     mounting of DVDs.
> 
>     Are you using autofs or do you have the drive configured in /etc/fstab
>     and what are settings in local_conf.py for the ROM_DRIVES.*?
> 
>     Duncan
> 
> Thank you for your clear reply. Indeed, I did not provide you all w/
> enough information. I let Debian Stable 5.0 Lenny automount my DVD's and
> CD's. Which works fine for me.
> 
> Considered to Synaptic I've installed autofs 5.0.3-3. Is that a good or
> a bad thing? In my /etc/fstab I've configured my dvd-drive as follows:
> 
> /dev/hdc        /media/cdrom0      udf,iso9660     user,auto            
>     0       0
> 
> Is that good or bad? In /etc/freevo/local_conf.py I commented out my old
> ROM_DRIVES parameter I've set in the past, so to let Freevo do it
> automatically. This worked just fine in Freevo 1.8.3. I've set the other
> parameters as follows (and tried to modify them w/ no result):
> ROM_DRIVES_AUTOFS = True
> ROM_DRIVES = None

I think that this is your problem, if you use the auto-mounter then you
need to tell freevo where the CD/DVD drive is, at least with
"udf,iso9660" as freevo is looking for " iso9660 " in /etc/fstab.

So the easiest way is to use the ROM_DRIVES setting such as:
ROM_DRIVES = [ ('/media/cdrom0', '/dev/hdc', 'DVD') ]

The ROM_DRIVES_AUTOFS setting tells freevo not to mount or umount the
drive as this is handled by the auto-mounter.

What you need to check is that the auto-mounter is actually using
/media/cdrom0 and not another mount point.

> What actually happens when I insert a DVD is as follows. If I fiddle a
> bit w/ inserting and ejecting the DVD and restarting Freevo until it
> will show up in Freevo's Movie menu. Strangely, it also shows up in the
> Audio menu. So Freevo does not seem to realize that it is a Video DVD.
> When I press Enter on my "Gladiator" DVD (for example) in the Movie
> menu, Freevo does not start Xine to play the DVD, but I see the video_ts
> and audio_ts folders instead. Strange isn't it? And when I enter those
> directories and press Enter on one of the VOB's then my computer hangs.

It is possible the Gladiator has a copy protection system that stops it
being correctly detected so try another disk.

Attached is a patch that does a bit more logging of the ROM-drive detection.

Duncan
Index: src/config.py
===================================================================
--- src/config.py	(revision 11576)
+++ src/config.py	(working copy)
@@ -816,26 +816,31 @@
             match_automount = re_automount.match(line)
             match_bymountcd = re_bymountcd.match(line)
             match_bymountdvd= re_bymountdvd.match(line)
-            mntdir = devname = ''
+            mntdir = devname = dispname = ''
             if match_cd or match_bymountcd:
                 m = match_cd or match_bymountcd
+                _debug_('match_cd or match_bymountcd=%r' % (m.groups(),))
                 mntdir = m.group(2)
                 devname = m.group(1)
                 dispname = 'CD-%s' % (len(ROM_DRIVES)+1)
             elif match_cdrec:
+                _debug_('match_cdrec=%r' % (match_cdrec.groups(),))
                 mntdir = match_cdrec.group(2)
                 devname = match_cdrec.group(1)
                 dispname = 'CDREC-%s' % (len(ROM_DRIVES)+1)
             elif match_dvd or match_bymountdvd:
                 m = match_dvd or match_bymountdvd
+                _debug_('match_dvd or match_bymountdvd=%r' % (m.groups(),))
                 mntdir = m.group(2)
                 devname = m.group(1)
                 dispname = 'DVD-%s' % (len(ROM_DRIVES)+1)
             elif match_iso:
+                _debug_('match_iso=%r' % (match_iso.groups(),))
                 mntdir = match_iso.group(2)
                 devname = match_iso.group(1)
                 dispname = 'CD-%s' % (len(ROM_DRIVES)+1)
             elif match_automount:
+                _debug_('match_automount=%r' % (match_automount.groups(),))
                 mntdir = match_automount.group(1)
                 devname = match_automount.group(2)
                 # Must check that the supermount device is cd or dvd
@@ -844,17 +849,19 @@
                 elif devname.lower().find('dvd') != -1:
                     dispname = 'DVD-%s' % (len(ROM_DRIVES)+1)
                 elif devname.lower().find('hd') != -1:
-                    print 'Trying to autodetect type of %s' % devname
+                    _debug_('Trying to autodetect type of %r' % (devname,), DINFO)
                     if os.path.exists('/proc/ide/' + re.sub(r'^(/dev/)', '', devname) + '/media'):
-                        if open('/proc/ide/'+  re.sub(r'^(/dev/)', '', devname) +\
-                             '/media', 'r').read().lower().find('cdrom') != 1:
+                        if open('/proc/ide/' + re.sub(r'^(/dev/)', '', devname) + \
+                            '/media', 'r').read().lower().find('cdrom') != 1:
                             dispname = 'CD-%s' % (len(ROM_DRIVES)+1)
-                            print ("%s is a cdrom drive" %devname)
+                            _debug_('%r is a cdrom drive' % (devname,), DINFO)
                     else:
-                        print ("%s doesn't seems to be a cdrom drive" %devname)
+                        _debug_("%r doesn't seems to be a cdrom drive" % (devname,), DINFO)
                         mntdir = devname = dispname = ''
                 else:
                     mntdir = devname = dispname = ''
+            if mntdir:
+                _debug_('line=%r, mntdir=%r, devname=%r, dispname=%r' % (line, mntdir, devname, dispname), DINFO)
 
             if os.uname()[0] == 'FreeBSD':
                 # FreeBSD-STABLE mount point is often device name + "c",
------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
Freevo-users mailing list
Freevo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-users

Reply via email to