http://tinyurl.com/ze4e
I don't know is this is ok in this group...but below is the file pasted from the web page.
BR's
Drew.
#if 0 /* # ----------------------------------------------------------------------- # dvdinfo.py - parse dvd title structure # ----------------------------------------------------------------------- # $Id: dvdinfo.py,v 1.10 2003/06/30 13:17:19 the_krow Exp $ # # ----------------------------------------------------------------------- # Copyright (C) 2003 Thomas Schueppel, Dirk Meyer # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MER- # CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # ----------------------------------------------------------------------- */ #endif
import ifoparser from mmpython import mediainfo import mmpython from discinfo import DiscInfo import popen2
# XXX this is really bad, but we are in a freevo # XXX env and it should work import config
class DVDTitle(mediainfo.AVInfo):
def __init__(self, number):
mediainfo.AVInfo.__init__(self)
self.number = number
self.chapters = self.angles = self.length = audio_num = subtitles_num = 0
self.mime = 'video/mpeg'class DVDInfo(DiscInfo):
def __init__(self,device):
DiscInfo.__init__(self)
self.context = 'video'
self.offset = 0
self.valid = self.isDisc(device)
self.mime = 'video/dvd'
self.type = 'DVD'
self.subtype = 'video'
def isDisc(self, device):
if DiscInfo.isDisc(self, device) != 2:
return 0 # brute force reading of the device to find out if it is a DVD
f = open(device,'rb')
f.seek(32808, 0)
buffer = f.read(50000) if buffer.find('UDF') == -1:
f.close()
return 0 # seems to be a DVD, read a little bit more
buffer += f.read(550000)
f.close() if buffer.find('VIDEO_TS') == -1 and buffer.find('VIDEO_TS.IFO') == -1 and \
buffer.find('OSTA UDF Compliant') == -1:
return 0child = popen2.Popen3('%s dvd://99 -dvd-device %s' % \
(config.CONF.mplayer, device), 1, 100)
title_num = 0
while (1):
data = child.fromchild.readline()
if not data:
break
if data.startswith('There are '):
title_num = int(data[10:data[10:].find(' ')+10])
child.wait()
if not title_num:
return 0 for title in range(1, title_num+1):
ti = DVDTitle(title)
ti.trackno = title
ti.trackof = title_num
self.appendtrack(ti)return 1
mmpython.registertype( 'video/dvd', mediainfo.EXTENSION_DEVICE, mediainfo.TYPE_AV, DVDInfo )
christopher neitzert wrote:
Drew,
I'm having the same problem and cannot find the thread. can you point me to the right url?
thanks
chris
On Mon, 2003-12-15 at 22:39 +0000, drew wrote:
IGNORE!!!!
I found a bit more of the thread later on with a different subject! DOH! Dirk posted a different dvdinfo.py that kind of works. (now I need to know how to stop a dvd playing without killing it)....
Thanks again.
Drew
drew wrote:
Thanks,
I read the whole thread and tried the patched dvdinfo.py, didn't work for me.. it sigterms at line 97 in the patched version..
Pygame Parachute Traceback:
Thread-0x80196f68
File "/usr/local/freevo/runtime/lib/python2.3/site-packages/mmpython/disc/dvdinfo.py", line 97, in isDisc
Thread-0x80015200
File "/usr/local/freevo/src/osd.py", line 1067, in update
Fatal Python error: (pygame parachute) Segmentation Fault
as opposed to line 88 in the original. I did try to install the normal rpm version, but gave up after chasing dependancies for 4 hours. I cannot for the life of me find a dep list, any clues to the location of such a beast?
Thanks again,
Drew.
Zeratul wrote:
See the thread 'starts with only no disc in the drive' from second half of november for an explanation and patch.
There are two options, use dirty patched dvdinfo.py (which still doesn't work always for me), or don't use the runtime and install all depended packages.
Zeratul
drew wrote:
Hi,
A question here from a complete noob with freevo, so be gentle ;-)
I have just installed 1.4 using the install script, everything seemed to be ok, I added this line to the local_conf.py to get it to spot my dvd drive....
ROM_DRIVES = [ ('/mnt/cdrom', '/dev/dvd', 'dvd') ]
when I run freevo everything works as I would expect, if I put in a VCD the system recognises it and plays it fine, when I insert a dvd, freevo crashes with the following errors;
Pygame Parachute Traceback:
Thread-0x802466a8
File "/usr/local/freevo/runtime/lib/python2.3/threading.py", line 204, in wait
Thread-0x801bce30
File "/usr/local/freevo/runtime/lib/python2.3/threading.py", line 204, in wait
Thread-0x801cf5c0
File "/usr/local/freevo/runtime/lib/python2.3/threading.py", line 204, in wait
Thread-0x801cdb40
File "/usr/local/freevo/runtime/lib/python2.3/threading.py", line 204, in wait
Thread-0x801af4b0
File "/usr/local/freevo/runtime/lib/python2.3/site-packages/mmpython/disc/dvdinfo.py", line 88, in isDisc
Thread-0x80015200
File "/usr/local/freevo/src/main.py", line 334, in main_func
Fatal Python error: (pygame parachute) Segmentation Fault
I have read of similar errors, but not found a fix for it.
Mplayer and Xine both play DVDs without problems. If it is important my system is running Mandrake 9.2 rc 2
Cheers for any advice....
Drew.
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Freevo-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-users
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Freevo-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-users
------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Freevo-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-users
