[gst-devel] What could cause the error in xvimagesink (XGetWindowAttributes): X Error of failed request?
Luciana Fujii Pontello
luciana at holoscopio.com
Mon Mar 1 20:38:30 CET 2010
On Sat, 2010-02-27 at 17:23 -0800, yiliang wrote:
> Hi,
>
> I have 2 applications. One application (application A) creates a window, and
> sends the window ID to another application (application B). application B
> has a gstreamer video pipeline that uses xvimagesink to display the video as
> overlay in the window using the window ID provided by application A. I am
> sorry if it sounds a little confusing. This is to separate UI from pipeline.
>
> Following function is used to configure xvimagesink with window ID:
>
> gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(xvimagesink), winId);
>
> Most of time it works fine, but sometimes I encounter the following problem,
> and the application B is terminated:
>
> X Error of failed request: BadWindow (invalid Window parameter)
> Major opcode of failed request: 3 (X_GetWindowAttributes)
> Resource id in failed request: 0x400016f
> Serial number of failed request: 32
> Current serial number in output stream: 33
>
> After some debugging, I found the error was generated in function
> gst_xvimagesink_set_xwindow_id() when it called the following function:
>
> XGetWindowAttributes
>
> Could anyone give some hint how to fix this problem?
Are you using gdk threads_enter() right before set_xwindow_id and
threads_leave() right after?
I do something similar to what you're doing, but had no problems until
now.
Luciana Fujii
Holoscópio Tecnologia - http://holoscopio.com
More information about the gstreamer-devel
mailing list