GNOME Bugzilla – Bug 327197
Sound Juicer with Gst-0.10 segfaults
Last modified: 2006-01-31 10:22:47 UTC
Sound juicer CVS using gst-0.10 segfaults. It looks to be on song change. trace bellow:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1233425504 (LWP 29143)]
0x003b1482 in gst_collect_pads_event (pad=0x968e358, event=0x95e9ac8)
619 GST_DEBUG ("Got %s event on pad %s:%s", GST_EVENT_TYPE_NAME (event),
(gdb) apply thread all bt
Undefined command: "apply". Try "help".
(gdb) thread apply all bt
(Thread -1233425504 (LWP 29143))
Backtrace on Ubuntu:
0xb6c012b3 619 GST_DEBUG ("Got %s event on pad %s:%s", GST_EVENT_TYPE_NAME (event),
This seems to be a bug in the ogg muxer GStreamer element not clearing all state properly.
I guess we're all encoding to OGG formats.
Rebuilding the pipeline between tracks by uncommenting line 204 in sj-extractor.c fixes it here, or not using OGG profiles, which is less good.
I'll work on fixing it in GStreamer, but it will need a gst-plugins-base release.
I've uncommented line 204 again in CVS.
Created attachment 57707 [details] [review]
partial fix for reuse of oggmux
This alleviates the bug in GStreamer, in conjunction with a commit to CVS core just now.
oggmux is still not going to work properly for being used multiple times to mux video+audio, but it'll work ok for SJ's use case.
Wim/MikeS will want to review this patch.
Fixed in CVS core:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
Don't loop infinitely if there are no buffers to present. Partially
fixes #327197, but collectpads is just broken for reusing elements
to do multiple encodes atm.
Fix in gst-plugins-base with bug #329326.
Fixes will be in 0.10.3 of core and 0.10.3 of gst-plugins-base.