mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +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>
|
2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
|
||||||
|
|
||||||
* gst/gstpreset.c: (gst_preset_default_get_meta),
|
* 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_END_TEST;
|
||||||
|
|
||||||
|
|
||||||
GST_START_TEST (test_async_state_change_fake)
|
GST_START_TEST (test_async_state_change_fake)
|
||||||
{
|
{
|
||||||
GstPipeline *pipeline;
|
GstPipeline *pipeline;
|
||||||
GstElement *src, *sink;
|
GstElement *src, *sink;
|
||||||
GstBus *bus;
|
GstBus *bus;
|
||||||
gboolean done = FALSE;
|
gboolean done;
|
||||||
|
|
||||||
pipeline = GST_PIPELINE (gst_pipeline_new (NULL));
|
pipeline = GST_PIPELINE (gst_pipeline_new (NULL));
|
||||||
fail_unless (pipeline != NULL, "Could not create pipeline");
|
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),
|
fail_unless_equals_int (gst_element_set_state (GST_ELEMENT (pipeline),
|
||||||
GST_STATE_PLAYING), GST_STATE_CHANGE_ASYNC);
|
GST_STATE_PLAYING), GST_STATE_CHANGE_ASYNC);
|
||||||
|
|
||||||
|
done = FALSE;
|
||||||
while (!done) {
|
while (!done) {
|
||||||
GstMessage *message;
|
GstMessage *message;
|
||||||
GstState old, new, pending;
|
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),
|
fail_unless_equals_int (gst_element_set_state (GST_ELEMENT (pipeline),
|
||||||
GST_STATE_NULL), GST_STATE_CHANGE_SUCCESS);
|
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 (bus);
|
||||||
gst_object_unref (pipeline);
|
gst_object_unref (pipeline);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue