gst/gstbin.c: Fix race for bins that simulate ASYNC state changes by inserting
authorWim Taymans <wim.taymans@gmail.com>
Mon, 4 Aug 2008 15:49:13 +0000 (15:49 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 4 Aug 2008 15:49:13 +0000 (15:49 +0000)
commit5665680537a1526e07da4e6f165ba9fa8a7eef79
tree79bfc6408b58c4dff856dfe56f00b8518f1c70b1
parent6d0ca73feac50b409b577f747ab79b2f3d56417b
gst/gstbin.c: Fix race for bins that simulate ASYNC state changes by inserting

Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_change_state_func), (bin_handle_async_done),
(gst_bin_handle_message_func):
Fix race for bins that simulate ASYNC state changes by inserting
ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
pending ASYNC messages even when the bin does not have ASYNC children.
We note detect this behaviour because we will receive an ASYNC message
that is originating from the bin itself.
Fixes races with decodebin2 state changes.
* tests/check/gst/gstbin.c: (GST_START_TEST):
Add some more debug.
ChangeLog
gst/gstbin.c
tests/check/gst/gstbin.c