diff options
author | Thibault Saunier <thibault.saunier@collabora.com> | 2011-11-23 16:45:46 -0300 |
---|---|---|
committer | Gwenole Beauchesne <gwenole.beauchesne@intel.com> | 2011-12-12 18:38:51 +0100 |
commit | e4d7e9056804796283905d71f95d2539f377024b (patch) | |
tree | c0724964c12968cbeef018c4c487dad06ba54cf5 /gst | |
parent | b014567502f789d9f466d677bdc87f44db4ea3e8 (diff) |
vaapisink: handle GstVideoOverlayComposition planes.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Diffstat (limited to 'gst')
-rw-r--r-- | gst/vaapi/gstvaapisink.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gst/vaapi/gstvaapisink.c b/gst/vaapi/gstvaapisink.c index c68a3ae6..d028358b 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); |