Kill task when channel closed

This commit is contained in:
Silas Bartha 2024-09-09 21:29:49 -04:00
parent 85751864c0
commit a5e8a554b5
Signed by: soaos
GPG Key ID: 9BD3DCC0D56A09B2

View File

@ -3,7 +3,7 @@ use std::{
sync::Arc,
};
use async_channel::{Receiver, TryRecvError};
use async_channel::{Receiver, SendError, TryRecvError, TrySendError};
use bevy::{
asset::{io::Reader, AssetLoader, AsyncReadExt, LoadContext},
audio::Source,
@ -77,8 +77,8 @@ impl MidiDecoder {
while !sequencer.end_of_sequence() {
sequencer.render(&mut left, &mut right);
for value in left.iter().interleave(right.iter()) {
if let Err(e) = tx.send(*value).await {
error!("{e}");
if let Err(_) = tx.send(*value).await {
return;
};
}
}