From: Scott Wheeler Date: Thu, 17 Jun 2004 15:33:53 +0000 (+0000) Subject: Ah, this one's easy -- though an odd corer case; there's a Xing header here X-Git-Tag: v1.5~380 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5f2e59150c06cc9815d8753bb375dcc05cc7fca3;p=taglib Ah, this one's easy -- though an odd corer case; there's a Xing header here but no MPEG frames. This was triggering a divide by zero. CCMAIL:83210-done@bugs.kde.org git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@321447 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- diff --git a/mpeg/mpegproperties.cpp b/mpeg/mpegproperties.cpp index 0dd9503f..ab65f0ff 100644 --- a/mpeg/mpegproperties.cpp +++ b/mpeg/mpegproperties.cpp @@ -192,7 +192,7 @@ void MPEG::Properties::read() double timePerFrame = blockSize[firstHeader.layer()]; timePerFrame = timePerFrame / firstHeader.sampleRate(); d->length = int(timePerFrame * xingHeader.totalFrames()); - d->bitrate = xingHeader.totalSize() * 8 / d->length / 1000; + d->bitrate = d->length == 0 ? 0 : xingHeader.totalSize() * 8 / d->length / 1000; } // Since there was no valid Xing header found, we hope that we're in a constant