From d3ccf1b889e986e10fcf5ba6e9e09e528f6e6c9c Mon Sep 17 00:00:00 2001 From: PatTheMav Date: Sun, 26 Feb 2023 23:49:46 +0100 Subject: [PATCH] UI: Add support for error messages from the Virtual Camera system --- UI/data/locale/en-US.ini | 1 + UI/window-basic-main-outputs.cpp | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index e35de5e76..82d45d6b4 100644 --- a/UI/data/locale/en-US.ini +++ b/UI/data/locale/en-US.ini @@ -392,6 +392,7 @@ ConfirmReset.Text="Are you sure you wish to reset current properties to their de Output.StartStreamFailed="Failed to start streaming" Output.StartRecordingFailed="Failed to start recording" Output.StartReplayFailed="Failed to start replay buffer" +Output.StartVirtualCamFailed="Failed to start virtual camera" Output.StartFailedGeneric="Starting the output failed. Please check the log for details.\n\nNote: If you are using the NVENC or AMD encoders, make sure your video drivers are up to date." # replay buffer + pause warning message diff --git a/UI/window-basic-main-outputs.cpp b/UI/window-basic-main-outputs.cpp index 5f88ea3a4..8438eadc6 100644 --- a/UI/window-basic-main-outputs.cpp +++ b/UI/window-basic-main-outputs.cpp @@ -318,8 +318,22 @@ bool BasicOutputHandler::StartVirtualCam() SetupOutputs(); bool success = obs_output_start(virtualCam); - if (!success) + if (!success) { + QString errorReason; + + const char *error = obs_output_get_last_error(virtualCam); + if (error) { + errorReason = QT_UTF8(error); + } else { + errorReason = QTStr("Output.StartFailedGeneric"); + } + + QMessageBox::critical(main, + QTStr("Output.StartVirtualCameraFailed"), + errorReason); + DestroyVirtualCamView(); + } return success; }