Hi
I am trying to improve the stability of my gst-gengui [1] utility which is currently doubful with video pipelines. I think i might do something very wrong here, and i would appreciate any code review. I have a problem with refreshing my app. The refreshing does 1) stop the running pipeline 2) gst.parse_launch, bus.enable_sync_message_emission, bus.connect, sync-message::element, then set_state(PLAYING) 3) clean the gtk layout 4) inspect new pipeline 5) rebuild the interface (whose final step is embedding the xvimagesink) When i use very simple pipeline, like "videotestsrc ! xvimagesink ", i can refresh as much as i want without problems. However, when i add e.g. videobalance, videoparse or videoanalyse, videorate, with or without queues, i get a random segfault (sometimes happens at startup). The only element i can add in between without getting the problem is identity. My app's outputs are: * with videobalance : prepare-xwindow-id, <gst.Message prepare-xwindow-id; from xvimagesink0 at 0xb480b550> <GstStructure (prepare-xwindow-id) at b480dc18> 0:00:00.449244512 28856 0x8773e58 WARN xvimagesink xvimagesink.c:600:gst_xvimagesink_xvimage_new:<xvimagesink0> unexpected XShm image size (got 115200, expected 153600) <GstStructure (have-xwindow-id) at 872ecb0> sys:1: Warning: invalid unclassed pointer in cast to `GstBuffer' (gst-gengui:28856): GStreamer-CRITICAL **: gst_mini_object_ref: assertion `GST_IS_MINI_OBJECT (mini_object)' failed sys:1: Warning: invalid uninstantiatable type `(null)' in cast to `GstBuffer' Segmentation fault * with "videorate": right after the <GstStructure (have-xwindow-id) at 87376d8> message, sys:1: Warning: invalid unclassed pointer in cast to `GstBuffer' (gst-gengui:22844): GStreamer-CRITICAL **: gst_mini_object_ref: assertion `GST_IS_MINI_OBJECT (mini_object)' failed The program 'gst-gengui' received an X Window System error. This probably reflects a bug in the program. The error was 'BadMatch (invalid parameter attributes)'. (Details: serial 70 error_code 8 request_code 140 minor_code 19) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Thanks for any help, Florent [1] http://code.google.com/p/gst-gengui/ ------------------------------------------------------------------------------ Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |