Free audio buffer on audio_i2s_set_enabled(false) (#58)

pull/61/head
Matthias Ringwald 2023-02-26 20:34:28 +01:00 zatwierdzone przez GitHub
rodzic 4a2bd2999f
commit 71590f2a9f
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 6 dodań i 0 usunięć

Wyświetl plik

@ -367,6 +367,12 @@ void audio_i2s_set_enabled(bool enabled) {
if (enabled) {
audio_start_dma_transfer();
} else {
// if there was a buffer in flight, it will not be freed by DMA IRQ, let's do it manually
if (shared_state.playing_buffer) {
give_audio_buffer(audio_i2s_consumer, shared_state.playing_buffer);
shared_state.playing_buffer = NULL;
}
}
pio_sm_set_enabled(audio_pio, shared_state.pio_sm, enabled);