mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
tests/check/gst/gstpipeline.c: Extending the test a little to verify that we also get the NULL state- change message.
Original commit message from CVS: * tests/check/gst/gstpipeline.c: Extending the test a little to verify that we also get the NULL state- change message.
This commit is contained in:
parent
d27de4372e
commit
6bb62a810a
2 changed files with 23 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-05-27 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* tests/check/gst/gstpipeline.c:
|
||||
Extending the test a little to verify that we also get the NULL state-
|
||||
change message.
|
||||
|
||||
2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
|
||||
|
||||
* gst/gstpreset.c: (gst_preset_default_get_meta),
|
||||
|
|
|
@ -65,13 +65,12 @@ GST_START_TEST (test_async_state_change_fake_ready)
|
|||
|
||||
GST_END_TEST;
|
||||
|
||||
|
||||
GST_START_TEST (test_async_state_change_fake)
|
||||
{
|
||||
GstPipeline *pipeline;
|
||||
GstElement *src, *sink;
|
||||
GstBus *bus;
|
||||
gboolean done = FALSE;
|
||||
gboolean done;
|
||||
|
||||
pipeline = GST_PIPELINE (gst_pipeline_new (NULL));
|
||||
fail_unless (pipeline != NULL, "Could not create pipeline");
|
||||
|
@ -87,6 +86,7 @@ GST_START_TEST (test_async_state_change_fake)
|
|||
fail_unless_equals_int (gst_element_set_state (GST_ELEMENT (pipeline),
|
||||
GST_STATE_PLAYING), GST_STATE_CHANGE_ASYNC);
|
||||
|
||||
done = FALSE;
|
||||
while (!done) {
|
||||
GstMessage *message;
|
||||
GstState old, new, pending;
|
||||
|
@ -104,6 +104,21 @@ GST_START_TEST (test_async_state_change_fake)
|
|||
fail_unless_equals_int (gst_element_set_state (GST_ELEMENT (pipeline),
|
||||
GST_STATE_NULL), GST_STATE_CHANGE_SUCCESS);
|
||||
|
||||
done = FALSE;
|
||||
while (!done) {
|
||||
GstMessage *message;
|
||||
GstState old, new, pending;
|
||||
|
||||
message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, -1);
|
||||
if (message) {
|
||||
gst_message_parse_state_changed (message, &old, &new, &pending);
|
||||
GST_DEBUG_OBJECT (message->src, "state change from %d to %d", old, new);
|
||||
if (message->src == GST_OBJECT (pipeline) && new == GST_STATE_NULL)
|
||||
done = TRUE;
|
||||
gst_message_unref (message);
|
||||
}
|
||||
}
|
||||
|
||||
gst_object_unref (bus);
|
||||
gst_object_unref (pipeline);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue