GNOME Bugzilla – Bug 356380
Composition doesn't find the next stop correctly with operations.
Last modified: 2006-11-02 10:15:31 UTC
Please describe the problem: When creating two gnloperations on the same composition, at the point where they overlap, they both don't exectute, and only one does. In the attached script, only one operation (the lowpass effect) applied to the audio, and the second operation (the phaser) is not applied, despite the priorities being correct. Steps to reproduce: 1. 2. 3. Actual results: Expected results: Does this happen every time? Yes. Other information:
Created attachment 72930 [details] test script
Created attachment 72931 [details] glade file for use with test script
There's nothing wrong with the script you provide: You've put: gnlfilesource 0s -> 60s with priority 2 phaserII 10s -> 15s with priority 2 (Same priority as something else, you're going straight to the wall here) lowpass-iir 5s -> 30s with priority 1 According to that the following should happen (and does): From 0s -> 5s : only gnlfilesource From 5s -> 30s : lowpass-iir over gnlfilesource From 30s-> 60s : only gnlfilesource On the other hand, if you put phaserII to priority 1 and lowpass-iir to priority 0 (which is maybe what you intended), it doesn't play phaserII. Modifying the title accordingly.
Created attachment 74116 [details] [review] Proposed fix With this patch, the next stop is modified so it looks for the next change position which is: _ after the stack start position (not-included) _ with a priority higher than the HIGHEST priority in the stack
2006-11-02 Edward Hervey <edward@fluendo.com> * gnl/gnlcomposition.c: (gnl_composition_ghost_pad_set_target), (next_stop_in_region_above_priority), (convert_list_to_tree), (get_stack_list), (get_clean_toplevel_stack), (gnl_composition_remove_object): Better check for the 'next stop' of a stack. It will now look at all objects under the highest priority (and not the lowest as previously). Fixes #356380. Set new pads as active. Add some debug.