[gst-devel] crashing on some mp3s
Ronald Bultje
rbultje at ronald.bitfreak.net
Thu Apr 11 09:35:56 CEST 2002
Hi Jorn,
On Thu, 2002-04-11 at 17:51, Jorn Baayen wrote:
> gst-launch filesrc location="broken.mp3" ! mad ! osssink
>
> #0 0x80499d7 in __udivdi3 (n=0, d=0)
sounds like a division through zero. Shouldn't that give an arithmetic
exception instead of a segfault?
> #1 0x404652e2 in gst_mad_chain ()
> from /stuff/gnome/head/INSTALL/lib/gst/libgstmad.so
gst-plugins/ext/mad/gstmad.c, line 464:
[..]
if (mad->frame.header.layer == MAD_LAYER_I)
N = ((12 * mad->frame.header.bitrate /
mad->frame.header.samplerate) + pad_slot) * 4;
else {
unsigned int slots_per_frame;
slots_per_frame = (mad->frame.header.layer == MAD_LAYER_III &&
(mad->frame.header.flags & MAD_FLAG_LSF_EXT))
? 72 : 144;
N = (slots_per_frame * mad->frame.header.bitrate /
mad->frame.header.samplerate) + pad_slot;
}
[..]
gst-plugins/ext/mad/gstmad.c, line 492:
[..]
GST_BUFFER_TIMESTAMP (outbuffer) = mad->sync_point +
mad->total_samples * 1000000LL /
mad->frame.header.samplerate;
[..]
this is suspicious, it's the only divisions in this function ;-). The
former one didn't use to be there, amd it's outcome (N) isn't used
anywhere, it seems. Try commenting this out and try again.
Ronald
--
- .-.
- /V\ | Ronald Bultje <rbultje at ronald.bitfreak.net>
- // \\ | Running: Linux 2.4.18-XFS and OpenBSD 3.0
- /( )\ | http://ronald.bitfreak.net/
- ^^-^^
More information about the gstreamer-devel
mailing list