From d24c44940741c7b81356ab654ea7e8c230f04b31 Mon Sep 17 00:00:00 2001 From: "Marcel W." Date: Fri, 6 Dec 2024 13:23:32 +0100 Subject: [PATCH] Fix camera still being used after closing camera preview page (#1638) ## Description When leaving the camera capture page, the camera now no longer is in use. ## Motivation and Context Closes #1610 ## How Has This Been Tested? ## Screenshots (if appropriate): ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) --- .../ControlPages/CaptureElementPreviewPage.xaml.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/WinUIGallery/ControlPages/CaptureElementPreviewPage.xaml.cs b/WinUIGallery/ControlPages/CaptureElementPreviewPage.xaml.cs index 2a95669df..3ef43a808 100644 --- a/WinUIGallery/ControlPages/CaptureElementPreviewPage.xaml.cs +++ b/WinUIGallery/ControlPages/CaptureElementPreviewPage.xaml.cs @@ -19,6 +19,7 @@ using Windows.Storage.Streams; using System.ComponentModel; using WinUIGallery.Helper; +using System.Threading.Tasks; namespace WinUIGallery.ControlPages { @@ -38,6 +39,17 @@ public CaptureElementPreviewPage() captureContainer.Children.Remove(sv); captureContainer.Children.Add(expandToFillContainer); expandToFillContainer.Children.Add(sv); + + this.Unloaded += this.CaptureElementPreviewPage_Unloaded; + } + + private void CaptureElementPreviewPage_Unloaded(object sender, RoutedEventArgs e) + { + // Needs to run as task to unblock UI thread + if (mediaCapture != null) + { + new Task(mediaCapture.Dispose).Start(); + } } private MediaFrameSourceGroup mediaFrameSourceGroup;