diff options
| author | ailurux <ailuruxx@gmail.com> | 2025-07-01 14:22:37 +1000 |
|---|---|---|
| committer | ailurux <ailuruxx@gmail.com> | 2025-07-01 14:22:37 +1000 |
| commit | 42fc963acc81860b7cc794550e13e8920e547d93 (patch) | |
| tree | 182a7558b2bf7216694429b2c0916390db91dd92 | |
| parent | 296b15dfca3c32cfa53a3b8d8a84ac6d1421b4a1 (diff) | |
| download | tangara-fw-42fc963acc81860b7cc794550e13e8920e547d93.tar.gz | |
Increase size of sample count fields in MP3 decoder (fixes #408)
| -rw-r--r-- | src/codecs/include/codec.hpp | 2 | ||||
| -rw-r--r-- | src/codecs/include/mad.hpp | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/codecs/include/codec.hpp b/src/codecs/include/codec.hpp index 6ff7a267..42ce9844 100644 --- a/src/codecs/include/codec.hpp +++ b/src/codecs/include/codec.hpp @@ -105,7 +105,7 @@ class ICodec { struct OutputFormat { uint8_t num_channels; uint32_t sample_rate_hz; - std::optional<uint32_t> total_samples; + std::optional<uint64_t> total_samples; std::optional<uint32_t> bitrate_kbps; bool operator==(const OutputFormat&) const = default; diff --git a/src/codecs/include/mad.hpp b/src/codecs/include/mad.hpp index 60a0b81c..ccf996e6 100644 --- a/src/codecs/include/mad.hpp +++ b/src/codecs/include/mad.hpp @@ -40,7 +40,7 @@ class MadMp3Decoder : public ICodec { struct Mp3Info { uint16_t starting_sample; - uint32_t length; + uint64_t length; std::optional<uint32_t> bytes; std::optional<std::span<const unsigned char, 100>> toc; }; @@ -59,9 +59,9 @@ class MadMp3Decoder : public ICodec { // Count of samples processed in the current frame (channels combined) int current_frame_sample_; // Count of samples processed in the current stream (channels separate, i.e. usually x2) - int current_stream_sample_; + uint64_t current_stream_sample_; // How many samples in the current stream (channels separate) with encoder delay/padding removed - int total_samples_; + uint64_t total_samples_; // Encoder delay, i.e. how many samples to skip at the start of the stream int skip_samples_; bool is_eof_; |
