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 759801 - gltestsrc outputs only black frames for pattern 0 and 11
gltestsrc outputs only black frames for pattern 0 and 11
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal critical
: 1.9.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-12-23 12:13 UTC by Nirbheek Chauhan
Modified: 2016-03-31 10:21 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Nirbheek Chauhan 2015-12-23 12:13:32 UTC
With git master, the following pipelines all show just a black screen instead of the correct pattern:

gst-launch-1.0 glsrcbin src="gltestsrc pattern=0" ! glimagesink
gst-launch-1.0 glsrcbin src="gltestsrc pattern=11" ! glimagesink

gst-launch-1.0 glsrcbin src="gltestsrc pattern=0" ! xvimagesink
gst-launch-1.0 glsrcbin src="gltestsrc pattern=11" ! xvimagesink

The following pipelines work just fine:

gst-launch-1.0 videotestsrc pattern=0 ! glimagesink
gst-launch-1.0 videotestsrc pattern=11 ! glimagesink

So, the problem is probably in gltestsrc.
Comment 1 Matthew Waters (ystreet00) 2015-12-27 23:26:26 UTC
pattern 11 (circular) has not been implemented in gltestsrc.

pattern 0 (smpte) showing black is a regression from 1.6
Comment 2 Reynaldo H. Verdejo Pinochet 2016-01-15 23:15:14 UTC
Seems to have been broken by:

commit 70be81ad922195edba469dface08637136edd4a9
Author: Matthew Waters <matthew@centricular.com>
Date:   Fri Oct 16 07:03:06 2015 +1100

    glimagesink: create a context in NULL_READY
Comment 3 Reynaldo H. Verdejo Pinochet 2016-01-15 23:17:06 UTC
Additionally, shouldn't we be bailing out for unsupported
patterns? or at the very least proceeding with the default?
Comment 4 Matthew Waters (ystreet00) 2016-01-29 21:45:43 UTC
That commit probably means glimagesink is creating the GL context before gltestsrc can say that it doesn't support GL3.

(In reply to Reynaldo H. Verdejo Pinochet from comment #3)
> Additionally, shouldn't we be bailing out for unsupported
> patterns? or at the very least proceeding with the default?

Sure, something should probably happen ;)
Comment 5 Tim-Philipp Müller 2016-02-17 00:36:31 UTC
Matthew, any idea how to fix it? :)
Comment 6 Matthew Waters (ystreet00) 2016-02-17 00:53:10 UTC
Last I knew, Reynaldo was looking into it and I gave him some pointers.
Comment 7 Reynaldo H. Verdejo Pinochet 2016-02-17 19:17:45 UTC
No I'm not working on the main issue here. I see two
separate problems:

A) Missing tests pattern implementations or prop-set failure
   paths for unsupported ones. I had this on my TODO but looks
   like most of it is handled by #751540

B) Wrong, gltestsrc-incompatible GL3 default on glimagesink
   chosen before proper negotiation can take place. This regression
   was introduced by Matthew with
   70be81ad922195edba469dface08637136edd4a9 "glimagesink: create a
   context in NULL_READY"

I'm keeping an eye on "A" but I'm not working on "B", the
actual bug. Maybe reverting the offending commit is enough?
Comment 8 Matthew Waters (ystreet00) 2016-02-19 09:32:25 UTC
Reverting the offending commit will break zerocopy on android so that's not an option.
Comment 9 Sebastian Dröge (slomo) 2016-02-22 08:22:51 UTC
Matthew, what should be done about this bug then? Any suggestions? :)
Comment 10 Matthew Waters (ystreet00) 2016-02-22 09:25:51 UTC
1. Error our properly when the requested api isn't available.
2. Port gltestsrc to GL3/GLES2

I don't really see it as a blocker for the release.
Comment 11 Sebastian Dröge (slomo) 2016-02-22 09:40:27 UTC
I was considering it a blocker because of comment 2 which suggests it's a regression. If it isn't, let's just ignore it for now until someone feels like fixing it :)
Comment 12 Matthew Waters (ystreet00) 2016-02-22 09:59:37 UTC
It is a regression but not one that's easy or beneficial to fix in the bitrotten gltestsrc.
Comment 13 Matthew Waters (ystreet00) 2016-02-22 10:00:09 UTC
commit 2d2878125ef17f140d15a5b44359cd2929901608
Author: Matthew Waters <matthew@centricular.com>
Date:   Mon Feb 22 20:49:52 2016 +1100

    gl: error out if the configured GL API is unsupported by our element
    
    https://bugzilla.gnome.org/show_bug.cgi?id=759801
Comment 14 Matthew Waters (ystreet00) 2016-03-31 10:20:07 UTC
commit d412d617c245a00d0340325670353f9cf6a7b7af
Author: Matthew Waters <matthew@centricular.com>
Date:   Fri Feb 26 12:02:15 2016 +1100

    gltestsrc: implement the circular method
    
    https://bugzilla.gnome.org/show_bug.cgi?id=759801
Comment 15 Matthew Waters (ystreet00) 2016-03-31 10:21:26 UTC
The rest is fixed by bug 751540