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 750095 - vaapisink does not advertise composition meta
vaapisink does not advertise composition meta
Status: RESOLVED FIXED
Product: gstreamer-vaapi
Classification: Other
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
Depends on:
Blocks: 743569
 
 
Reported: 2015-05-29 10:58 UTC by adrian
Modified: 2015-06-17 11:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to advertise composition meta feature (1.18 KB, patch)
2015-05-29 10:58 UTC, adrian
committed Details | Review

Description adrian 2015-05-29 10:58:29 UTC
Created attachment 304234 [details] [review]
Patch to advertise composition meta feature

vaapisink can handle GstVideoOverlayCompositionMeta, but does not advertise the capability on its sink. dvbsuboverlay interrogates the sink caps before using composition meta. Without this patch, dvbsuboverlay falls back to blending the subtitles, which fails on VA Surface frames created by vaapidecode.

This is part of https://bugzilla.gnome.org/show_bug.cgi?id=678389
Comment 1 Víctor Manuel Jáquez Leal 2015-06-01 15:10:30 UTC
Bringing comments from https://github.com/01org/gstreamer-vaapi/pull/3

Adrian:
> Me:
>> It is weird for me 1) that no other sink in gstreamer advertise that meta in 
>> their caps and 2) vaapisink can handle, for example pango rendered subtitles 
>> with overlay composition.
>
> I think cluttersink has started to advertise that meta. The difference is that
> dvbsuboverlay contains code to interrogate the sink, and changes behaviour 
> based on what is advertised.
Comment 2 Gwenole Beauchesne 2015-06-08 12:09:20 UTC
Based on that, the patch looks fine except that it requires proper GStreamer version guards then. i.e. when did GstVideoOverlayCompositionMeta capsfeature appear?
Comment 3 sreerenj 2015-06-17 09:45:33 UTC
Review of attachment 304234 [details] [review]:

Pushed with minor changes, Thanks for the patch.

commit 64acc74d1795c3f5cadddc550e5d4c77257a878d
Author: Adrian Cox <adrian@humboldt.co.uk>
Date:   Wed Jun 17 12:41:28 2015 +0300

    vaapisink: Expose the overlay capability for compatibility with dvbsuboverlay.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=750095
    
    Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
    Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Comment 4 sreerenj 2015-06-17 10:32:32 UTC
Aha, This patch introduced issues in some autoplug scenarios. 
Reopening...
Comment 5 sreerenj 2015-06-17 11:29:32 UTC
commit 28e50ad40788735bcfaa0d5f33abcd942d678b09
Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Date:   Wed Jun 17 14:20:37 2015 +0300

    vaapisink: Fix the capsfeature advertisement in padtemplate
    
    This fixes the regression introduced in 64acc74.
    
    If a pad supports multiple set of capsfeatures, it needs to add
    multiple equal structures with different feature sets to the caps.
    Because caps structures with the same name but with a non-equal
    set of caps features are not compatible.
    
    Without this patch, playbin will autoplug xvimagesink instead of vaapisink.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=750095