summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-04-19 23:04:27 +0200
committerBenjamin Otte <otte@redhat.com>2010-04-19 23:04:27 +0200
commit62cce339fafb82fb466388d1309cb242a9ad1237 (patch)
treee5ae3a537dd937943655bdafaf859dd50ad90294
parent023df851e732d65f4d89a0a2499c2a8ebe204f2a (diff)
cairoxsink: Actually emit overlay signals
-rw-r--r--ext/xlib/gstcairoxsink.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/xlib/gstcairoxsink.c b/ext/xlib/gstcairoxsink.c
index 5820e21..8d1daf8 100644
--- a/ext/xlib/gstcairoxsink.c
+++ b/ext/xlib/gstcairoxsink.c
@@ -134,6 +134,7 @@ gst_cairo_x_sink_create_window (GstCairoXSink * xsink, cairo_device_t * device)
cairo_surface_set_user_data (xsink->window_surface, &window_key, device,
gst_cairo_x_sink_destroy_window);
cairo_device_set_user_data (device, &window_key, (gpointer) window, NULL);
+ gst_x_overlay_got_xwindow_id (GST_X_OVERLAY (xsink), window);
} else {
XWindowAttributes attr;
XGetWindowAttributes (display, xsink->window_id, &attr);
@@ -463,6 +464,8 @@ gst_cairo_x_sink_start (GstBaseSink * bsink)
return FALSE;
}
XSynchronize (display, TRUE);
+ if (xsink->window_id == 0)
+ gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (xsink));
device = cairo_xlib_device_create (display);
gst_cairo_x_sink_create_window (xsink, device);
cairo_device_destroy (device);