[Bug 683794] New: tests: decodebin test_reuse_without_decoders sometimes fails with not-negotiated error on bus

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Sep 11 04:46:57 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=683794
  GStreamer | gst-plugins-base | 0.11.x

           Summary: tests: decodebin test_reuse_without_decoders sometimes
                    fails with not-negotiated error on bus
    Classification: Platform
           Product: GStreamer
           Version: 0.11.x
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: t.i.m at zen.co.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


-base/tests/check $ GST_CHECKS=test_reuse_without_decoders make
elements/decodebin.forever
....
Running suite(s): decodebin
0%: Checks: 1, Failures: 1, Errors: 0
elements/decodebin.c:195:F:general:test_reuse_without_decoders:0: Failure
'gst_bus_poll (GST_ELEMENT_BUS (pipe), GST_MESSAGE_ERROR, 0) != NULL' occured


Not sure what the deal with this is. At first I thought it was a race with the
async-done being posted and the main thread shutting down the pipeline, but
that shouldn't really be the case, because the fakesink is plugged into the
pipeline and posts an async-start before decodebin sends its own async-done, so
the pipeline-global async-done is ok as far as I can tell, also according to
the logs.

Possibly something doesn't get cleaned up or reset properly somewhere, since
this change:

tpm at zingle:~/gst/0.11/gst-plugins-base/tests/check$ git diff
elements/decodebin.c
diff --git a/tests/check/elements/decodebin.c
b/tests/check/elements/decodebin.c
index 26b14bd..ce59f25 100644
--- a/tests/check/elements/decodebin.c
+++ b/tests/check/elements/decodebin.c
@@ -172,7 +172,7 @@ GST_START_TEST (test_reuse_without_decoders)
   GST_DEBUG ("Resetting pipeline");

   /* reset */
-  gst_element_set_state (pipe, GST_STATE_READY);
+  gst_element_set_state (pipe, GST_STATE_NULL);

   sink = gst_bin_get_by_name (GST_BIN (pipe), "sink");
   gst_bin_remove (GST_BIN (pipe), sink);

makes it always work fine for me.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list