From 473244da3ccb9f89261224441b606eb9689ce256 Mon Sep 17 00:00:00 2001 From: Palana Date: Sat, 4 Jul 2015 08:00:21 +0200 Subject: [PATCH] UI: Release recording/streaming signals before outputs --- obs/window-basic-main-outputs.cpp | 16 ++++++++-------- obs/window-basic-main-outputs.hpp | 5 +++++ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/obs/window-basic-main-outputs.cpp b/obs/window-basic-main-outputs.cpp index a8e849020..8bba627c4 100644 --- a/obs/window-basic-main-outputs.cpp +++ b/obs/window-basic-main-outputs.cpp @@ -112,14 +112,14 @@ SimpleOutput::SimpleOutput(OBSBasic *main_) : BasicOutputHandler(main_) if (!aac) throw "Failed to create audio encoder (simple output)"; - signal_handler_connect(obs_output_get_signal_handler(streamOutput), + startStreaming.Connect(obs_output_get_signal_handler(streamOutput), "start", OBSStartStreaming, this); - signal_handler_connect(obs_output_get_signal_handler(streamOutput), + stopStreaming.Connect(obs_output_get_signal_handler(streamOutput), "stop", OBSStopStreaming, this); - signal_handler_connect(obs_output_get_signal_handler(fileOutput), + startRecording.Connect(obs_output_get_signal_handler(fileOutput), "start", OBSStartRecording, this); - signal_handler_connect(obs_output_get_signal_handler(fileOutput), + stopRecording.Connect(obs_output_get_signal_handler(fileOutput), "stop", OBSStopRecording, this); } @@ -393,14 +393,14 @@ AdvancedOutput::AdvancedOutput(OBSBasic *main_) : BasicOutputHandler(main_) "(advanced output)"; } - signal_handler_connect(obs_output_get_signal_handler(streamOutput), + startStreaming.Connect(obs_output_get_signal_handler(streamOutput), "start", OBSStartStreaming, this); - signal_handler_connect(obs_output_get_signal_handler(streamOutput), + stopStreaming.Connect(obs_output_get_signal_handler(streamOutput), "stop", OBSStopStreaming, this); - signal_handler_connect(obs_output_get_signal_handler(fileOutput), + startRecording.Connect(obs_output_get_signal_handler(fileOutput), "start", OBSStartRecording, this); - signal_handler_connect(obs_output_get_signal_handler(fileOutput), + stopRecording.Connect(obs_output_get_signal_handler(fileOutput), "stop", OBSStopRecording, this); } diff --git a/obs/window-basic-main-outputs.hpp b/obs/window-basic-main-outputs.hpp index b3d6b39fa..4d63b0f17 100644 --- a/obs/window-basic-main-outputs.hpp +++ b/obs/window-basic-main-outputs.hpp @@ -8,6 +8,11 @@ struct BasicOutputHandler { int activeRefs = 0; OBSBasic *main; + OBSSignal startRecording; + OBSSignal stopRecording; + OBSSignal startStreaming; + OBSSignal stopStreaming; + inline BasicOutputHandler(OBSBasic *main_) : main(main_) {} virtual ~BasicOutputHandler() {}; -- GitLab