GNOME Bugzilla – Bug 583595
cannot load a saved project with multiple streams
Last modified: 2009-05-23 16:13:49 UTC
I imported a mkv file which has a video track (H.264), an AC-3 audio track and a subtitle track. I then saved the project, exited pitivi and tried loading the project. Traceback (most recent call last):
+ Trace 215655
self.app.loadProject(uri = uri)
formatter.loadProject(uri, project)
for x in self._getSources():
return self._loadSources()
return self._loadFactories(sources, FileSourceFactory)
obj = self._loadObjectFactory(klass, fact)
stream = self._loadStream(stream_element)
caps = gst.Caps(element.attrib["caps"])
There could be several reasons why this would fail. I managed to trigger it with another case : a file with the following caps: 'audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)6, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_LFE >' In order for the GstAudioChannelPosition to be properly converted, gst.audio (the audio helper library) must be loaded for that type (and underlying GType) to be loaded. My guess is that it's not the subtitles which are making the loading fail, but the AC-3 track (which would have audio positions in the caps).
Created attachment 135226 [details] [review] load audio/video/interfaces helper libraries when loading pitivi This patch loads the 3 helper libraries (audio/video/interfaces) as early as possible in pitivi in order to have all the available GTypes loaded and ready for usage.
Jeff, could you try with the patch applied ?
Seems to work.
commit 6550234a2a6cebb2aa2a793c054ad444fd1ecbca Author: Edward Hervey <bilboed@bilboed.com> Date: Sat May 23 18:08:56 2009 +0200 gst: import gst modules to have GTypes loaded. Fixes #583595 This is so we can load caps that have GstAudioChannelPosition for example.