diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-07-31 10:14:03 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-07-31 10:14:03 +1000 |
| commit | 0a8d2fd12e0781c32d23b67dd938e3ba8caf782e (patch) | |
| tree | 5378061295f78ca61e32363f82e5104c3cb2a692 /src/codecs | |
| parent | a5022ac6cb64ef68210b8204591b1deb84ea70d8 (diff) | |
| download | tangara-fw-0a8d2fd12e0781c32d23b67dd938e3ba8caf782e.tar.gz | |
fix flac playback. now it plays nice and smooth :)
Diffstat (limited to 'src/codecs')
| -rw-r--r-- | src/codecs/foxenflac.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/codecs/foxenflac.cpp b/src/codecs/foxenflac.cpp index ee21da65..ce18975c 100644 --- a/src/codecs/foxenflac.cpp +++ b/src/codecs/foxenflac.cpp @@ -14,6 +14,8 @@ namespace codecs { +static const char kTag[] = "flac"; + FoxenFlacDecoder::FoxenFlacDecoder() : flac_(FX_FLAC_ALLOC(FLAC_MAX_BLOCK_SIZE, 2)) {} @@ -28,7 +30,11 @@ auto FoxenFlacDecoder::BeginStream(const cpp::span<const std::byte> input) fx_flac_process(flac_, reinterpret_cast<const uint8_t*>(input.data()), &bytes_used, NULL, NULL); if (state != FLAC_END_OF_METADATA) { - return {bytes_used, cpp::fail(Error::kMalformedData)}; + if (state == FLAC_ERR) { + return {bytes_used, cpp::fail(Error::kMalformedData)}; + } else { + return {bytes_used, cpp::fail(Error::kOutOfInput)}; + } } int64_t channels = fx_flac_get_streaminfo(flac_, FLAC_KEY_N_CHANNELS); |
