GNOME Bugzilla – Bug 763756
gl ! textoverlay ! glupload ! glfilter doesn't negotiate
Last modified: 2016-03-16 16:12:00 UTC
Two problems: 1. glupload doesn't like the ANY caps feature when attempting to passthrough the compotision meta caps feature. I have a patch for this 2. glfilter doesn't allow any extra caps features to be added to the caps and unconditionally sets the features to GLMemory features.
Created attachment 324107 [details] [review] glupload: deal with the ANY caps features correctly
Created attachment 324110 [details] [review] glfilter: only allow the same src/sink caps when we are in passthrough This, I'm not entirely sure about. While textoverlay ! glcolorbalance ! glimagesinkelement will now work, changing any of the glcolorbalance properties so it's not in passthrough anymore will fail negotiating unless you add glupload/gldownload around textoverlay which will admittedly go (non-)passthrough as required. The other concern is how this interacts with transform_ip_on_passthrough although we don't currently have any gl elements that do that so tests for that are non-existent.
commit 200767ba0eeca9b81ec0341ce477ea19b837f46b Author: Matthew Waters <matthew@centricular.com> Date: Thu Mar 17 01:52:00 2016 +1100 glfilter: only allow the same src/sink caps when we are in passthrough mode If we are given caps with extra features (like the overlay composition features), we can only deal with that when we are in passthrough mode. Previously we were bailing entirely and not allowing passthrough filter elements with things like textoverlay. Fixes the following pipeline (assuming glfilter supports passthrough): gl ! textoverlay ! glfilter ! ... ! glimagesinkelement https://bugzilla.gnome.org/show_bug.cgi?id=763756 commit 993ec87ae6f19f189938bc7cd97a928fec70a2f8 Author: Matthew Waters <matthew@centricular.com> Date: Wed Mar 16 22:48:00 2016 +1100 glupload: deal with the ANY caps feature correctly When transforming, xplode it out into the necessary caps features both with and without the passthough features. Fixes negotiation in the following class of pipelines: gl ! textoverlay ! glupload ! glimagesinkelement https://bugzilla.gnome.org/show_bug.cgi?id=763756