From 33f1f6ca6c7e2ddb4e4a1b1d7d9f4f84f1a17640 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 23 May 2025 13:05:54 +0000 Subject: [PATCH 1/2] Initial plan for issue From 22cdcd9ad0bc06a68d59113ede3581776a66fdb8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 23 May 2025 13:11:22 +0000 Subject: [PATCH 2/2] Fix Peek video player showing black screen after viewing multiple videos Co-authored-by: lei9444 <39758135+lei9444@users.noreply.github.com> --- .../peek/Peek.FilePreviewer/FilePreview.xaml.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/modules/peek/Peek.FilePreviewer/FilePreview.xaml.cs b/src/modules/peek/Peek.FilePreviewer/FilePreview.xaml.cs index c60d062d7078..d20e240e71f8 100644 --- a/src/modules/peek/Peek.FilePreviewer/FilePreview.xaml.cs +++ b/src/modules/peek/Peek.FilePreviewer/FilePreview.xaml.cs @@ -235,9 +235,19 @@ private async Task UpdatePreviewAsync(CancellationToken cancellationToken) partial void OnPreviewerChanging(IPreviewer? value) { - VideoPreview.MediaPlayer.Pause(); - VideoPreview.MediaPlayer.Source = null; - VideoPreview.Source = null; + // Properly dispose and recreate MediaPlayer to prevent black screen issue after viewing multiple videos + if (VideoPreview.MediaPlayer != null) + { + VideoPreview.MediaPlayer.Pause(); + VideoPreview.MediaPlayer.Source = null; + VideoPreview.Source = null; + + // Create a new MediaPlayer to ensure clean state for the next video + var oldMediaPlayer = VideoPreview.MediaPlayer; + VideoPreview.SetMediaPlayer(new Windows.Media.Playback.MediaPlayer()); + oldMediaPlayer.Dispose(); + } + AudioPreview.Source = null; ImagePreview.Source = null; ArchivePreview.Source = null;