vaapisink: handle GstVideoOverlayComposition planes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
This commit is contained in:
Thibault Saunier 2011-11-23 16:45:46 -03:00 committed by Gwenole Beauchesne
parent b014567502
commit e4d7e90568

View file

@ -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);