[vlc-commits] XCB/XVideo: reject hardware surfaces for the time being
Rémi Denis-Courmont
git at videolan.org
Sun Oct 5 21:44:09 CEST 2014
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Oct 5 22:38:44 2014 +0300| [47d7b5c0537f16a99ee224c2c75f4f41dd18415d] | committer: Rémi Denis-Courmont
XCB/XVideo: reject hardware surfaces for the time being
The core cannot blend subpictures to hardware surfaces. In principles,
blending could be performed post chroma conversion, but this is not
supported by the video output wrapper so far.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=47d7b5c0537f16a99ee224c2c75f4f41dd18415d
---
modules/video_output/xcb/xvideo.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/modules/video_output/xcb/xvideo.c b/modules/video_output/xcb/xvideo.c
index f3583c4..c7fc246 100644
--- a/modules/video_output/xcb/xvideo.c
+++ b/modules/video_output/xcb/xvideo.c
@@ -374,6 +374,14 @@ static int Open (vlc_object_t *obj)
if (!var_InheritBool (obj, "overlay"))
return VLC_EGENERIC;
+ else
+ { /* NOTE: Reject hardware surface formats. Blending would break. */
+ const vlc_chroma_description_t *chroma =
+ vlc_fourcc_GetChromaDescription(vd->source.i_chroma);
+ if (chroma != NULL && chroma->plane_count == 0)
+ return VLC_EGENERIC;
+ }
+
p_sys = malloc (sizeof (*p_sys));
if (p_sys == NULL)
return VLC_ENOMEM;
More information about the vlc-commits
mailing list