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 723266 - outputselector: respect the 'negotiation-mode' property
outputselector: respect the 'negotiation-mode' property
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
unspecified
Other All
: Normal normal
: 1.3.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-01-30 06:40 UTC by Thiago Sousa Santos
Modified: 2014-01-30 20:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
outputselector: respect the 'negotiation-mode' property (4.10 KB, patch)
2014-01-30 06:40 UTC, Thiago Sousa Santos
committed Details | Review

Description Thiago Sousa Santos 2014-01-30 06:40:06 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.
Comment 1 Thiago Sousa Santos 2014-01-30 06:40:09 UTC
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.
Comment 2 Thiago Sousa Santos 2014-01-30 20:15:39 UTC
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