[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