tests: fix state change order in aiffparse test
authorTim-Philipp Müller <tim@centricular.net>
Fri, 16 Aug 2013 23:09:18 +0000 (00:09 +0100)
committerTim-Philipp Müller <tim@centricular.net>
Fri, 16 Aug 2013 23:25:50 +0000 (00:25 +0100)
Do state changes from sink to src. Fixes race condition in
pull mode test where the source will start up and push buffers
to queue/identity or aiffparse before the main thread has
managed to set them to playing yet.

tests/check/elements/aiffparse.c

index 2d88e4925dd7653284c722627c31b6dea98c4811..9d61a99822fb6a9ba8d29925a624321664801310 100644 (file)
@@ -194,11 +194,11 @@ run_check (gboolean push_mode)
 
   GST_INFO ("Setting to PLAYING");
   gst_pad_set_active (sinkpad, TRUE);
-  fail_unless (gst_element_set_state (src,
+  fail_unless (gst_element_set_state (aiffparse,
           GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS);
   fail_unless (gst_element_set_state (sep,
           GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS);
-  fail_unless (gst_element_set_state (aiffparse,
+  fail_unless (gst_element_set_state (src,
           GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS);
 
   g_main_loop_run (loop);
@@ -206,10 +206,10 @@ run_check (gboolean push_mode)
   fail_unless (data_read == SSND_DATA_SIZE);
   fail_unless (push_mode || (have_tags == TRUE));
 
-  gst_element_set_state (src, GST_STATE_NULL);
-  gst_element_set_state (sep, GST_STATE_NULL);
-  gst_element_set_state (aiffparse, GST_STATE_NULL);
   gst_pad_set_active (sinkpad, FALSE);
+  gst_element_set_state (aiffparse, GST_STATE_NULL);
+  gst_element_set_state (sep, GST_STATE_NULL);
+  gst_element_set_state (src, GST_STATE_NULL);
 
   gst_object_unref (aiffparse);
   gst_object_unref (src);