GNOME Bugzilla – Bug 610228
[GnlComposition] Warn when overlapping objects have same priorities
Last modified: 2014-12-15 16:23:19 UTC
Created attachment 154002 [details] transition1.py The use case for transitions looks like the following composition: [videomixer---------------------] [gnloperation] [src a -------------] [src b ------------------] If you arrange them like this, the transitions work fine (see attached: transition1.py). The image correctly fades from A to B (the video mixer places A on top B and the gnloperation modifies source A). My understanding is that this is also supposed to work when A and B share the same priority, however it does not. The videomixer places B over A, and the gnloperation modifies source B. The transition in effect runs "backward" (see attached: transition2.py) In addition, my understanding is that this is supposed to work when the alpha element has the same priority, but it does not. The gnloperation has no effect whatsoever when all three elements have the same priority (see attached: transition3.py)
Created attachment 154003 [details] transition2.py
Created attachment 154004 [details] transition3.py
All objects overlapping in time in a composition *MUST* have a different priority. If you set the same priority on two overlapping objects, then their usage ordering is undefined. Your first example is correct, the other two aren't.
Reopening so that we can add a warning statement whenever we encounter those cases OR emit an error. I'm not 100% happy with emitting an error, since you might (for a brief period of time while moving objects without the update flag set to False) encounter that case without it being an error.
This is somewhat problematic for PiTiVi, since clips in the same layer have the same priority. At the moment we prevent clips from overlapping at the same priority (I guess for this reason), but to implement transitions they have to at least appear to overlap. I guess I need to find a way to fudge the priorities on clips in the same layer.
Two overlapping element in a composition should never have the same priority. This is properly handled in GES.