From 6953efc2d845b7e4dda4549cffacd2418cf307c9 Mon Sep 17 00:00:00 2001 From: 21pages Date: Fri, 29 Dec 2023 13:41:33 +0800 Subject: [PATCH] fix last commit, snapshot for sending to new subscribers (#6762) Signed-off-by: 21pages --- src/server/video_service.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/server/video_service.rs b/src/server/video_service.rs index 7ace0e4df..668d3a57f 100644 --- a/src/server/video_service.rs +++ b/src/server/video_service.rs @@ -741,15 +741,12 @@ fn try_broadcast_display_changed( ) { log::info!("Display {} changed", display); if let Some(msg_out) = make_display_changed_msg(display_idx, Some(display)) { - // switch display may occur before the first video frame, add snapshot to ensure successful send - sp.snapshot(|sps| { - // so that new sub and old sub share the same encoder after switch - if sps.has_subscribes() { - bail!("SWITCH"); - } + sp.send(msg_out.clone()); + // switch display may occur before the first video frame, add snapshot to send to new subscribers + sp.snapshot(move |sps| { + sps.send(msg_out.clone()); Ok(()) })?; - sp.send(msg_out); bail!("SWITCH"); } }