65 Commits
Author SHA1 Message Date
PatTheMavandRyan Foster d838e11983 plugins: Force C language for clang-format
Only applies to actual C-based plugins.
2026-06-17 15:17:09 -04:00
Matt GajownikandRyan Foster a5f0988933 Update translations from Crowdin 2026-01-10 01:02:43 -05:00
Translation UpdaterandTranslation Updater 0b2c85845e Update translations from Crowdin 2024-12-06 23:21:55 +00:00
Translation UpdaterandTranslation Updater e6d9f73736 Update translations from Crowdin 2024-10-05 05:02:27 +00:00
Ryan Foster a1fbf1015f clang-format: Increase column limit from 80 to 120 2024-10-04 18:19:27 -04:00
PatTheMavandRyan Foster 6c590805e8 cmake: Update supported CMake version range to 3.28 and 3.30 2024-09-13 14:42:32 -04:00
tytan652andRyan Foster 31385006d5 Remove legacy_check CMake macro
The macro was not removed in 72428ccd97
waiting for submodules to be be updated to a commit where their legacy
code path is removed.
2024-09-11 13:24:39 -04:00
tytan652andRyan Foster 72428ccd97 Remove CMake legacy code path
Except submodules and legacy_check macro since the former depend on it.
2024-08-28 13:53:25 -04:00
PatTheMavandRyan Foster b8cfacaec3 Update formatting of CMake files 2024-08-14 12:07:47 -04:00
Translation UpdaterandTranslation Updater 8999d9fef9 Update translations from Crowdin 2024-06-07 09:47:58 +00:00
PatTheMavandRyan Foster 4ecfdb722f plugins: Add Linux-specific plugins for CMake build framework 3.0 2024-04-13 23:48:38 -04:00
VainockandRyan Foster 7ae66c72fd Update translations from Crowdin 2024-02-28 14:20:05 -05:00
Translation UpdaterandTranslation Updater ac484a066f Update translations from Crowdin 2024-01-29 20:47:38 +00:00
Translation UpdaterandTranslation Updater ecf914dd67 Update translations from Crowdin 2023-08-13 14:09:15 +00:00
PatTheMavandRyan Foster 349372b3b3 cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00
univrsalandGeorges Basile Stavracas Neto cddf69d69f linux-jack: Prepend devices with "OBS Studio: "
This makes it more clear that the device belongs to OBS.
Fixes #7988
2023-02-16 15:17:11 -03:00
Translation UpdaterandTranslation Updater 783bd52197 Update translations from Crowdin 2023-01-08 04:10:37 +00:00
Translation UpdaterandTranslation Updater 81734be37c Update translations from Crowdin 2022-07-31 23:40:53 +00:00
PatTheMavandRyan Foster aae3a6a466 cmake: Fix diverging prefix padding for OBS status outputs
Status output related to OBS configuration is prefixed with the string
"OBS" and added padding for enabled and disabled features. This padding
was not aligned between platforms.

By moving the padding and prefix decoration into its own function,
both elements are controlled in a single place. CMake scripts were
changed to use this new function `obs_status` instead of using CMake's
`message` function directly.
2022-03-26 09:44:23 -04:00
PatTheMav 49e9d49943 plugins: Update CMakeLists.txt for included plugins 2022-03-16 23:11:08 +01:00
Translation UpdaterandTranslation Updater ac8dbf67be Update translations from Crowdin 2022-02-06 02:24:08 +00:00
Translation UpdaterandTranslation Updater 261345f9ef Update translations from Crowdin 2021-12-12 02:38:59 +00:00
VainockandJim 11a690b038 Update translations from Crowdin 2021-09-24 09:42:08 -07:00
TranslationandJim ef2b1eb1c6 Update translations from Crowdin 2021-06-11 07:18:15 -07:00
Gol-D-Ace 90df8d44df Update translations from Crowdin 2021-05-30 20:33:35 +02:00
Hector MartinandJim 9616b79026 linux-jack: fix deadlock when closing the client
This lock causes a deadlock when freeing the JACK client while a
process callback is pending:

deactivate_jack -> locks mutex
   JACK thread -> calls jack_process_callback
   jack_process_callback -> blocks on mutex
jack_client_close -> joins JACK thread
(deadlock as the process callback never returns)

Instead, just don't lock the mutex. This is only mutexing on
creation/destruction of the JACK client. This is not necessary: the
process callback will only run after jack_activate (which is right
before the mutex is released in jack_init()), and will stop running
by the time jack_client_close returns. We don't actually need to
unregister any ports, so just call jack_client_close first thing in
deactivate_jack, which will guarantee the process callback has
completed before returning.

In fact, jack_process_callback isn't allowed to lock any mutexes or
allocate any memory at all, so this plug-in is still broken in this way
as obs_source_output_audio does that. This can cause audio xruns, as
realtime guarantees are violated. This is something that should be
fixed in the future, but at least it's not a deadlock.
2021-01-03 11:08:58 -08:00
Hector MartinandJim 5d6bca0fd2 linux-jack: mark ports as JackPortIsTerminal
Ports which do not feed audio back into JACK should be marked as terminal.
This allows latency compensation to work properly.
2021-01-03 11:08:58 -08:00
Hector MartinandJim df6446c573 linux-jack: fix timestamp calculation
The previous calculation was completely broken, returning offset
timestamps in the best case, and complete insanity in the worst case
(e.g. if an xrun occurs or JACK otherwise has a glitch).
2021-01-03 11:08:58 -08:00
Gol-D-Ace 7368a2c7cc Update translations from Crowdin 2020-12-14 00:29:44 +01:00
jp9000 00f0d5eb4e Revert #3856
It's a bit too close to release, so revert #3856 for now until there's
an open PR window instead.
2020-12-12 12:28:02 -08:00
Hector MartinandJim a602fa8797 linux-jack: fix timestamp calculation
The previous calculation was completely broken, returning offset
timestamps in the best case, and complete insanity in the worst case
(e.g. if an xrun occurs or JACK otherwise has a glitch).
2020-12-12 12:05:28 -08:00
Hector MartinandJim b7567f23fb linux-jack: fix deadlock when closing the client
This lock causes a deadlock when freeing the JACK client while a
process callback is pending:

deactivate_jack -> locks mutex
   JACK thread -> calls jack_process_callback
   jack_process_callback -> blocks on mutex
jack_client_close -> joins JACK thread
(deadlock as the process callback never returns)

Instead, just don't lock the mutex. This is only mutexing on
creation/destruction of the JACK client. This is not necessary: the
process callback will only run after jack_activate (which is right
before the mutex is released in jack_init()), and will stop running
by the time jack_client_close returns. We don't actually need to
unregister any ports, so just call jack_client_close first thing in
deactivate_jack, which will guarantee the process callback has
completed before returning.

In fact, jack_process_callback isn't allowed to lock any mutexes or
allocate any memory at all, so this plug-in is still broken in this way
as obs_source_output_audio does that. This can cause audio xruns, as
realtime guarantees are violated. This is something that should be
fixed in the future, but at least it's not a deadlock.
2020-12-12 12:05:28 -08:00
Hector MartinandJim a5439d29d0 linux-jack: mark ports as JackPortIsTerminal
Ports which do not feed audio back into JACK should be marked as terminal.
This allows latency compensation to work properly.
2020-12-12 12:05:28 -08:00
Gol-D-Ace 7ab98ca00f Update translations from Crowdin 2020-11-25 20:11:39 +01:00
Gol-D-Ace c66ebde080 Update translations from Crowdin 2020-09-27 23:07:27 +02:00
jp9000 7993179466 cmake: Add cmake folders 2020-05-13 06:52:37 -07:00
chaselliu 04e76d7d94 linux-jack: Fix conversion from channels to speaker layout 2020-04-13 22:42:31 +08:00
Gol-D-Ace d74fc65047 Update translations from Crowdin 2020-03-16 20:14:50 +01:00
Clayton Groeneveldandjp9000 82ffcdc827 UI: Add source icons 2019-11-24 20:50:42 -08:00
Gol-D-Ace 03b5be75e4 Update translations from Crowdin 2019-09-17 23:21:00 +02:00
jp9000 f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
Gol-D-Ace 973bc481ce Update translations from Crowdin 2019-06-11 01:42:42 +02:00
Gol-D-Ace e78ac5ebef Update translations from Crowdin 2019-04-04 16:19:51 +02:00
Gol-D-Ace 98f78fe3a7 Update translations from Crowdin 2019-02-25 15:11:33 +01:00
JimandGitHub af320a0838 Merge pull request #1480 from kkartaltepe/module-descriptions
Plugins: Add descriptions to modules
2018-09-16 15:34:28 -07:00
Kurt Kartaltepe d86c8121ed Plugins: Add descriptions to modules 2018-09-11 18:28:58 -07:00
Dmitry-Me 6455b39cde linux-jack: Fix snprintf format specifier 2018-09-04 11:10:46 +03:00
Gol-D-Ace 88282c168c Update translations from Crowdin 2018-03-15 09:00:28 +01:00
Gol-D-Ace ae22886f67 Update translations from Crowdin 2018-01-22 04:55:52 +01:00
pkvietandjp9000 fb580535c9 libobs/media-io: Clean surround API
(also modifies obs-ffmpeg, audio-monitoring, win-wasapi, decklink,
obs-outputs)

Removes speaker layouts which are not exposed in UI.  The speaker
layouts selectable by users in the UI are the most common ones.  It is
not necessary to keep other layouts.  (This basically removes
5POINT1_SURROUND, 7POINT1_SURROUND, SURROUND =3.0).
2018-01-05 09:47:59 -08:00