From 2f5afb63b772b82cf9c40ba82c610aec15b71d55 Mon Sep 17 00:00:00 2001 From: Thomas Wilshaw Date: Wed, 10 Nov 2021 15:59:01 +0000 Subject: [PATCH] viewer: force screen to stay awake during playback --- app/widget/viewer/viewer.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/widget/viewer/viewer.cpp b/app/widget/viewer/viewer.cpp index 8b115682c..fc9c4bb1b 100644 --- a/app/widget/viewer/viewer.cpp +++ b/app/widget/viewer/viewer.cpp @@ -30,6 +30,10 @@ #include #include +#ifdef _WIN32 +#include "winbase.h" +#endif + #include "audio/audiomanager.h" #include "common/clamp.h" #include "common/power.h" @@ -702,6 +706,10 @@ void ViewerWidget::PlayInternal(int speed, bool in_to_out_only) QueueNextAudioBuffer(); } } + // Force screen to stay awake +#ifdef _WIN32 + SetThreadExecutionState(ES_DISPLAY_REQUIRED | ES_CONTINUOUS); +#endif } void ViewerWidget::PauseInternal() @@ -742,6 +750,11 @@ void ViewerWidget::PauseInternal() prequeuing_video_ = false; prequeuing_audio_ = 0; + + // Reset screen timeout timer +#ifdef _WIN32 + SetThreadExecutionState(ES_CONTINUOUS); +#endif } void ViewerWidget::PushScrubbedAudio()