diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index d5c5b89ea..e0532bb26 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -2532,6 +2532,27 @@ void OBSBasic::OpenSceneFilters() CreateFiltersWindow(source); } +void OBSBasic::StartStreaming() +{ + SaveProject(); + + if (outputHandler->StreamingActive()) + return; + + if (outputHandler->StartStreaming(service)) { + ui->streamButton->setEnabled(false); + ui->streamButton->setText(QTStr("Basic.Main.Connecting")); + } +} + +void OBSBasic::StopStreaming() +{ + SaveProject(); + + if (outputHandler->StreamingActive()) + outputHandler->StopStreaming(); +} + void OBSBasic::StreamingStart() { ui->streamButton->setText(QTStr("Basic.Main.StopStreaming")); @@ -2608,16 +2629,10 @@ void OBSBasic::RecordingStop() void OBSBasic::on_streamButton_clicked() { - SaveProject(); - if (outputHandler->StreamingActive()) { - outputHandler->StopStreaming(); + StopStreaming(); } else { - if (outputHandler->StartStreaming(service)) { - ui->streamButton->setEnabled(false); - ui->streamButton->setText( - QTStr("Basic.Main.Connecting")); - } + StartStreaming(); } } diff --git a/obs/window-basic-main.hpp b/obs/window-basic-main.hpp index 8d0cadb62..a628e3fd5 100644 --- a/obs/window-basic-main.hpp +++ b/obs/window-basic-main.hpp @@ -152,6 +152,9 @@ private: void OpenProjector(obs_source_t *source, int monitor); public slots: + void StartStreaming(); + void StopStreaming(); + void StreamingStart(); void StreamingStop(int errorcode);