Ah, this one's easy -- though an odd corer case; there's a Xing header here
authorScott Wheeler <wheeler@kde.org>
Thu, 17 Jun 2004 15:33:53 +0000 (15:33 +0000)
committerScott Wheeler <wheeler@kde.org>
Thu, 17 Jun 2004 15:33:53 +0000 (15:33 +0000)
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

mpeg/mpegproperties.cpp

index 0dd9503f2fafe21337350db79d317cf52a052c2a..ab65f0ffa1f2e50ea0b9e37cd7843e15600566bc 100644 (file)
@@ -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