From f694b0d219a9706962b4c94441838aad746bc66b Mon Sep 17 00:00:00 2001 From: Hyper <34012267+hyperbx@users.noreply.github.com> Date: Mon, 9 Dec 2024 03:30:31 +0000 Subject: [PATCH] media_win32: catch WinRT exceptions for PlaybackStatus() --- UnleashedRecomp/os/win32/media_win32.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/UnleashedRecomp/os/win32/media_win32.cpp b/UnleashedRecomp/os/win32/media_win32.cpp index 377e044..0b797a6 100644 --- a/UnleashedRecomp/os/win32/media_win32.cpp +++ b/UnleashedRecomp/os/win32/media_win32.cpp @@ -68,5 +68,13 @@ bool os::media::detail::IsExternalMediaPlaying() if (!playbackInfo) return false; - return playbackInfo.PlaybackStatus() == GlobalSystemMediaTransportControlsSessionPlaybackStatus::Playing; + try + { + return playbackInfo.PlaybackStatus() == GlobalSystemMediaTransportControlsSessionPlaybackStatus::Playing; + } + catch (...) + { + printf("[*] Failed to retrieve GSMTC playback status: 0x%08X\n", to_hresult().value); + return false; + } }