[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