manuaudioandUrs Fleisch df6c8e15d1 MPC: do not convert an out of range length to int
Fifth instance of the same shape, in readSV8:

    const auto length = static_cast<double>(frameCount) * 1000.0 / d->sampleRate;
    d->length  = static_cast<int>(length + 0.5);
    d->bitrate = static_cast<int>(static_cast<double>(streamLength) * 8.0 / length + 0.5);

frameCount is sampleFrames minus begSilence, both read from the file, so
the millisecond figure can land outside int:

  taglib/mpc/mpcproperties.cpp:244:39: runtime error: 4.18294e+17 is
  outside the range of representable values of type 'int'

The bitrate on the next line goes the same way when length is small, so
it is guarded too. One report before, none after, and the .mpc files in
tests/data report identical properties.

Turned up independently from two different seed files, sv8_header.mpc
and zerodiv.mpc.

Assisted-By: Claude Code (Claude Opus 5)
2026-08-15 17:52:56 +02:00
2026-06-24 05:27:17 +02:00
2026-07-19 19:58:28 +02:00
2022-10-24 07:06:23 +02:00
2026-08-14 06:47:05 +02:00
2015-05-18 11:31:55 +02:00
2023-10-08 05:58:33 +02:00
2023-09-16 08:41:01 +02:00
2026-07-19 19:58:28 +02:00
2026-07-12 20:16:12 +02:00
2024-01-04 17:18:23 +01:00
2026-02-18 05:15:14 +01:00

TagLib

Build Status

TagLib Audio Metadata Library

https://taglib.org/

TagLib is a library for reading and editing the metadata of several popular audio formats. Currently, it supports various metadata containers such as ID3v1, ID3v2 and Vorbis comments for MP3, MP4, AAC, Ogg, Opus, FLAC, Speex, APE, MPC, WavPack, WAV, AIFF, TrueAudio, Matroska, WebM, ASF, WMA, DSF, DFF and tracker (MOD, XM, S3M, IT) files.

TagLib is distributed under the GNU Lesser General Public License (LGPL) and Mozilla Public License (MPL). Essentially that means that it may be used in proprietary applications, but if changes are made to TagLib they must be contributed back to the project. Please review the licenses if you are considering using TagLib in your project.

S
Description
No description provided
Readme
15 MiB
Languages
C++ 96.7%
CMake 2%
C 0.9%
Logos 0.4%