[Bug 673502] [ges][pitivi] Deadlock if there is only audio and video in pipeline

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Apr 18 10:11:58 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=673502
  GStreamer | gst-editing-services | 0.10.x

--- Comment #3 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2012-04-18 17:11:51 UTC ---
Just found out the root cause for this.

Pitivi creates a GesTrack for both audio and video and adds them to a
GesTimeline. Each track create a GnlComposition inside, and this composition
has a background object, that is used to fill gaps when there is no media for
that time. For a timeline to unblock and start 'working', it needs its internal
tracks to signal no-more-pads, and that only happens when the compositions
expose their pads.

The problem is that a GnlComposition won't use this 'background' object unless
there is a gap to be filled, and no media means no gap. If you add a
video/audio-only media to the timeline, it will make one of the compositions
expose its pad, but the other won't expose because it will consider it has no
media. This way, the whole timeline hangs waiting for a pad what will never be
exposed.


One solution is to make Pitivi only add tracks if they are really needed, not
sure how easy it is as I never touched Pitivi code.
The other is to make GES' compositions expose the background as a last resort
if there are no other medias available, they should expose it for the duration
of the timeline.

I'd prefer the first, if possible, as you don't end up with an unnecessary
Track in your exported file, which is specially odd if you're working with an
audio-only clip and the resulting file has a black screen video track as a side
effect.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list