GNOME Bugzilla – Bug 704237
glimagesink: Using sink->display after it was removed
Last modified: 2014-02-21 08:34:57 UTC
Pipeline: gst-launch-1.0 videotestsrc ! "video/x-raw,format=RGB" ! glimagesink Stopped via ctrl+c often gives the following crash. Which happens because the sink went PAUSED->READY somewhere in the middle of gst_glimage_sink_on_draw(), and the state change function sets sink->display to NULL.
+ Trace 232243
Thread 4 (Thread 0x7f6d9b421700 (LWP 12853))
This should be fixed by commit dde32ba74fe7aa360c39bd836d9f55ce236ae5e9 Author: Julien Isorce <julien.isorce@collabora.co.uk> Date: Wed Aug 28 10:32:29 2013 +0100 glimagesink: avoid to draw texture while releasing stored buffer Spoted by generic/cube example with ClientDrawCallback set to returning TRUE (it means drawing as fast as possible) commit be9d8a67278f42aca1332a9a1fc717e49e417bac Author: Julien Isorce <julien.isorce@collabora.co.uk> Date: Wed Aug 28 10:07:24 2013 +0100 glimagesink: fix asynchrone drawing Simplify gst_glimage_sink_redisplay which is there only to ask the window for a redraw. Put a lock to make sure we are not realeasing the stored buffer while still drawing the corresponding texture