Commit graph

12837 commits

Author SHA1 Message Date
gxalpha 2bc368349f UI: Disallow exiting settings with no track in simple mode 2023-05-24 12:30:27 -04:00
Norihiro Kamae 63e0bff5e6 UI: Fix crash when receiving multiple SIGINT
When there are two or more SIGINT signals were sent to obs, obs crashes
because the 2nd SIGINT calls `close` though the main window has been
deleted.
2023-05-23 04:17:11 -07:00
gxalpha a874c19bef mac-virtualcam: Fix admin password locale string 2023-05-23 03:58:34 -07:00
cg2121 fc8c428521 UI: Move saving of scene tree grid mode
Widget shouldn't save their own states, as then they can't be used
elsewhere.
2023-05-21 01:48:13 -07:00
cg2121 20896280b1 UI: Fix compiling error on Ubuntu
Makes sure ceil function uses std namespace
2023-05-21 01:48:13 -07:00
CodeYan01 1d45881fcb obs-ffmpeg: Add option to disable settings logging
Allows plugins to disable the logging of settings every time the ffmpeg
source is updated, by passing "log_changes" as true in the settings.
2023-05-20 17:52:56 -07:00
Exeldro d9bb556c97 win-dshow: Set audio only active when there is audio 2023-05-20 17:21:40 -07:00
cg2121 3a53882675 UI: Add scene grid mode to view menu
Makes toggling of the scene list grid mode also available in the
view menu.
2023-05-20 17:06:18 -07:00
David Rosca 17cb966c62 obs-ffmpeg: Add FFmpeg Options for VA-API 2023-05-20 16:56:39 -07:00
gxalpha 58fb63030c UI: Only defer property updates for input and transition sources
Deferring properties was only ever made for input and transition
sources. As other property dialogs do not have an "Ok" button that would
cause an update to happen, if the deferred flag was set the callback
would never be called.
Also clarifies the docs to reflect this.
2023-05-20 16:55:50 -07:00
PatTheMav ccedbc0218 UI: Update display capture toolbar dropdown to use uuid field 2023-05-20 16:50:16 -07:00
PatTheMav fb9b5c829a mac-capture: Switch to UUID-based display management
Using UUIDs to store display references in obs-studio's settings file
allows us to "rediscover" devices even between restarts
(as CGDirectDisplayID changes between those) and select the same device.
2023-05-20 16:50:16 -07:00
gxalpha ad9fd6c6f0 libobs,UI: Add properties radio button list 2023-05-20 16:48:23 -07:00
gxalpha f049962bb2 libobs: Add properties list boolean format 2023-05-20 16:48:23 -07:00
tt2468 d314d4725d libobs, plugins: Deprecate obs_output_t functions with flag parameters
This deprecates the following functions, replacing them with new
versions:
- `obs_output_can_begin_data_capture()` - now `*capture2()`
- `obs_output_initialize_encoders()` - now `*encoders2()`
- `obs_output_begin_data_capture()` - now `*capture2()`

The flags parameter was initially designed to support audio-only or
video-only operation of an output which had the `OBS_OUTPUT_AV` flag,
however, full support for that was never implemented, and there are
likely fundamental issues with an implementation, mainly that most
outputs are programmed assuming that there will always be at least one
audio and one video track. This requires new flags specifying support
for optional audio/video, among other things.

An implementation to allow audio/video to be optional is best done
using the flag technique above, with audio/video enablement specified
by whether media (raw, `video_t/audio_t`) or encoder (`obs_encoder_t`)
objects are specified.

Since every implementation I could find always specifies `flags` as 0,
I was able to safely conclude that immediately removing the parameter's
functionality is safe to do.
2023-05-20 16:41:55 -07:00
PatTheMav e400d3f1bc libobs: Fix struct type usage before actual include
In its current form `struct dstr` is used in functions declarations
in the header file before the actual type is included (as `dstr.h` is
included after in `window-helpers.c`.

`clang-cl` is unable to compile this code because the function signature
 defined in the header will not match the implementation in the source 
 code due to the implicit forward-declaration of `struct dstr` before 
 the type is included in the actual header.
2023-05-20 16:37:19 -07:00
gxalpha 47d6d7e943 mac-virtualcam: Omit enqueue result codes 2023-05-21 01:35:43 +02:00
Norihiro Kamae 1291461219 win-dshow: Remove obsolete translation
A commit f50aa5e01b added a translation ConfigureAudio but never used.
2023-05-20 16:35:05 -07:00
Norihiro Kamae 7a3486ba6d win-capture: Remove obsolete translation
A commit 80b4a65cd2 added a translation `Method.Auto` but the source
code uses `WindowCapture.Method.Auto` instead.
2023-05-20 16:35:05 -07:00
Norihiro Kamae 82ea5aaa48 obs-qsv11: Add missing translation 2023-05-20 16:35:05 -07:00
Norihiro Kamae e9b65d58bb obs-outputs: Add missing translations 2023-05-20 16:35:05 -07:00
Norihiro Kamae efa69ab0bd obs-filters: Remove obsolete translation in expander-filter
Expander.None was never used.
2023-05-20 16:35:05 -07:00
Norihiro Kamae 38b4cce99e obs-filters: Add missing translation in chroma-key-filter
A selection Custom for a property key_color_type was not translated.
Use the same translation key CustomColor as color-key-filter.
2023-05-20 16:35:05 -07:00
Norihiro Kamae d9c34eff8b obs-ffmpeg: Add missing translations
The name of the obs_output_t won't appear in usual operation but some
output types have the translation and others do not. Let's translate
them.
Also translate `FilePath` property name.
2023-05-20 16:35:05 -07:00
Norihiro Kamae abb92878f1 obs-ffmpeg: Add missing translations 2023-05-20 16:35:05 -07:00
Norihiro Kamae 4aaffe16ec obs-ffmpeg: Remove obsolete translations
A commit 4e140d2ff added AMF error messages but they were never used.
A commit 45d029b1f removed some code but a translation key "Advanced"
was left.
A commit 77fbfbe5c removed code to translate NVENC.TooManyBFrames but
the translation key was left.
A commit 6cc7cf3d5 removed the code to select codecs but the translation
was left.
2023-05-20 16:35:05 -07:00
Norihiro Kamae 9c7d535b13 mac-videotoolbox: Remove obsolete translation
A commit e461ec4be1 added a translation key "VTEncoder" but never used.
2023-05-20 16:35:05 -07:00
Norihiro Kamae fe626f444c mac-syphon: Remove obsolete translations
A commit f9cf458c1 removed syphon-inject but translations were left.
2023-05-20 16:35:05 -07:00
Norihiro Kamae 21144b7200 mac-avcapture: Add missing translation 2023-05-20 16:35:05 -07:00
Norihiro Kamae 05bc8c4ff1 linux-pulseaudio: Add missing translation 2023-05-20 16:35:05 -07:00
Norihiro Kamae 6815c09aba linux-capture: Remove obsolete translation
"LockX" was added by 15fb027647 and removed by later commit 1604400e4.
2023-05-20 16:35:05 -07:00
Norihiro Kamae 33f1f198fa linux-alsa: Add missing translations 2023-05-20 16:35:05 -07:00
Norihiro Kamae c335219582 UI: Fix missing translations
This commit fixes a typo in a translation key, adds two missing
translations, and also removes obsolete translations in the translation
files.
2023-05-20 16:27:28 -07:00
derrod 7668c15a75 CI: Enable GPU priority setting for Windows builds 2023-05-20 16:26:09 -07:00
derrod 9de6b18d5c libobs-d3d11: Set priority to high instead of realtime if HAGS enabled 2023-05-20 16:24:58 -07:00
derrod 283d59f068 libobs-d3d11: Refactor set_priority to use included header 2023-05-20 16:24:58 -07:00
derrod 1ca72bcc54 libobs: Remove registry-based HAGS logging 2023-05-20 16:24:58 -07:00
derrod 0a477ba3ba libobs-d3d11: Log HAGS status 2023-05-20 16:24:58 -07:00
Lain 106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07:00
Jim fcfc2eb5fc UI: Fix 0,0 size transform bug when resizing sources
Fix a bug where if a source's width or height becomes 0 while you're
stretching the size of a source or modifying it from the transform
dialog, it would become permanently invisible

Closes obsproject/obs-studio#7962
2023-05-19 17:31:14 -07:00
Jim 38e5411490 libobs: Prevent setting invalid scene item scale values
Fixes obsproject/obs-studio#7962
2023-05-19 17:31:14 -07:00
Jonathan Bennett caa80c2a41 libobs: Rework logic for detecting monitoring feedback in PulseAudio
The option of default device or specified device for audio input
and monitoring device made for a matrix of four possible combinations.
Not all combinations were properly detecting feedback potential.
This reworks the logic so we properly detect in all four cases.
2023-05-19 15:18:37 -04:00
Jonathan Bennett 4052775399 libobs: Fix PulseAudio monitoring when device is set to default
When the monitoring device is set to default, this bit of code was
appending the no-longer-needed ".monitor" to the device name.

Fixes #8877
2023-05-19 15:18:37 -04:00
gxalpha 0cc7ea7a2a mac-videotoolbox: Fix incorrect keyframe interval calculation 2023-05-18 18:28:53 -04:00
gxalpha f6b6873aaa UI: Re-raise missing files dialog on macOS after file is selected 2023-05-18 18:07:12 -04:00
田七不甜 e1b02e5b8a UI: Remove tabs for About error statements
And change error statements to translation key
2023-05-18 16:13:59 -04:00
PatTheMav 3c28d3a2bc cmake: Remove use of CPack and generate packaging AppleScript directly 2023-05-18 14:41:08 -04:00
PatTheMav 292191e980 CI: Update workflow to support provisioning profiles for macOS 2023-05-18 14:41:08 -04:00
PatTheMav d3ccf1b889 UI: Add support for error messages from the Virtual Camera system 2023-05-18 14:41:08 -04:00
PatTheMav 3f85e447a8 mac-virtualcam: Add Camera Extension to main CMake plugin project
Camera Extensions require specific entitlements for the hosting app,
which also require a provisioning profile. To avoid breaking local
builds that do not require the camera extension, an additional
entitlements file that will not trigger the provisioning profile
requirement will be used if the virtualcam (but not the Camera
Extension) is configured.
2023-05-18 14:41:08 -04:00