From 869b3e0abde6e3e18d8b48c866ad9ee1f3e2e4f8 Mon Sep 17 00:00:00 2001 From: AlexandreRouma Date: Mon, 26 Sep 2022 15:08:01 +0200 Subject: [PATCH] thread safety + stop recorder on audio stream deselect --- misc_modules/recorder/src/main.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/misc_modules/recorder/src/main.cpp b/misc_modules/recorder/src/main.cpp index 77bec880..a0a30988 100644 --- a/misc_modules/recorder/src/main.cpp +++ b/misc_modules/recorder/src/main.cpp @@ -180,6 +180,7 @@ public: } void selectStream(std::string name) { + std::lock_guard lck(recMtx); deselectStream(); audioStream = sigpath::sinkManager.bindStream(name); if (!audioStream) { return; } @@ -188,7 +189,9 @@ public: } void deselectStream() { + std::lock_guard lck(recMtx); if (selectedStreamName.empty() || !audioStream) { return; } + if (recording && recMode == RECORDER_MODE_AUDIO) { stop(); } splitter.stop(); sigpath::sinkManager.unbindStream(selectedStreamName, audioStream); selectedStreamName = "";