summaryrefslogtreecommitdiff
path: root/src/audio/audio_task.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-04-20 21:25:22 +1000
committerjacqueline <me@jacqueline.id.au>2023-04-20 21:25:22 +1000
commit27c63ebb957aa5b942939aea33431ac50d101a26 (patch)
treef2777a34195865b30cb5de1b99eb3118f72440e0 /src/audio/audio_task.cpp
parent2d95b637272f15ba2d74abc2371d708a08407d91 (diff)
downloadtangara-fw-27c63ebb957aa5b942939aea33431ac50d101a26.tar.gz
Switch to an MVP-ready 16bit three wire DAC setup
Diffstat (limited to 'src/audio/audio_task.cpp')
-rw-r--r--src/audio/audio_task.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/audio/audio_task.cpp b/src/audio/audio_task.cpp
index 45db0b60..07f49085 100644
--- a/src/audio/audio_task.cpp
+++ b/src/audio/audio_task.cpp
@@ -37,15 +37,14 @@ namespace task {
static const char* kTag = "task";
static const std::size_t kStackSize = 24 * 1024;
static const std::size_t kDrainStackSize = 1024;
-static const uint8_t kAudioCore = 0;
auto StartPipeline(Pipeline* pipeline, IAudioSink* sink) -> void {
// Newly created task will free this.
AudioTaskArgs* args = new AudioTaskArgs{.pipeline = pipeline, .sink = sink};
ESP_LOGI(kTag, "starting audio pipeline task");
- xTaskCreatePinnedToCore(&AudioTaskMain, "pipeline", kStackSize, args,
- kTaskPriorityAudioPipeline, NULL, kAudioCore);
+ xTaskCreate(&AudioTaskMain, "pipeline", kStackSize, args,
+ kTaskPriorityAudioPipeline, NULL);
}
auto StartDrain(IAudioSink* sink) -> void {
@@ -151,6 +150,13 @@ void AudioTaskMain(void* args) {
std::size_t sent = xStreamBufferSend(
sink->buffer(), sink_stream.data().data(),
sink_stream.data().size_bytes(), pdMS_TO_TICKS(10));
+ if (sent > 0) {
+ ESP_LOGI(kTag, "sunk %u bytes out of %u (%d %%)", sent,
+ sink_stream.info().bytes_in_stream,
+ (int)(((float)sent /
+ (float)sink_stream.info().bytes_in_stream) *
+ 100));
+ }
sink_stream.consume(sent);
}