summaryrefslogtreecommitdiff
path: root/src/audio/audio_playback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/audio_playback.cpp')
-rw-r--r--src/audio/audio_playback.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/audio/audio_playback.cpp b/src/audio/audio_playback.cpp
index 7b8418d7..bcc3ad04 100644
--- a/src/audio/audio_playback.cpp
+++ b/src/audio/audio_playback.cpp
@@ -43,9 +43,9 @@ auto AudioPlayback::create(drivers::GpioExpander* expander,
playback->ConnectElements(codec.get(), sink.get());
// Launch!
- StartAudioTask("src", source);
- StartAudioTask("dec", codec);
- 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", sink));
return playback;
}
@@ -55,7 +55,9 @@ AudioPlayback::AudioPlayback()
: stream_start_(128, 128), stream_end_(128, 128) {}
AudioPlayback::~AudioPlayback() {
- // TODO(jacqueline): signal the end of all things, and maybe wait for it?
+ for (auto& element : element_handles_) {
+ element->Quit();
+ }
}
auto AudioPlayback::Play(const std::string& filename) -> void {