Ticket #1421 (Closed: fixed)
LS Studio: Ogg files encoded at less than 192kbps cause segfault
Priority: | normal | Reporter: | douglas |
---|---|---|---|
Severity: | crash | Assigned to: | maroy |
Component: | LiveSupport Studio | Status: | closed |
Version: | 1.0 rc2 | Resolution: | fixed |
Milestone: | 1.0 rc2 | Keywords: |
Description by douglas:
Some Ogg Vorbis files that are encoded at less than 192kbps are causing the gLiveSupport application to segfault with the following error message: using configuration file: /opt/livesupport/etc/gLiveSupport.xml using config file '/opt/livesupport/etc/gLiveSupport.xml' ./gLiveSupport.sh: line 57: 13254 Segmentation fault $gLiveSupport_exe -c $config_file root@chachi:/opt/livesupport/bin # The same problem is causing the scheduler not to play the Ogg files in question. However, other ogg files do play without problems. A number of test files have been uploaded to: http://www.arellanes.com/livesupport
Attachments
Changelog
Fri Aug 19 18:58:14 2005: Modified by douglas
- milestone set to 1.0 rc2
Sat Aug 20 16:32:08 2005: Modified by fgerlits
- owner changed from fgerlits to maroy
Sat Aug 20 16:36:28 2005: Modified by fgerlits
Sat Aug 20 16:37:43 2005: Modified by fgerlits
I put some debugging code in GstreamerPlayer?::open(); it needs to be removed after this bug is resolved.
Wed Aug 24 12:56:18 2005: Modified by maroy
- resolution set to fixed
- status changed from assigned to closed
a strange bug here: in some cases, during autoplugging, the vorbis decoder gstreamer module didn't get to packet no. 2, at which time it is initializing the vorbis block. see ext/vorbis/vorbisdec.c in the gst-plugins sources, around line no. 452: } else if (packet.packetno == 2) { GstCaps? *caps; const GstAudioChannelPosition? *pos = NULL; /* done */ vorbis_synthesis_init (&vd->vd, &vd->vi); vorbis_block_init (&vd->vd, &vd->vb); the segfault was caused by the vorbis block not being initialized, but was still used afterwards. the problem came out with vorbis files around 160kb/s, but not with higher or lower. see added test case AutoplugTest?::oggVorbis160kbpsTest and test file var/d160.ogg in gstreamerElements that demonstrates the problem.
The gst_bin_iterate() function in GstreamerPlayer?::open() sometimes segfaults. It does not throw an exception, so I can not handle it higher up. I don't know if this has anything to do with the sample rate, but the "No One Takes Your Freedom" file in Doug's sample audio list (see above) produces this issue always.