After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 610228 - [GnlComposition] Warn when overlapping objects have same priorities
[GnlComposition] Warn when overlapping objects have same priorities
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gnonlin
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
Edward Hervey
Depends on:
Blocks:
 
 
Reported: 2010-02-17 07:48 UTC by Brandon Lewis
Modified: 2014-12-15 16:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
transition1.py (2.44 KB, text/x-python)
2010-02-17 07:48 UTC, Brandon Lewis
Details
transition2.py (2.44 KB, text/x-python)
2010-02-17 07:48 UTC, Brandon Lewis
Details
transition3.py (2.44 KB, text/x-python)
2010-02-17 07:49 UTC, Brandon Lewis
Details

Description Brandon Lewis 2010-02-17 07:48:00 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)
Comment 1 Brandon Lewis 2010-02-17 07:48:36 UTC
Created attachment 154003 [details]
transition2.py
Comment 2 Brandon Lewis 2010-02-17 07:49:21 UTC
Created attachment 154004 [details]
transition3.py
Comment 3 Edward Hervey 2010-02-17 08:25:58 UTC
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.
Comment 4 Edward Hervey 2010-02-17 10:12:00 UTC
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.
Comment 5 Brandon Lewis 2010-02-17 17:00:16 UTC
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.
Comment 6 Thibault Saunier 2014-12-15 16:23:19 UTC
Two overlapping element in a composition should never have the same priority. This is properly handled in GES.