diff options
author | Boris Bobrov <breton@cynicmansion.ru> | 2015-02-25 09:20:02 +0300 |
---|---|---|
committer | Boris Bobrov <breton@cynicmansion.ru> | 2015-02-25 09:20:02 +0300 |
commit | 33055472f9fd0df5944fff232f0458dad9977e08 (patch) | |
tree | bfe8f6c7582b56dab12280b1623f52f6d3b39a15 | |
parent | 41dbb27a4f162b5c2b109d2214c5ccd2946ed535 (diff) | |
download | mediagoblin-33055472f9fd0df5944fff232f0458dad9977e08.tar.lz mediagoblin-33055472f9fd0df5944fff232f0458dad9977e08.tar.xz mediagoblin-33055472f9fd0df5944fff232f0458dad9977e08.zip |
init GStreamer on demand only
Closes-Bug: 5024
-rw-r--r-- | mediagoblin/media_types/tools.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/mediagoblin/media_types/tools.py b/mediagoblin/media_types/tools.py index c3b3a3f0..3bc56e2c 100644 --- a/mediagoblin/media_types/tools.py +++ b/mediagoblin/media_types/tools.py @@ -17,11 +17,6 @@ import logging from mediagoblin import mg_globals -import gi -gi.require_version('Gst', '1.0') -from gi.repository import GObject, Gst, GstPbutils, GLib -Gst.init(None) - _log = logging.getLogger(__name__) @@ -36,6 +31,13 @@ def discover(src): ''' Discover properties about a media file ''' + # GStreamer might be not installed, so it should not be initialized on + # import, or an exception will be raised. + import gi + gi.require_version('Gst', '1.0') + from gi.repository import GObject, Gst, GstPbutils, GLib + Gst.init(None) + _log.info('Discovering {0}...'.format(src)) uri = 'file://{0}'.format(src) discoverer = GstPbutils.Discoverer.new(60 * Gst.SECOND) |