Author: dmeyer
Date: Mon Jun 18 18:25:25 2007
New Revision: 2712
Modified:
trunk/metadata/src/video/flv.py
Log:
do not crash on bad files
Modified: trunk/metadata/src/video/flv.py
==============================================================================
--- trunk/metadata/src/video/flv.py (original)
+++ trunk/metadata/src/video/flv.py Mon Jun 18 18:25:25 2007
@@ -32,6 +32,7 @@
__all__ = ['Parser']
# python imports
+import sys
import struct
import string
import logging
@@ -127,17 +128,21 @@
elif chunk[0] == FLV_TAG_TYPE_META:
log.info('metadata %s', str(chunk))
metadata = file.read(size)
- while metadata:
- length, value = self._parse_value(metadata)
- if isinstance(value, dict):
- if value.get('duration'):
- self.length = value.get('duration')
- self._appendtable('FLVINFO', value)
- if not length:
- # parse error
- break
- metadata = metadata[length:]
-
+ try:
+ while metadata:
+ length, value = self._parse_value(metadata)
+ if isinstance(value, dict):
+ if value.get('duration'):
+ self.length = value.get('duration')
+ self._appendtable('FLVINFO', value)
+ if not length:
+ # parse error
+ break
+ metadata = metadata[length:]
+ except (KeyboardInterrupt, SystemExit):
+ sys.exit(0)
+ except:
+ pass
else:
log.info('unkown %s', str(chunk))
file.seek(size, 1)
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog