mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
seek: Explicitely call gst_x_overlay_expose() from the GtkDrawingArea expose/draw signal
This commit is contained in:
parent
f8dc679ca7
commit
662830c21d
1 changed files with 7 additions and 0 deletions
|
@ -2459,6 +2459,7 @@ msg_clock_lost (GstBus * bus, GstMessage * message, GstPipeline * data)
|
||||||
|
|
||||||
#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32)
|
#if defined (GDK_WINDOWING_X11) || defined (GDK_WINDOWING_WIN32)
|
||||||
|
|
||||||
|
static GstElement *xoverlay_element = NULL;
|
||||||
static gulong embed_xid = 0;
|
static gulong embed_xid = 0;
|
||||||
|
|
||||||
/* We set the xid here in response to the prepare-xwindow-id message via a
|
/* We set the xid here in response to the prepare-xwindow-id message via a
|
||||||
|
@ -2473,6 +2474,8 @@ bus_sync_handler (GstBus * bus, GstMessage * message, GstPipeline * data)
|
||||||
gst_structure_has_name (message->structure, "prepare-xwindow-id")) {
|
gst_structure_has_name (message->structure, "prepare-xwindow-id")) {
|
||||||
GstElement *element = GST_ELEMENT (GST_MESSAGE_SRC (message));
|
GstElement *element = GST_ELEMENT (GST_MESSAGE_SRC (message));
|
||||||
|
|
||||||
|
xoverlay_element = element;
|
||||||
|
|
||||||
g_print ("got prepare-xwindow-id, setting XID %lu\n", embed_xid);
|
g_print ("got prepare-xwindow-id, setting XID %lu\n", embed_xid);
|
||||||
|
|
||||||
if (g_object_class_find_property (G_OBJECT_GET_CLASS (element),
|
if (g_object_class_find_property (G_OBJECT_GET_CLASS (element),
|
||||||
|
@ -2506,6 +2509,10 @@ draw_cb (GtkWidget * widget, cairo_t * cr, gpointer data)
|
||||||
cairo_fill (cr);
|
cairo_fill (cr);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (xoverlay_element)
|
||||||
|
gst_x_overlay_expose (GST_X_OVERLAY (xoverlay_element));
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue