[Bug 796737] ASYNC_DONE message is dropped leading to hanging application
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Jul 9 13:36:54 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=796737
--- Comment #4 from Joakim Johansson <Joakim.Johansson at axis.com> ---
Well, I do not know about other test scenarios but in this scenario is it not
the normal case where pending == VOID_PENDING when handling async_done.
Normally is the transition not finished, in my case is the state PAUSED when
the async_done is received from the gstbasesink.
So normally is async_done sent but if we have had this race condition where the
polling flag was set when receiving async_start then do we sometimes (~1/20)
get the async_done in VOID_PENDING instead of PAUSED.
As I have said, I have run this code successfully 1 million times but then
again, I do not think that our application would get into a problem if we
receive two ASYNC_DONE messages.
I understand your concern and perhaps could we add some code to the patch that
make it a little bit more sure that this is the buggy case by adding a new flag
was_busy that is set when async_start is received and polling=true or state !=
VOID_PENDING.
And only send the ASYNC_DONE if nothing_pending AND was_busy = TRUE.
--
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