diff -ur openshot-1.4.0-orig/openshot/classes/cli_render.py openshot-1.4.0/openshot/classes/cli_render.py --- openshot-1.4.0-orig/openshot/classes/cli_render.py 2011-12-04 20:36:06.000000000 +0400 +++ openshot-1.4.0/openshot/classes/cli_render.py 2011-12-04 20:50:20.000000000 +0400 @@ -265,6 +265,9 @@ # Create producer and initialize mlt self.f = mlt.Factory().init() self.p = mlt.Producer( self.profile, 'xml:%s' % self.file_name) + if self.p.is_valid() == False: + print _("MLT producer failure") + sys.exit() self.p.set_speed(0) out_folder = self.render_options["folder"] out_file = self.render_options["file"] diff -ur openshot-1.4.0-orig/openshot/classes/thumbnail.py openshot-1.4.0/openshot/classes/thumbnail.py --- openshot-1.4.0-orig/openshot/classes/thumbnail.py 2011-12-04 20:36:06.000000000 +0400 +++ openshot-1.4.0/openshot/classes/thumbnail.py 2011-12-04 20:40:13.000000000 +0400 @@ -176,7 +176,11 @@ # mark as image seq self.label = "Image Sequence" self.file_type = "image sequence" - + + # Check if clip is valid (otherwise a seg fault) + if self.p.is_valid() == False: + return None + # connect the producer and consumer self.c.connect( self.p ) @@ -284,6 +288,10 @@ #get the frame self.p = self.p.cut(frame, frame) + + # Check if clip is valid (otherwise a seg fault) + if self.p.is_valid() == False: + return None # connect the producer and consumer self.c.connect( self.p ) diff -ur openshot-1.4.0-orig/openshot/classes/video.py openshot-1.4.0/openshot/classes/video.py --- openshot-1.4.0-orig/openshot/classes/video.py 2011-12-04 20:36:06.000000000 +0400 +++ openshot-1.4.0/openshot/classes/video.py 2011-12-04 21:06:31.000000000 +0400 @@ -114,6 +114,9 @@ # Create the producer self.p = mlt.Producer( self.profile, 'xml:%s' % self.file_name) + if self.p.is_valid() == False: + print "ERROR WITH %s" % self.file_name + return # get export file path folder = self.render_options["folder"] @@ -171,6 +174,9 @@ # Create the producer self.p = mlt.Producer( self.profile, 'xml:%s' % self.file_name) + if self.p.is_valid() == False: + print "ERROR WITH %s" % self.file_name + return # refresh sdl and pause video self.pause()