Browse Source

UI: Inhibit sleep/screensavers while active

jp9000 10 years ago
parent
commit
274841860b
2 changed files with 6 additions and 0 deletions
  1. 5 0
      obs/window-basic-main.cpp
  2. 1 0
      obs/window-basic-main.hpp

+ 5 - 0
obs/window-basic-main.cpp

@@ -941,6 +941,8 @@ void OBSBasic::OBSInit()
 
 	connect(ui->preview, &OBSQTDisplay::DisplayCreated, addDisplay);
 
+	sleepInhibitor = os_inhibit_sleep_create("OBS Video/audio");
+	os_inhibit_sleep_set_active(sleepInhibitor, true);
 	show();
 }
 
@@ -1193,6 +1195,9 @@ OBSBasic::~OBSBasic()
 		}
 	}
 #endif
+
+	os_inhibit_sleep_set_active(sleepInhibitor, false);
+	os_inhibit_sleep_destroy(sleepInhibitor);
 }
 
 void OBSBasic::SaveProjectNow()

+ 1 - 0
obs/window-basic-main.hpp

@@ -89,6 +89,7 @@ private:
 
 	QPointer<QTimer>    cpuUsageTimer;
 	os_cpu_usage_info_t *cpuUsageInfo = nullptr;
+	os_inhibit_t        *sleepInhibitor = nullptr;
 
 	OBSService service;
 	std::unique_ptr<BasicOutputHandler> outputHandler;