check/: Small state change torture test.
authorWim Taymans <wim.taymans@gmail.com>
Tue, 18 Oct 2005 17:06:29 +0000 (17:06 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Tue, 18 Oct 2005 17:06:29 +0000 (17:06 +0000)
commit1cef8c5b5a5231dd9dcdf20bb0e8214f10236cbc
tree58a85a946d31da5a96d2cf9ecf40f551a1fdce11
parent0176d5a0cf5e3f87afbb8b73c27f81af3288f5a9
check/: Small state change torture test.

Original commit message from CVS:
* check/Makefile.am:
* check/pipelines/stress.c: (GST_START_TEST),
(simple_launch_lines_suite), (main):
Small state change torture test.

* docs/design/part-states.txt:
* gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
(gst_base_sink_change_state):
Never take state lock from streaming thread, clean up ugly
hacks. Unfortunatly core does not yet support nice ways to
async commit state.

* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
(bin_bus_handler):
Start state recalc if a STATE_DIRTY message is posted, but only
on the toplevel bin.

* gst/gstelement.c: (gst_element_sync_state_with_parent),
(gst_element_get_state_func), (gst_element_abort_state),
(gst_element_commit_state), (gst_element_lost_state),
(gst_element_set_state_func), (gst_element_change_state):
* gst/gstelement.h:
State variables are now protected with the LOCK, the state
lock is only used to serialize _set_state().
ChangeLog
check/Makefile.am
check/pipelines/stress.c [new file with mode: 0644]
docs/design/part-states.txt
gst/base/gstbasesink.c
gst/gstbin.c
gst/gstelement.c
gst/gstelement.h
libs/gst/base/gstbasesink.c
tests/check/Makefile.am
tests/check/pipelines/stress.c [new file with mode: 0644]