[Gstreamer-bugs] [Bug 135528] Changed - ximagesink crashes on resize

bugzilla-daemon at widget.gnome.org bugzilla-daemon at widget.gnome.org
Thu Mar 4 19:51:17 PST 2004


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

http://bugzilla.gnome.org/show_bug.cgi?id=135528

Changed by rbultje at ronald.bitfreak.net.

--- shadow/135528	Thu Feb 26 14:40:15 2004
+++ shadow/135528.tmp.26299	Thu Mar  4 22:51:17 2004
@@ -21,6 +21,28 @@
 X Error of failed request:  BadAccess (attempt to access private resource
 denied)
   Major opcode of failed request:  146 (MIT-SHM)
   Minor opcode of failed request:  3 (X_ShmPutImage)
   Serial number of failed request:  179
   Current serial number in output stream:  180
+
+------- Additional Comments From rbultje at ronald.bitfreak.net  2004-03-04 22:51 -------
+I've tracked this down to the following two:
+
+XSync (ximagesink->xcontext->disp, FALSE);
+
+Around line 290 in ximagesink.c, gst_ximagesink_ximage_put (). From
+man XSync: "Client applications seldom need to call XSync." Why do we
+use it? Is it hiding other bugs? Anyway, I commented it out, and then
+got (seems to take quite a few more resizes to crash, but still)
+crashes in:
+
+XGetWindowAttributes (ximagesink->xcontext->disp,
+                        ximagesink->xwindow->win, &attr);
+
+around line 410 in ximagesink.c,
+gst_ximagesink_xwindow_update_geometry (). I'm not sure why. The
+XWindowID didn't change.
+
+Anyway, all this reminds me that we need an error handler in
+ximagesink and xvimagesink that calls GST_ELEMENT_ERROR() instead of
+just crashing. See man XSetErrorHandler.




More information about the Gstreamer-bugs mailing list