Author: duncan
Date: Mon Sep 25 13:48:20 2006
New Revision: 1899
Modified:
branches/mmpython-0-4/mmpython/disc/lsdvd.py
branches/mmpython-0-4/mmpython/mediainfo.py
Log:
Added Subtitle information from lsdvd
Modified: branches/mmpython-0-4/mmpython/disc/lsdvd.py
==============================================================================
--- branches/mmpython-0-4/mmpython/disc/lsdvd.py (original)
+++ branches/mmpython-0-4/mmpython/disc/lsdvd.py Mon Sep 25 13:48:20 2006
@@ -93,6 +93,32 @@
self.channels = int(data[data.index('Channels:') + 1])
+class DVDSubtitle(mediainfo.SubtitleInfo):
+ def __init__(self, data):
+ mediainfo.SubtitleInfo.__init__(self)
+ self.rawdata = data
+ self.number = int(data[1])
+ try:
+ self.id = int(data[10],0)
+ except:
+ self.id = self.number
+ self.language = data[3]
+ try:
+ self.language.encode()
+ except UnicodeError:
+ self.language = ''
+ self.languagedesc = data[5]
+ try:
+ self.languagedesc.encode()
+ except UnicodeError:
+ self.languagedesc = ''
+ self.content = data[7]
+ try:
+ self.languagedesc.encode()
+ except UnicodeError:
+ self.languagedesc = ''
+
+
class DVDVideo(mediainfo.VideoInfo):
def __init__(self, data):
mediainfo.VideoInfo.__init__(self)
@@ -174,7 +200,7 @@
elif data[0] == 'Audio:':
self.tracks[-1].audio.append(DVDAudio(data))
elif data[0] == 'Subtitle:':
- self.tracks[-1].subtitles.append(data[3])
+ self.tracks[-1].subtitles.append(DVDSubtitle(data))
elif data[0] == 'VTS:':
self.tracks[-1].video.append(DVDVideo(data))
self.tracks[-1].video[-1].length = self.tracks[-1].length
Modified: branches/mmpython-0-4/mmpython/mediainfo.py
==============================================================================
--- branches/mmpython-0-4/mmpython/mediainfo.py (original)
+++ branches/mmpython-0-4/mmpython/mediainfo.py Mon Sep 25 13:48:20 2006
@@ -92,6 +92,8 @@
AUDIOCORE = ['channels', 'samplerate', 'length', 'encoder', 'codec',
'samplebits',
'bitrate', 'language', 'languagedesc', 'id']
+SUBTITLECORE = ['language', 'languagedesc', 'content', 'id']
+
VIDEOCORE = ['length', 'encoder', 'bitrate', 'samplerate', 'codec',
'samplebits',
'width', 'height', 'fps', 'aspect']
@@ -280,6 +282,17 @@
self.keys.append(k)
+class SubtitleInfo(MediaInfo):
+ """
+ Subtitle Tracks in a Multiplexed Container.
+ """
+ def __init__(self):
+ self.keys = []
+ for k in SUBTITLECORE:
+ setattr(self,k,None)
+ self.keys.append(k)
+
+
class MusicInfo(AudioInfo):
"""
Digital Music.
-------------------------------------------------------------------------
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