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

Reply via email to