From d11ba513bb7f717c45a35dd742b02fe0b2f23383 Mon Sep 17 00:00:00 2001 From: Michael Olbrich Date: Thu, 18 Jun 2020 20:25:18 +0200 Subject: [PATCH] test: vaapicontext: fix draw callback with multiple videos The callback is called for both windows. So make sure that gst_video_overlay_set_render_rectangle() is called for the correct one. Otherwise, the left video will be randomly moved behind the right video. Part-of: --- tests/examples/test-vaapicontext.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/examples/test-vaapicontext.c b/tests/examples/test-vaapicontext.c index 5b46795..98760dc 100644 --- a/tests/examples/test-vaapicontext.c +++ b/tests/examples/test-vaapicontext.c @@ -307,14 +307,17 @@ draw_cb (GtkWidget * widget, cairo_t * cr, gpointer data) { AppData *app = data; GtkAllocation allocation; + int i; + + i = (widget == app->video_widget[0]) ? 0 : 1; get_allocation (widget, &allocation); - gst_println ("draw_cb x %d, y %d, w %d, h %d\n", + gst_println ("draw_cb[%d] x %d, y %d, w %d, h %d\n", i, allocation.x, allocation.y, allocation.width, allocation.height); - if (app->overlay[0]) { - gst_video_overlay_set_render_rectangle (app->overlay[0], allocation.x, + if (app->overlay[i]) { + gst_video_overlay_set_render_rectangle (app->overlay[i], allocation.x, allocation.y, allocation.width, allocation.height); } } -- 2.7.4