[Bug 698410] Adder: Can not send flush_start and flush_stop in a row
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Sat Apr 27 09:52:51 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=698410
GStreamer | gst-plugins-base | 1.x
--- Comment #9 from Thibault Saunier <thibault.saunier at collabora.com> 2013-04-27 16:52:48 UTC ---
OK so I investigated and the race is the following:
In the test: We send the flush_start
Thread 1: The adder sinkpads receives it and set the flush_stop_pending to TRUE
Thread 2: The adder has received buffers on all its sinkpads so collectpad
calls gst_adder_collected, flush_stop_pending is set to TRUE so it creates and
sends a flush_stop event on adder.src and sets flush_stop_pending to FALSE
> adder.src.flushing = FALSE
Thread 1: We finaly send our flush_start event downstream
> adder.src.flushing = TRUE
In the test: We send flush_stop
Thread 1 - Adder detects that flush_stop_pending is FALSE so it "eats" the
event
I do not really get how that should be fixed without using plain locks, any
guess?
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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