summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorThibault Saunier <thibault.saunier@collabora.com>2011-11-23 16:45:46 -0300
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2011-12-12 18:38:51 +0100
commite4d7e9056804796283905d71f95d2539f377024b (patch)
treec0724964c12968cbeef018c4c487dad06ba54cf5 /gst
parentb014567502f789d9f466d677bdc87f44db4ea3e8 (diff)
vaapisink: handle GstVideoOverlayComposition planes.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Diffstat (limited to 'gst')
-rw-r--r--gst/vaapi/gstvaapisink.c7
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);