mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
e8089a5bbf | |||
07537a33fa | |||
efeae8d640 |
@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16...3.25)
|
|||||||
|
|
||||||
legacy_check()
|
legacy_check()
|
||||||
|
|
||||||
set(obs-websocket_VERSION 5.3.3)
|
set(obs-websocket_VERSION 5.3.4)
|
||||||
set(OBS_WEBSOCKET_RPC_VERSION 1)
|
set(OBS_WEBSOCKET_RPC_VERSION 1)
|
||||||
|
|
||||||
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)
|
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
project(obs-websocket VERSION 5.3.3)
|
project(obs-websocket VERSION 5.3.4)
|
||||||
set(OBS_WEBSOCKET_RPC_VERSION 1)
|
set(OBS_WEBSOCKET_RPC_VERSION 1)
|
||||||
|
|
||||||
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)
|
option(ENABLE_WEBSOCKET "Enable building OBS with websocket plugin" ON)
|
||||||
|
@ -54,6 +54,20 @@ EventHandler::~EventHandler()
|
|||||||
blog(LOG_ERROR, "[EventHandler::~EventHandler] Unable to get libobs signal handler!");
|
blog(LOG_ERROR, "[EventHandler::~EventHandler] Unable to get libobs signal handler!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Revoke callbacks of all inputs and scenes, in case some still have our callbacks attached
|
||||||
|
auto enumInputs = [](void *param, obs_source_t *source) {
|
||||||
|
auto eventHandler = static_cast<EventHandler *>(param);
|
||||||
|
eventHandler->DisconnectSourceSignals(source);
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
obs_enum_sources(enumInputs, this);
|
||||||
|
auto enumScenes = [](void *param, obs_source_t *source) {
|
||||||
|
auto eventHandler = static_cast<EventHandler *>(param);
|
||||||
|
eventHandler->DisconnectSourceSignals(source);
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
obs_enum_scenes(enumScenes, this);
|
||||||
|
|
||||||
blog_debug("[EventHandler::~EventHandler] Finished.");
|
blog_debug("[EventHandler::~EventHandler] Finished.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,14 +49,21 @@ WebSocketServer::WebSocketServer() : QObject(nullptr)
|
|||||||
websocketpp::lib::placeholders::_2));
|
websocketpp::lib::placeholders::_2));
|
||||||
|
|
||||||
auto eventHandler = GetEventHandler();
|
auto eventHandler = GetEventHandler();
|
||||||
eventHandler->SetBroadcastCallback(std::bind(&WebSocketServer::BroadcastEvent, this, std::placeholders::_1,
|
if (eventHandler) {
|
||||||
std::placeholders::_2, std::placeholders::_3, std::placeholders::_4));
|
eventHandler->SetBroadcastCallback(std::bind(&WebSocketServer::BroadcastEvent, this, std::placeholders::_1,
|
||||||
|
std::placeholders::_2, std::placeholders::_3, std::placeholders::_4));
|
||||||
eventHandler->SetObsReadyCallback(std::bind(&WebSocketServer::onObsReady, this, std::placeholders::_1));
|
eventHandler->SetObsReadyCallback(std::bind(&WebSocketServer::onObsReady, this, std::placeholders::_1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WebSocketServer::~WebSocketServer()
|
WebSocketServer::~WebSocketServer()
|
||||||
{
|
{
|
||||||
|
auto eventHandler = GetEventHandler();
|
||||||
|
if (eventHandler) {
|
||||||
|
eventHandler->SetObsReadyCallback(nullptr);
|
||||||
|
eventHandler->SetBroadcastCallback(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
if (_server.is_listening())
|
if (_server.is_listening())
|
||||||
Stop();
|
Stop();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user