TheRealAlexV 3b63db2bde
Some checks failed
debian-build / build (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
Fix crash in SendWebsocketVendorEvent during OBS shutdown
Guard the vendor event emission with obs_get_module("obs-websocket").
During obs_shutdown() modules are unloaded one-by-one; obs-websocket is
unloaded before advanced-scene-switcher, so the proc handler pointer (_ph)
cached in obs-websocket-api.h is already stale when FreeSceneSwitcher()
runs its stop steps. proc_handler_call() then dereferences freed memory
(use-after-free in pthread_mutex_unlock).

The existing OBSIsShuttingDown() guard does not catch this path: the
forced-exit that follows a "Source Cleanup Error" (scene collection
switch) never fires the SCRIPTING_SHUTDOWN frontend event, so the
plugin's obsIsShuttingDown flag is not set. obs_get_module() returns NULL
once the module is unloaded, which is the reliable signal that
obs-websocket's proc handler is gone.

Refs: #1404
2026-09-13 11:08:04 +02:00
2026-08-05 12:00:34 +02:00
2026-09-08 22:48:13 +02:00
2024-02-17 10:03:04 +01:00
2026-08-05 12:00:34 +02:00
2024-03-15 21:27:08 +01:00
2017-06-02 15:23:52 +02:00

An automation plugin for OBS Studio.
More information can be found in the OBS forums or the plugin's wiki.

Downloads

Binaries for Windows, MacOS, and Linux are available in the Releases section.

Installing the plugin

For the Windows and MacOS platforms, it is recommended to run the provided installers.

On Linux the plugin is available via the Flatpak package manager for users who installed OBS via Flatpak:

flatpak install com.obsproject.Studio.Plugin.SceneSwitcher

More information can be found here.

Contributing

  • If you wish to contribute code to the project, have a look at this section describing how to compile the plugin.
  • You can add custom conditions and actions at runtime using the API described here.
  • You can optionally use pre-commit to automatically handle formatting.
  • If you wish to contribute translations, feel free to submit pull requests for the corresponding files under data/locale.
Description
An automation tool for OBS Studio
Readme GPL-2.0 115 MiB
Languages
C++ 95.1%
CMake 3.6%
Python 0.5%
Lua 0.4%
Objective-C++ 0.3%