After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 580120 - [playbin2] unit test fails
[playbin2] unit test fails
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-04-24 14:08 UTC by Wim Taymans
Modified: 2011-03-28 00:35 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Wim Taymans 2009-04-24 14:08:42 UTC
The playbin2 unit test fails in -base with a race condition.

The reason is that the unit tests uses a custom source that provides raw video on an always source pad. Playbin2 continues autoplugging and exposing the pads in the state change to READY, resulting in the source to be set to PAUSED before the sinks had a chance to got to PAUSED too. This causes a wrong-state return, which stops everything.

We need to add more code to playbin2 to handle this (uncommon) case.

For the release I would suggest to disable the test.
Comment 1 Jan Schmidt 2009-04-24 14:28:35 UTC
I'm a bit worried that this also represents a race present when playing audio
CD's - needs testing whether it's actually a problem in practice. If we can't easily fix it for this release, then we should at least disable the test to avoid confusion.
Comment 2 Jan Schmidt 2009-04-24 14:56:02 UTC
After testing extensively for, oh several minutes now, I don't seem to have any problems with cdda://, so I think it is OK to just disable the test.
Comment 3 Jan Schmidt 2009-04-24 17:17:09 UTC
Disabled the test in git. I'll remove the blocker mark, but leave this bug open for fixing after the release.
Comment 4 Stefan Sauer (gstreamer, gtkdoc dev) 2011-03-27 20:29:49 UTC
Hmm, git log tests/check/elements/playbin2.c doesn't show a commit that would disable a test. The only commit from Jan was this one:

commit 2f01e624f56477497f6f428c94ca5fef7955031e
Author: Jan Schmidt <thaytan@noraisin.net>
Date:   Thu Apr 16 00:31:00 2009 +0100

    check: Fix the input uri in playbin2 test.
    
    Don't try and use a random file in wim's home directory as a test input

Then there is also this one:

commit b326b77ffa0f35bed191586ba727e99d93f680b2
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Mon Feb 15 08:28:24 2010 +0100

    playbin2: Enable all unit tests
    
    They're all working and valgrind clean now.

Can we close this bug?
Comment 5 Jan Schmidt 2011-03-28 00:35:58 UTC
It was:

commit e25f281de803d971139ea2ff04f34caf3402c9cc
Author: Jan Schmidt <thaytan@noraisin.net>
Date:   Fri Apr 24 18:13:00 2009 +0100

    check: Disable the playbin2 for this release, as it is a bit racy.
    
    Disable the test, as per the discussion in #580120. Needs re-enabling
    after the release, when playbin2 is fixed.

and later re-renabled:

commit b029c30aa09ae88b48e777f6444343830695ea4a
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Sun Feb 14 23:10:06 2010 +0100

    playbin2: Enable playbin2 unit test
    
    It now contains a single working unit test and can be enabled.
    The other more useful unit tests still need fixing.

Marking as fixed.