[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#45707] [PATCH v2] gnu: Add obs-v4l2sink.
From: |
Alexey Abramov |
Subject: |
[bug#45707] [PATCH v2] gnu: Add obs-v4l2sink. |
Date: |
Thu, 07 Jan 2021 09:19:16 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi Evan,
You can make it work.
In order to provide plugins for obs via $XDG_CONFIG_HOME (~/.config) you need
to provide the following structure:
"$XDG_CONFIG_HOME/obs-studio/plugins/<module-name>/bin/<arch>/"
As it implemented in obs-studio (~/obs-studio/UI/window-basic-main.cpp)
--8<---------------cut here---------------start------------->8---
static void AddExtraModulePaths()
{
char base_module_dir[512];
#if defined(_WIN32) || defined(__APPLE__)
int ret = GetProgramDataPath(base_module_dir, sizeof(base_module_dir),
"obs-studio/plugins/%module%");
#else
int ret = GetConfigPath(base_module_dir, sizeof(base_module_dir),
"obs-studio/plugins/%module%");
#endif
if (ret <= 0)
return;
string path = base_module_dir;
#if defined(__APPLE__)
obs_add_module_path((path + "/bin").c_str(), (path +
"/data").c_str());
BPtr<char> config_bin =
os_get_config_path_ptr("obs-studio/plugins/%module%/bin");
BPtr<char> config_data =
os_get_config_path_ptr("obs-studio/plugins/%module%/data");
obs_add_module_path(config_bin, config_data);
#elif ARCH_BITS == 64
obs_add_module_path((path + "/bin/64bit").c_str(),
(path + "/data").c_str());
#else
obs_add_module_path((path + "/bin/32bit").c_str(),
(path + "/data").c_str());
#endif
}
--8<---------------cut here---------------end--------------->8---
So what I am currently have is this:
--8<---------------cut here---------------start------------->8---
λ find ~/.config/obs-studio/plugins
/home/levenson/.config/obs-studio/plugins
/home/levenson/.config/obs-studio/plugins/v4l2sink
/home/levenson/.config/obs-studio/plugins/v4l2sink/bin
/home/levenson/.config/obs-studio/plugins/v4l2sink/bin/64bit
/home/levenson/.config/obs-studio/plugins/v4l2sink/bin/64bit/v4l2sink.so
--8<---------------cut here---------------end--------------->8---
where the library is a symlink
v4l2sink.so -> /home/levenson/.guix-profile/lib/obs-plugins/v4l2sink.so
--
Alexey
[bug#45707] [PATCH v2] gnu: Add obs-v4l2sink., pelzflorian (Florian Pelz), 2021/01/15