check: Update tests for new STREAM_START message
authorEdward Hervey <edward.hervey@collabora.co.uk>
Mon, 9 Jul 2012 18:29:29 +0000 (20:29 +0200)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Mon, 9 Jul 2012 18:31:45 +0000 (20:31 +0200)
tests/check/gst/gstbin.c
tests/check/gst/gstparamspecs.c
tests/check/pipelines/cleanup.c
tests/check/pipelines/simple-launch-lines.c

index bbd542c..9a146ab 100644 (file)
@@ -418,7 +418,12 @@ GST_START_TEST (test_message_state_changed_children)
   ASSERT_OBJECT_REFCOUNT (sink, "sink", 1);
   ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 1);
 
-  /* change state to PAUSED, spawning three messages */
+  /* change state to PAUSED, spawning four messages */
+  /* STATE_CHANGED (NULL => READY)
+   * STREAM_START
+   * ASYNC_DONE
+   * STATE_CHANGED (READY => PAUSED)
+   */
   GST_DEBUG ("setting pipeline to PAUSED");
   ret = gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PAUSED);
   fail_unless (ret == GST_STATE_CHANGE_ASYNC);
@@ -431,9 +436,9 @@ GST_START_TEST (test_message_state_changed_children)
 
   /* wait for async thread to settle down */
   GST_DEBUG ("waiting for refcount");
-  while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 3)
+  while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 4)
     THREAD_SWITCH ();
-  GST_DEBUG ("refcount <= 3 now");
+  GST_DEBUG ("refcount <= 4 now");
 
   /* each object is referenced by a message;
    * base_src is blocked in the push and has an extra refcount.
@@ -444,9 +449,9 @@ GST_START_TEST (test_message_state_changed_children)
   /* refcount can be 4 if the bin is still processing the async_done message of
    * the sink. */
   ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 2, 3);
-  /* 2 or 3 is valid, because the pipeline might still be posting 
+  /* 3 or 4 is valid, because the pipeline might still be posting 
    * its state_change message */
-  ASSERT_OBJECT_REFCOUNT_BETWEEN (pipeline, "pipeline", 2, 3);
+  ASSERT_OBJECT_REFCOUNT_BETWEEN (pipeline, "pipeline", 3, 4);
 
   pop_messages (bus, 3);
   pop_async_done (bus);
index c6d3024..5db7408 100644 (file)
@@ -54,7 +54,8 @@ gst_dummy_obj_class_init (GstDummyObjClass * klass)
       /* default value is out of bounds, should print a warning */
       g_object_class_install_property (gobject_class, 1,
           gst_param_spec_fraction ("ratio", "ratio", "ratio", 0, 1, 2, 1,
-              16, 4, G_PARAM_READWRITE)););
+              16, 4, G_PARAM_READWRITE));
+      );
 
   /* should be within bounds */
   g_object_class_install_property (gobject_class, 2,
index 4c7232a..ffab6ec 100644 (file)
@@ -91,7 +91,8 @@ GST_START_TEST (test_pipeline_unref)
 
   run_pipeline (pipeline, s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_EOS);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
   while (GST_OBJECT_REFCOUNT_VALUE (src) > 1)
     THREAD_SWITCH ();
   ASSERT_OBJECT_REFCOUNT (src, "src", 1);
index fb72a2f..0a56563 100644 (file)
@@ -102,28 +102,32 @@ GST_START_TEST (test_2_elements)
   s = "fakesrc can-activate-push=false ! fakesink can-activate-pull=true";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=true ! fakesink can-activate-pull=false";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=false num-buffers=10 ! fakesink can-activate-pull=true";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_EOS);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=true num-buffers=10 ! fakesink can-activate-pull=false";
   run_pipeline (setup_pipeline (s), s,
       GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE, GST_MESSAGE_EOS);
+      GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=false ! fakesink can-activate-pull=false";
   ASSERT_CRITICAL (run_pipeline (setup_pipeline (s), s,
           GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
-          GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE,
-          GST_MESSAGE_UNKNOWN));
+          GST_MESSAGE_STREAM_STATUS | GST_MESSAGE_ASYNC_DONE |
+          GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN));
 }
 
 GST_END_TEST;
@@ -192,45 +196,51 @@ GST_START_TEST (test_tee)
 
   s = "fakesrc can-activate-push=true ! tee ! fakesink can-activate-push=true";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=true num-buffers=10 ! tee ! fakesink can-activate-push=true";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_EOS);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=false can-activate-pull=true ! tee ! fakesink can-activate-pull=true";
   ASSERT_CRITICAL (run_pipeline (setup_pipeline (s), s,
-          GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED,
-          GST_MESSAGE_UNKNOWN));
+          GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+          GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN));
 
   s = "fakesrc can-activate-push=false can-activate-pull=true "
       "! tee pull-mode=single ! fakesink can-activate-pull=true";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=false can-activate-pull=true num-buffers=10 "
       "! tee pull-mode=single ! fakesink can-activate-pull=true";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_EOS);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 
   s = "fakesrc can-activate-push=false can-activate-pull=true "
       "! tee name=t pull-mode=single ! fakesink can-activate-pull=true "
       "t. ! queue ! fakesink can-activate-pull=true can-activate-push=false";
   ASSERT_CRITICAL (run_pipeline (setup_pipeline (s), s,
-          GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED,
-          GST_MESSAGE_UNKNOWN));
+          GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+          GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN));
 
   s = "fakesrc can-activate-push=false can-activate-pull=true "
       "! tee name=t pull-mode=single ! fakesink can-activate-pull=true "
       "t. ! queue ! fakesink";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_UNKNOWN);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_UNKNOWN);
 
   s = "fakesrc can-activate-push=false can-activate-pull=true num-buffers=10 "
       "! tee name=t pull-mode=single ! fakesink can-activate-pull=true "
       "t. ! queue ! fakesink";
   run_pipeline (setup_pipeline (s), s,
-      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED, GST_MESSAGE_EOS);
+      GST_MESSAGE_NEW_CLOCK | GST_MESSAGE_STATE_CHANGED |
+      GST_MESSAGE_STREAM_START, GST_MESSAGE_EOS);
 }
 
 GST_END_TEST;