Author: dmeyer
Date: Thu Apr  5 18:18:24 2007
New Revision: 2609

Modified:
   trunk/metadata/src/video/mkv.py

Log:
mark file as corrupt if the index is missing

Modified: trunk/metadata/src/video/mkv.py
==============================================================================
--- trunk/metadata/src/video/mkv.py     (original)
+++ trunk/metadata/src/video/mkv.py     Thu Apr  5 18:18:24 2007
@@ -54,6 +54,7 @@
 
 MATROSKA_HEADER_ID                = 0x1A45DFA3
 MATROSKA_TRACKS_ID                = 0x1654AE6B
+MATROSKA_CUE_DATE_ID              = 0x1C53BB6B
 MATROSKA_SEGMENT_ID               = 0x18538067
 MATROSKA_SEGMENT_INFO_ID          = 0x1549A966
 MATROSKA_CLUSTER_ID               = 0x1F43B675
@@ -302,6 +303,7 @@
         log.debug("HEADER ID found %08X" % header.get_id() )
         self.mime = 'application/mkv'
         self.type = 'Matroska'
+        self.has_idx = False
 
         # Now get the segment
         self.segment = segment = EbmlEntity(buffer[header.get_total_len():])
@@ -319,6 +321,9 @@
         except core.ParseError:
             pass
 
+        if not self.has_idx:
+            log.debug('WARNING: file has no index')
+            self._set('corrupt', True)
 
     def process_elem(self, elem):
         elem_id = elem.get_id()
@@ -354,6 +359,9 @@
         elif elem_id == MATROSKA_SEEKHEAD_ID:
             self.process_seekhead(elem)
 
+        elif elem_id == MATROSKA_CUE_DATE_ID:
+            self.has_idx = True
+            
         log.debug('END: process element %s' % hex(elem_id))
         return True
 

-------------------------------------------------------------------------
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