From 36b2fec44695adb92b2a8878bae5b568b8be1793 Mon Sep 17 00:00:00 2001 From: j <0x006A@0x2620.org> Date: Mon, 15 Nov 2010 17:35:07 +0100 Subject: [PATCH] work around ffmpeg2theora problems with some metadata output --- ox/file.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ox/file.py b/ox/file.py index 1c71b0d..0cb638d 100644 --- a/ox/file.py +++ b/ox/file.py @@ -4,6 +4,7 @@ from __future__ import division import os import hashlib +import re import sys import struct import subprocess @@ -63,5 +64,13 @@ def avinfo(filename): if os.path.getsize(filename): p = subprocess.Popen(['ffmpeg2theora', '--info', filename], stdout=subprocess.PIPE, stderr=subprocess.PIPE) info, error = p.communicate() - return json.loads(info) + try: + info = json.loads(info) + except: + #remove metadata, can be broken + reg = re.compile('"metadata": {.*?},', re.DOTALL) + info = re.sub(reg, '', info) + info = json.loads(info) + return info + return {'path': filename, 'size': 0}