diff options
Diffstat (limited to 'src/codecs')
| -rw-r--r-- | src/codecs/README.md | 9 | ||||
| -rw-r--r-- | src/codecs/vorbis.cpp | 7 |
2 files changed, 6 insertions, 10 deletions
diff --git a/src/codecs/README.md b/src/codecs/README.md deleted file mode 100644 index d8eaf405..00000000 --- a/src/codecs/README.md +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Copyright 2023 jacqueline <me@jacqueline.id.au> - * - * SPDX-License-Identifier: GPL-3.0-only - */ - -# Software Codecs - -This component contains a collection of software decoders for various diff --git a/src/codecs/vorbis.cpp b/src/codecs/vorbis.cpp index 0b2af691..ea33a2af 100644 --- a/src/codecs/vorbis.cpp +++ b/src/codecs/vorbis.cpp @@ -137,10 +137,15 @@ auto TremorVorbisDecoder::DecodeTo(std::span<sample::Sample> output) ((output.size() - 1) * sizeof(sample::Sample)), &unused); if (bytes_written == OV_HOLE) { ESP_LOGE(kTag, "got OV_HOLE"); - return cpp::fail(Error::kMalformedData); + return OutputInfo{ + .samples_written = 0, + .is_stream_finished = false, + }; } else if (bytes_written == OV_EBADLINK) { ESP_LOGE(kTag, "got OV_EBADLINK"); return cpp::fail(Error::kMalformedData); + } else if (bytes_written == OV_EINVAL) { + return cpp::fail(Error::kMalformedData); } return OutputInfo{ |
