From 4dfc33ca92cbd9ed780afc9d1bd44ec2cc4182c1 Mon Sep 17 00:00:00 2001 From: Doloro1978 Date: Wed, 15 Jul 2026 14:23:13 +0100 Subject: [PATCH] fix(rtmp): more task / handling of unwrap better --- crates/server/src/rtmp.rs | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/crates/server/src/rtmp.rs b/crates/server/src/rtmp.rs index 7356c31..87529b0 100644 --- a/crates/server/src/rtmp.rs +++ b/crates/server/src/rtmp.rs @@ -270,20 +270,17 @@ impl Rtmp { stream_key, .. } => { info!(stream_key = %stream_key, "publish stream finished"); - let key = - entity::stream_key::Entity::find_by_key(&db, &stream_key) - .await - .unwrap() - .unwrap(); - stream_sessions.remove(&key.id); - stream_session::Model::get_active_by_stream_key_id(&db, key.id) + match entity::stream_key::Entity::find_by_key(&db, &stream_key) .await - .unwrap() - .unwrap() - .into_active_model() - .finish_stream_session(&db, Local::now().into()) - .await - .unwrap(); + { + Ok(Some(key)) => cleanup(key.id).await, + Ok(None) => { + warn!(stream_key = %stream_key, "publish finished for unknown stream key"); + } + Err(e) => { + warn!(stream_key = %stream_key, "failed to look up stream key on finish: {e}"); + } + } current_stream_key_id = None; } // TODO: We can totally replace the broadcast with a