GNOME Bugzilla – Bug 759801
gltestsrc outputs only black frames for pattern 0 and 11
Last modified: 2016-03-31 10:21:26 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.
pattern 11 (circular) has not been implemented in gltestsrc. pattern 0 (smpte) showing black is a regression from 1.6
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
Additionally, shouldn't we be bailing out for unsupported patterns? or at the very least proceeding with the default?
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 ;)
Matthew, any idea how to fix it? :)
Last I knew, Reynaldo was looking into it and I gave him some pointers.
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?
Reverting the offending commit will break zerocopy on android so that's not an option.
Matthew, what should be done about this bug then? Any suggestions? :)
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.
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 :)
It is a regression but not one that's easy or beneficial to fix in the bitrotten gltestsrc.
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
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
The rest is fixed by bug 751540