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 610025 - Position query failed in WebKitGTK+'s test media/audio-delete-while-slider-thumb-clicked.html
Position query failed in WebKitGTK+'s test media/audio-delete-while-slider-th...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.26
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-02-15 18:53 UTC by Gustavo Noronha (kov)
Modified: 2010-12-30 14:27 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Gustavo Noronha (kov) 2010-02-15 18:53:49 UTC
This test also stops passing when upgrading to 0.10.26. I'll upload failing, and passing logs, too. This test makes sure that if you're dragging the position slider when the audio element is deleted, that the grab is not held.
Comment 2 Tim-Philipp Müller 2010-02-16 10:17:40 UTC
Marking as blocker and moving to -base for now so we don't forget about this. Should have a look at this before the release if possible.
Comment 3 Sebastian Dröge (slomo) 2010-02-22 19:14:22 UTC
Is there some way to reproduce this? Or some way to run this test easily? :)
Comment 4 Tim-Philipp Müller 2010-02-22 19:43:59 UTC
Gustavo: could you phrase the test failure in GStreamer terms somehow?

What is the pipeline being tested exactly? (presumably playbin2?)

And what is it that fails or changed behaviour on the GStreamer side exactly?
Comment 5 Gustavo Noronha (kov) 2010-02-22 20:15:03 UTC
(In reply to comment #4)
> Gustavo: could you phrase the test failure in GStreamer terms somehow?

I think Sebatian or Philippe might be able to dive in a bit more, and provide more detail. My understanding of GStreamer is far more limited than theirs.

> What is the pipeline being tested exactly? (presumably playbin2?)

playbin2 with a custom source (written by Sebastian), and a custom video sink that paints the frames to a cairo surface (written a long time ago by Alp, and Pier-luc, I belive, and poked by me, slomo, and philn)

> And what is it that fails or changed behaviour on the GStreamer side exactly?

The only information I have myself are the logs I posted. They are taken from my machine, with the new version of GStreamer packages installed for the failing ones, and then with the old versions installed again, for the passing one.

Here's how you can run one single test yourselves: first of all clone this git repository: git://gitorious.org/qtwebkit/testfonts.git

Then export the WEBKIT_TESTFONTS variable to its full path.

Run ./Programs/DumpRenderTree -

Then paste the full path to the test file in its stdin (/home/kov/src/WebKit/LayoutTests/media/audio-delete-while-slider-thumb-clicked.html here).

The DumpRenderTree path above is from a custom built WebKit, but I think you can likely get away with checking out just that directory off the svn server, and using the DumpRenderTree that is installed by your WebKit package, if your distro ships it (/usr/lib/webkit-1.0-2/libexec/DumpRenderTree in Debian). You'll see something like this:

/home/kov/src/WebKit/LayoutTests/media/audio-data-url.html
Test that audio element can use a data: url

EVENT(loadstart)
EVENT(durationchange)
EVENT(loadedmetadata)
EVENT(loadeddata)
EVENT(canplay)
EVENT(canplaythrough)
EXPECTED (mediaElement.duration.toFixed(2) == '2.94'), OBSERVED 'Infinity' FAIL
END OF TEST

So in this case (this is audio-data-url.html), the duration was queried and returned an unexpected value, but it seems to be caused by the audio sink being considered not available. Both tests do not seem to be fully reproducible in my machine, but they are 100% not reproducible with the previous version of GST.
Comment 6 Philippe Normand 2010-02-23 09:49:48 UTC
Well I can't reproduce the test failure here with current gst git, on 32/64 release/debug builds either with pulse or alsa sinks :(

Gustavo, this bug is about media/audio-delete-while-slider-thumb-clicked.html, not about data-url ;)
Comment 7 Gustavo Noronha (kov) 2010-02-23 17:21:52 UTC
(In reply to comment #6)
> Well I can't reproduce the test failure here with current gst git, on 32/64
> release/debug builds either with pulse or alsa sinks :(
> 
> Gustavo, this bug is about media/audio-delete-while-slider-thumb-clicked.html,
> not about data-url ;)

I know, but the test used to explain running one test doesn't matter, does it?
Comment 8 Tim-Philipp Müller 2010-03-01 10:25:52 UTC
Still no idea what the actual problem is in GStreamer terms, and Phil can't reproduce it locally, and no one seems to be working on this, so un-marking as blocker.
Comment 9 Thiago Sousa Santos 2010-03-01 19:40:18 UTC
Just run this command, here's the output:

thiagoss@karmic32:~$ /usr/lib/webkit-1.0-2/libexec/DumpRenderTree -
** (DumpRenderTree:4646): DEBUG: NP_Initialize
** (DumpRenderTree:4646): DEBUG: NP_Initialize succeeded
** (DumpRenderTree:4646): DEBUG: NP_Initialize
** (DumpRenderTree:4646): DEBUG: NP_Initialize succeeded
** (DumpRenderTree:4646): DEBUG: NP_Initialize
** (DumpRenderTree:4646): DEBUG: NP_Initialize succeeded
** (DumpRenderTree:4646): DEBUG: NP_Initialize
** (DumpRenderTree:4646): DEBUG: NP_Initialize succeeded
/home/thiagoss/devel/WebKit/LayoutTests/media/audio-data-url.html
Test that audio element can use a data: url

EVENT(loadstart)
EVENT(durationchange)
EVENT(loadedmetadata)
EVENT(loadeddata)
EVENT(canplay)
EVENT(canplaythrough)
EXPECTED (mediaElement.duration.toFixed(2) == '2.94') OK
END OF TEST

#EOF
#EOF
#EOF



I guess it didn't fail for me.
Comment 10 Thiago Sousa Santos 2010-03-01 20:04:19 UTC
heh, apparently I used the wrong file :P

Here is the correct one. I guess this one fails.

thiagoss@karmic32:~/gst/head$ /usr/lib/webkit-1.0-2/libexec/DumpRenderTree -
** (DumpRenderTree:15065): DEBUG: NP_Initialize
** (DumpRenderTree:15065): DEBUG: NP_Initialize succeeded
** (DumpRenderTree:15065): DEBUG: NP_Initialize
** (DumpRenderTree:15065): DEBUG: NP_Initialize succeeded
** (DumpRenderTree:15065): DEBUG: NP_Initialize
** (DumpRenderTree:15065): DEBUG: NP_Initialize succeeded
** (DumpRenderTree:15065): DEBUG: NP_Initialize
** (DumpRenderTree:15065): DEBUG: NP_Initialize succeeded
/home/thiagoss/devel/WebKit/LayoutTests/media/audio-delete-while-slider-thumb-clicked.html
FAIL: Timed out waiting for notifyDone to be called
FAIL: Timed out waiting for notifyDone to be called
This tests that events don't continue to target a slider thumb if the media element is deleted while scrubbing. 
 



#EOF
#EOF
#EOF
Comment 11 Gustavo Noronha (kov) 2010-03-01 20:11:59 UTC
(In reply to comment #9)
> EXPECTED (mediaElement.duration.toFixed(2) == '2.94') OK
> END OF TEST

This one seems to be racy, it works for me, from time to time, too, but it failed consistently on the bot.
Comment 12 Gustavo Noronha (kov) 2010-03-02 14:57:13 UTC
Bisecting gst-plugins-base, this seems to be the commit that causes this problem:

commit af34d2c1f8c70c9e02d0621a5b72003164fba759
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Wed Nov 18 09:22:39 2009 +0100

    playbin2: Don't handle DURATION queries during group switches
    
    During a group switch return the cached duration of the old group
    because the old group still didn't finish playback. If we have no
    cached duration return FALSE.
    
    Fixes bug #585969.

I was going to also try reverting it on top of master to see if the problem would go away there, but I got a bunch of conflicts, and gave up.
Comment 13 Tobias Mueller 2010-08-20 03:52:51 UTC
Reopening as I think the requested information has been provided.
Comment 14 Philippe Normand 2010-12-30 14:17:42 UTC
I just unskipped the test on the WebKitGTK buildslaves that have latest GStreamer release. No failure so far, can this bug be closed?
Comment 15 Sebastian Dröge (slomo) 2010-12-30 14:27:13 UTC
Probably, please reopen otherwise.