From ab0f36f257e6860e6c182a85ebed9e217fdbe0b2 Mon Sep 17 00:00:00 2001 From: Rishi Desai Date: Thu, 26 Sep 2024 20:07:31 -0500 Subject: [PATCH] fix: don't interleave groups (#188) --- moq-sub/src/media.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/moq-sub/src/media.rs b/moq-sub/src/media.rs index 78f18c8b..2bcf8029 100644 --- a/moq-sub/src/media.rs +++ b/moq-sub/src/media.rs @@ -122,11 +122,9 @@ impl Media { if let TrackReaderMode::Groups(mut groups) = track.mode().await? { while let Some(group) = groups.next().await? { let out = out.clone(); - tokio::task::spawn(async move { - if let Err(err) = Self::recv_group(group, out).await { - warn!("failed to receive group: {err:?}"); - } - }); + if let Err(err) = Self::recv_group(group, out).await { + warn!("failed to receive group: {err:?}"); + } } } debug!("track {name}: finish"); @@ -140,7 +138,6 @@ impl Media { let out = out.clone(); let buf = Self::recv_object(object).await?; - // TODO: avoid interleaving out of order fragments out.lock().await.write_all(&buf).await?; }