GNOME Bugzilla – Bug 750095
vaapisink does not advertise composition meta
Last modified: 2015-06-17 11:29:32 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
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.
Based on that, the patch looks fine except that it requires proper GStreamer version guards then. i.e. when did GstVideoOverlayCompositionMeta capsfeature appear?
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>
Aha, This patch introduced issues in some autoplug scenarios. Reopening...
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