summaryrefslogtreecommitdiff
path: root/src/audio/chunk.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2022-12-06 13:17:56 +1100
committerjacqueline <me@jacqueline.id.au>2022-12-06 13:17:56 +1100
commitf35bb64c2b8dbb72fd15f1880e4d01d263660910 (patch)
tree4696065116c21147da02b6e6470a6215b343081f /src/audio/chunk.cpp
parente0b2562cc4e0e5ae73efacddf68b83bd9fbb6acb (diff)
downloadtangara-fw-f35bb64c2b8dbb72fd15f1880e4d01d263660910.tar.gz
basic i2s output element
Diffstat (limited to 'src/audio/chunk.cpp')
-rw-r--r--src/audio/chunk.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/audio/chunk.cpp b/src/audio/chunk.cpp
index 44dcc410..eb28d5a9 100644
--- a/src/audio/chunk.cpp
+++ b/src/audio/chunk.cpp
@@ -12,8 +12,15 @@
namespace audio {
-// TODO: tune.
-const std::size_t kMaxChunkSize = 512;
+/*
+ * The maximum size of a single chunk of stream data. This should be comfortably
+ * larger than the largest size of a frame of audio we should expect to handle.
+ *
+ * 128 kbps MPEG-1 @ 44.1 kHz is approx. 418 bytes according to the internet.
+ *
+ * TODO(jacqueline): tune as more codecs are added.
+ */
+const std::size_t kMaxChunkSize = 2048;
// TODO: tune
static const std::size_t kWorkingBufferSize = kMaxChunkSize * 1.5;
@@ -60,11 +67,11 @@ ChunkReader::ChunkReader(MessageBufferHandle_t* stream)
: stream_(stream),
raw_working_buffer_(static_cast<std::byte*>(
heap_caps_malloc(kWorkingBufferSize, MALLOC_CAP_SPIRAM))),
- working_buffer_(raw_working_buffer_, kWorkingBufferSize){};
+ working_buffer_(raw_working_buffer_, kWorkingBufferSize) {}
ChunkReader::~ChunkReader() {
free(raw_working_buffer_);
-};
+}
auto ChunkReader::Reset() -> void {
leftover_bytes_ = 0;