)
{
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;
}
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)
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);