diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-02-10 15:32:21 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-02-10 15:32:21 +1100 |
| commit | 61c91b3cdb2c9dd655f3adf0f461f5cefb3b2e9b (patch) | |
| tree | 8d0bb288781f86455f02219d0b7ac8cee493eeb3 /src/audio/audio_playback.cpp | |
| parent | cabfd4b75ecc733bdf36997606a686c4d2bc277d (diff) | |
| download | tangara-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.cpp | 8 |
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) |
