Hi, I was trying to use gstreamer's dfbvideosink, but it segfaults:
(gdb) bt #0 0x76911184 in dfb_windowstack_lock (stack=0x0) at ../../../src/core/windowstack.c:397 #1 0x76911bd8 in dfb_windowstack_cursor_enable (core=<value optimized out>, stack=0x0, enable=<value optimized out>) at ../../../src/core/windowstack.c:599 #2 0x768df9f0 in CoreWindowStack_CursorEnable (obj=<value optimized out>, enable=<value optimized out>) at ./CoreWindowStack.cpp:134 #3 0x769d667c in gst_dfbvideosink_setup (dfbvideosink=0xfe010) at dfbvideosink.c:750 #4 0x769d9250 in gst_dfbvideosink_change_state (element=0xfe010, transition=GST_STATE_CHANGE_NULL_TO_READY) at dfbvideosink.c:1433 #5 0x76f412b4 in gst_element_change_state (element=0xfe010, transition=<value optimized out>) at gstelement.c:2761 #6 0x76f41d08 in gst_element_set_state_func (element=0xfe010, state=<value optimized out>) at gstelement.c:2717 #7 0x76f40fe0 in gst_element_set_state (element=0xfe010, state=GST_STATE_READY) at gstelement.c:2618 #8 0x76f2ccbc in gst_bin_element_set_state (element=0x100078, transition=0) at gstbin.c:2209 #9 gst_bin_change_state_func (element=0x100078, transition=0) at gstbin.c:2518 #10 0x76f65350 in gst_pipeline_change_state (element=0x100078, transition=GST_STATE_CHANGE_NULL_TO_READY) at gstpipeline.c:482 #11 0x76f412b4 in gst_element_change_state (element=0x100078, transition=<value optimized out>) at gstelement.c:2761 #12 0x76f41d08 in gst_element_set_state_func (element=0x100078, state=<value optimized out>) at gstelement.c:2717 #13 0x76f40fe0 in gst_element_set_state (element=0x100078, state=GST_STATE_PAUSED) at gstelement.c:2618 #14 0x0000ada4 in main (argc=1996478440, argv=0x1) at gst-launch.c:1104 Looking at the code http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/ext/directfb/dfbvideosink.c?h=0.10&id=28e08b18ab831de46b2f6133c8fb48cf207823df It seems that DirectFB doesn't like any cursor handling anymore before CoreLayerContext_GetPrimaryRegion() was called (via IDirectFBDisplayLayer_GetSurface()), as the layer's stack == NULL before that. Now what is the correct way to fix this? Sure I can probably modify dfbvideosink to enable the cursor only after the ::GetSurface(), but this seems to be a general problem? Any application could try to do that. DirectFB shouldn't crash at least... I think Cheers, Andre' _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev