mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-19 12:45:54 +00:00
vaapisink: handle GstVideoOverlayComposition planes.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
This commit is contained in:
parent
b014567502
commit
e4d7e90568
1 changed files with 6 additions and 1 deletions
|
@ -645,7 +645,7 @@ gst_vaapisink_show_frame_x11(
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (!gst_vaapi_window_put_surface(sink->window, surface,
|
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");
|
GST_DEBUG("could not render VA surface");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -660,6 +660,8 @@ gst_vaapisink_show_frame(GstBaseSink *base_sink, GstBuffer *buffer)
|
||||||
GstVaapiSurface *surface;
|
GstVaapiSurface *surface;
|
||||||
guint flags;
|
guint flags;
|
||||||
gboolean success;
|
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 != gst_vaapi_video_buffer_get_display (vbuffer)) {
|
||||||
if (sink->display)
|
if (sink->display)
|
||||||
|
@ -679,6 +681,9 @@ gst_vaapisink_show_frame(GstBaseSink *base_sink, GstBuffer *buffer)
|
||||||
|
|
||||||
flags = GST_VAAPI_PICTURE_STRUCTURE_FRAME;
|
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 USE_VAAPISINK_GLX
|
||||||
if (sink->use_glx)
|
if (sink->use_glx)
|
||||||
success = gst_vaapisink_show_frame_glx(sink, surface, flags);
|
success = gst_vaapisink_show_frame_glx(sink, surface, flags);
|
||||||
|
|
Loading…
Reference in a new issue