ASYNC_DONE message is dropped leading to hanging application
Submitted by Joakim Johansson
Link to original bug (#796737)
Description
Created attachment 372914
Problem with ASYNC_DONE
The ASYNC_DONE message is dropped in gstbin in this scenario. (for more detailed information, see attached sequence)
If change_state is executing at the same time as ASYNC_START is received then is the "polling" flag indicating that gstbin is busy with a state change and the PENDING state is not set but the ASYNC_START message is posted.
But when the ASYNC_DONE is handled, then is pending == VOID_PENDING (initial value received when creating the pipeline) and the ASYNC_DONE is dropped leaving the application hanging.
This might be the same problem as reported in #740121
and I don't have a solution for the problem that is working.
Attachment 372914, "Problem with ASYNC_DONE":