summaryrefslogtreecommitdiff
path: root/src/audio/audio_playback.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-02-10 15:32:21 +1100
committerjacqueline <me@jacqueline.id.au>2023-02-10 15:32:21 +1100
commit61c91b3cdb2c9dd655f3adf0f461f5cefb3b2e9b (patch)
tree8d0bb288781f86455f02219d0b7ac8cee493eeb3 /src/audio/audio_playback.cpp
parentcabfd4b75ecc733bdf36997606a686c4d2bc277d (diff)
downloadtangara-fw-61c91b3cdb2c9dd655f3adf0f461f5cefb3b2e9b.tar.gz
Mostly working pipeline, including proper EOF signalling
Diffstat (limited to 'src/audio/audio_playback.cpp')
-rw-r--r--src/audio/audio_playback.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/audio/audio_playback.cpp b/src/audio/audio_playback.cpp
index 4df598c5..504a2a4e 100644
--- a/src/audio/audio_playback.cpp
+++ b/src/audio/audio_playback.cpp
@@ -38,9 +38,9 @@ auto AudioPlayback::create(drivers::GpioExpander* expander,
playback->ConnectElements(codec.get(), sink.get());
// Launch!
- playback->element_handles_.push_back(StartAudioTask("src", source));
- playback->element_handles_.push_back(StartAudioTask("dec", codec));
- playback->element_handles_.push_back(StartAudioTask("sink", sink));
+ playback->element_handles_.push_back(StartAudioTask("src", {}, source));
+ playback->element_handles_.push_back(StartAudioTask("dec", {}, codec));
+ playback->element_handles_.push_back(StartAudioTask("sink", 0, sink));
playback->input_handle_ = source->InputEventQueue();
@@ -60,6 +60,8 @@ auto AudioPlayback::Play(const std::string& filename) -> void {
info.path = filename;
auto event = StreamEvent::CreateStreamInfo(input_handle_, info);
xQueueSend(input_handle_, &event, portMAX_DELAY);
+ event = StreamEvent::CreateEndOfStream(input_handle_);
+ xQueueSend(input_handle_, &event, portMAX_DELAY);
}
auto AudioPlayback::ConnectElements(IAudioElement* src, IAudioElement* sink)