From e4d7e9056804796283905d71f95d2539f377024b Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Wed, 23 Nov 2011 16:45:46 -0300 Subject: [PATCH] vaapisink: handle GstVideoOverlayComposition planes. Signed-off-by: Gwenole Beauchesne --- gst/vaapi/gstvaapisink.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gst/vaapi/gstvaapisink.c b/gst/vaapi/gstvaapisink.c index c68a3ae..d028358 100644 --- a/gst/vaapi/gstvaapisink.c +++ b/gst/vaapi/gstvaapisink.c @@ -645,7 +645,7 @@ gst_vaapisink_show_frame_x11( ) { if (!gst_vaapi_window_put_surface(sink->window, surface, - NULL, &sink->display_rect, flags)) { + NULL, &sink->display_rect, flags)) { GST_DEBUG("could not render VA surface"); return FALSE; } @@ -660,6 +660,8 @@ gst_vaapisink_show_frame(GstBaseSink *base_sink, GstBuffer *buffer) GstVaapiSurface *surface; guint flags; gboolean success; + GstVideoOverlayComposition * const composition = + gst_video_buffer_get_overlay_composition(buffer); if (sink->display != gst_vaapi_video_buffer_get_display (vbuffer)) { if (sink->display) @@ -679,6 +681,9 @@ gst_vaapisink_show_frame(GstBaseSink *base_sink, GstBuffer *buffer) flags = GST_VAAPI_PICTURE_STRUCTURE_FRAME; + if (!gst_vaapi_surface_update_composition(surface, composition)) + GST_WARNING("could not update subtitles"); + #if USE_VAAPISINK_GLX if (sink->use_glx) success = gst_vaapisink_show_frame_glx(sink, surface, flags); -- 2.7.4