GNOME Bugzilla – Bug 723266
outputselector: respect the 'negotiation-mode' property
Last modified: 2014-01-30 20:15:52 UTC
In the current implementation, output-selector only uses the negotiation-mode property when doing caps operation (query and events). So if it is set to the 'active' mode, it will forward the caps only to the currently active pad but will forward all other sticky events to all pads. This behavior leads to an assertion when a segment is sent to all pads and then this pad gets the caps event: 'sticky event misordering' This patch fixes this by respecting the 'negotiation-mode' for all sticky events and waiting to forward them when the pad is activated.
Created attachment 267610 [details] [review] outputselector: respect the 'negotiation-mode' property If the segment event is allowed to be pushed to all pads it will lead to an assertion of 'sticky event misordering: segment received before caps' in case the pad-negotiation-mode is set to 'active' or 'none'. This patch fixes this by making all sticky events follow the property like the caps event to prevent misordering warnings. When a new pad is activated the current sticky events on the sinkpad are forwarded to it in the proper order.
Thanks for the review! commit 8ee77efbed55ff1ecb36eed3d46c3715c1fd7671 Author: Thiago Santos <ts.santos@sisa.samsung.com> Date: Thu Jan 30 03:22:56 2014 -0300 outputselector: respect the 'negotiation-mode' property If the segment event is allowed to be pushed to all pads it will lead to an assertion of 'sticky event misordering: segment received before caps' in case the pad-negotiation-mode is set to 'active' or 'none'. This patch fixes this by making all sticky events follow the property like the caps event to prevent misordering warnings. When a new pad is activated the current sticky events on the sinkpad are forwarded to it in the proper order. https://bugzilla.gnome.org/show_bug.cgi?id=723266