I have tried to cull the archives, but I am not seeing exactly what I need to see...
1) I have a c-program that 'sorta' works that can be reduced to this: video_source->output-selector- - - - >video encoder->avimux->filesink \ \ v Fakesink The selector toggles every 5 seconds - so I see 5 seconds worth in the file, and then another 5 seconds (5 seconds later)...but, I am getting this: GStreamer-CRITICAL **: gst_segment_set_newsegment_full: assertion `segment->format == format' failed Why am I getting this? Tom ps: Part (2) will be coming soon - and it involves switching filesink locations (filename) every time it switches to live video. |
I should note that this is with Gstreamer-0.10.35...
tom |
In reply to this post by somnyrds
Le vendredi 30 novembre 2012 à 15:23 -0800, somnyrds a écrit :
> GStreamer-CRITICAL **: gst_segment_set_newsegment_full: assertion > `segment->format == format' failed You could make your app abort on this assertion by setting G_DEBUG=fatal_criticals. This way you can use GDB and figure-out where is that generated, and why. Nicolas _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
OK - I set the environment G_DEBUG=fatal_criticals...and I simplified my use case...
I have uploaded my use-case file (vc.c): vc.c Below is the gdb dump... You will notice in the output that right before you I get the critical error, I have just switched the output selector to the fakesink (from the 'live' video source - which is a live video camera capture)... And, in the long run, I want to change the name of the output file after I'm done recording it and switched to the fakesink. FYI, my pipe has an encoder/avimuxer in between - and I need to send an EOS to the muxer - so it will write the final file header info the file (before I change the filesink's location...) Thanks for any/all advice... Sincerely, Tom ------------------------ start gdb dump of critical error---------- root@freescale ~$ gdb vc GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "arm-none-linux-gnueabi"... (no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /root/vc [Thread debugging using libthread_db enabled] [New process 2696] [New Thread 717320192 (LWP 2696)] MFW_GST_V4LSRC_PLUGIN 3.0.1 build on Nov 20 2012 15:09:15. In MVC: mxc_v4l_open device name is Mxc Camera [New Thread 743933040 (LWP 2699)] Running... Waiting for End... Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <stream-status> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <stream-status> Got UnHandled message: <new-clock> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> Got UnHandled message: <state-changed> --->SW osel:src0 to osel:src1 GStreamer-CRITICAL **: gst_segment_set_newsegment_full: assertion `segment->format == format' failed aborting... Program received signal SIGABRT, Aborted. [Switching to Thread 743933040 (LWP 2699)] 0x2af488d4 in raise () from /lib/libc.so.6 (gdb) bt #0 0x2af488d4 in raise () from /lib/libc.so.6 #1 0x2af49cf4 in abort () from /lib/libc.so.6 #2 0x2ae89188 in IA__g_logv (log_domain=0x2acff130 "GStreamer", log_level=<value optimized out>, format=0x0, args1={__ap = 0x2c577a34}) at gmessages.c:657 #3 0x2ae89200 in IA__g_log (log_domain=<value optimized out>, log_level=<value optimized out>, format=0x2aed9024 "%s: assertion `%s' failed") at gmessages.c:657 #4 0x2ae89450 in IA__g_return_if_fail_warning ( log_domain=0x2acff130 "GStreamer", pretty_function=0x2ad11ed4 "gst_segment_set_newsegment_full", expression=0x2ad11f74 "segment->format == format") at gmessages.c:657 #5 0x2b11507c in gst_base_sink_configure_segment (basesink=0xac018, event=<value optimized out>, segment=0xae008) at gstbasesink.c:3576 #6 0x2b11ee80 in gst_base_sink_event (pad=0xab000, event=0xb1180) at gstbasesink.c:3576 #7 0x2acb1788 in gst_pad_send_event (pad=0xab000, event=0xb1180) at gstpad.c:249 #8 0x2acb20ac in gst_pad_push_event (pad=0xab3e8, event=0xb1180) at gstpad.c:249 #9 0x2b0cc014 in gst_output_selector_chain (pad=<value optimized out>, buf=0xb70a8) at gstoutputselector.c:333 #10 0x2acb0620 in gst_pad_push (pad=0xab0c8, buffer=0xb70a8) at gstpad.c:249 ---Type <return> to continue, or q <return> to quit--- #11 0x2b125088 in gst_base_src_loop (pad=0xab0c8) at gstbasesrc.c:1785 #12 0x2acdc6e0 in gst_task_func (task=0xb8050) at gsttask.c:207 #13 0x2acddbe0 in default_func (tdata=<value optimized out>, pool=<value optimized out>) at gsttaskpool.c:70 #14 0x2aea985c in g_thread_pool_thread_proxy (data=<value optimized out>) at gthreadpool.c:726 #15 0x2aea757c in g_thread_create_proxy (data=0xb7c40) at gthread.c:180 #16 0x2aae0b10 in start_thread () from /lib/libpthread.so.0 #17 0x2afdf958 in clone () from /lib/libc.so.6 |
Free forum by Nabble | Edit this page |