diff options
| author | jacqueline <me@jacqueline.id.au> | 2022-12-06 13:17:56 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2022-12-06 13:17:56 +1100 |
| commit | f35bb64c2b8dbb72fd15f1880e4d01d263660910 (patch) | |
| tree | 4696065116c21147da02b6e6470a6215b343081f /src/audio/chunk.cpp | |
| parent | e0b2562cc4e0e5ae73efacddf68b83bd9fbb6acb (diff) | |
| download | tangara-fw-f35bb64c2b8dbb72fd15f1880e4d01d263660910.tar.gz | |
basic i2s output element
Diffstat (limited to 'src/audio/chunk.cpp')
| -rw-r--r-- | src/audio/chunk.cpp | 15 |
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; |
