[Bug 752213] tee: Avoid race condition while forwarding sticky events

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Mar 29 15:04:49 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=752213

--- Comment #30 from Miguel París Díaz <mparisdiaz at gmail.com> ---
Created attachment 324944
  --> https://bugzilla.gnome.org/attachment.cgi?id=324944&action=edit
tee: force Sticky event misordering

(In reply to Miguel París Díaz from comment #29)
> (In reply to Sebastian Dröge (slomo) from comment #26)
> > Miguel, can you test this one with your testcase? Thanks
> 
> It works fine, or at least I haven't found a way of breaking it ;).
> See the new patch following the idea of cookie please.

I think that with the solution based on cookies we can have "Sticky event
misordering" problems.
The race condition to see this is:
 1 - New src pad when the sink pad does not have any sticky event
 2 - Forward sticky events from sink pad to src pad (but there is not any
event)
 3 - The 'stream-start' event arrives to the sink pad (but it is not forwarded
to the src pad because it has not been added yet).
 4 - The src pad is added to the tee element.
 5 - The 'caps' event arrives to the sink pad and it is forwarded to the src
pad, so we have the 'Sticky event misordering' error (because the
'stream-start' haven't been forwarded from the chain function yet.

With the related patch I have forced the problem:
gstpad.c:5031:store_sticky_event:<tee3:src_1> Sticky event misordering, got
'caps' before 'stream-start'

Does this way of forcing this situation make sense?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list