tests: funnel: remove state change from stress tests
authorThiago Santos <thiagoss@osg.samsung.com>
Thu, 19 Nov 2015 18:33:06 +0000 (15:33 -0300)
committerThiago Santos <thiagoss@osg.samsung.com>
Fri, 4 Dec 2015 20:26:02 +0000 (17:26 -0300)
Changing states up and down while buffers are being pushed is not
a valid use case. If a pad is deactivated and reactivated during
a buffer push it is racy with the check of pushed sticky events
and the actual chainfunction call. As it might call the chain
without noticing the peer pad lost its previous sticky events.

https://bugzilla.gnome.org/show_bug.cgi?id=758340

tests/check/elements/funnel.c

index fa64a3a..af56d54 100644 (file)
@@ -377,16 +377,16 @@ GST_START_TEST (test_funnel_stress)
 {
   GstHarness *h0 = gst_harness_new_with_padnames ("funnel", "sink_0", "src");
   GstHarness *h1 = gst_harness_new_with_element (h0->element, "sink_1", NULL);
-  GstHarnessThread *state, *req, *push0, *push1;
-  GstPadTemplate *templ = gst_element_class_get_pad_template (
-      GST_ELEMENT_GET_CLASS (h0->element), "sink_%u");
+  GstHarnessThread *req, *push0, *push1;
+  GstPadTemplate *templ =
+      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (h0->element),
+      "sink_%u");
   GstCaps *caps = gst_caps_from_string ("testcaps");
   GstBuffer *buf = gst_buffer_new ();
   GstSegment segment;
 
   gst_segment_init (&segment, GST_FORMAT_TIME);
 
-  state = gst_harness_stress_statechange_start (h0);
   req = gst_harness_stress_requestpad_start (h0, templ, NULL, NULL, TRUE);
   push0 = gst_harness_stress_push_buffer_start (h0, caps, &segment, buf);
   push1 = gst_harness_stress_push_buffer_start (h1, caps, &segment, buf);
@@ -400,7 +400,6 @@ GST_START_TEST (test_funnel_stress)
   gst_harness_stress_thread_stop (push1);
   gst_harness_stress_thread_stop (push0);
   gst_harness_stress_thread_stop (req);
-  gst_harness_stress_thread_stop (state);
 
   gst_harness_teardown (h1);
   gst_harness_teardown (h0);