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 763756 - gl ! textoverlay ! glupload ! glfilter doesn't negotiate
gl ! textoverlay ! glupload ! glfilter doesn't negotiate
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal blocker
: 1.8.0
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-03-16 14:52 UTC by Matthew Waters (ystreet00)
Modified: 2016-03-16 16:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
glupload: deal with the ANY caps features correctly (4.48 KB, patch)
2016-03-16 15:00 UTC, Matthew Waters (ystreet00)
committed Details | Review
glfilter: only allow the same src/sink caps when we are in passthrough (3.25 KB, patch)
2016-03-16 15:11 UTC, Matthew Waters (ystreet00)
committed Details | Review

Description Matthew Waters (ystreet00) 2016-03-16 14:52:57 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.
Comment 1 Matthew Waters (ystreet00) 2016-03-16 15:00:29 UTC
Created attachment 324107 [details] [review]
glupload: deal with the ANY caps features correctly
Comment 2 Matthew Waters (ystreet00) 2016-03-16 15:11:10 UTC
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.
Comment 3 Matthew Waters (ystreet00) 2016-03-16 16:11:37 UTC
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