12804 Commits
Author SHA1 Message Date
Lain e15a92e16f libobs: Update version to 29.1.2 29.1.2 2023-05-27 14:50:49 -07:00
Richard StanwayandRodney 0bab4adf92 obs-outputs: Remove support for "RTMP Go Away" feature (#8959)
Meta have filed a patent application on the Go Away feature. This goes
against the spirit of free software and puts the use of this feature in
questionable legal status, so let's remove this code until the patent
situation is resolved.

This reverts commits a593fe6755 and
dada82fec1.

(cherry picked from commit 48a0e7822a)
2023-05-26 21:28:10 +02:00
Norihiro KamaeandRyan Foster e4142c8740 UI: Fix crash on patronJsonThread
If a user exit obs while patronJsonThread is running, the thread crashed
with the error below.
  QThread: Destroyed while thread is still running

(cherry picked from commit b21edafe98)
2023-05-26 14:47:09 -04:00
LainandRyan Foster 8b6b18079e deps/media-playback: Just null the first frame pointer on decode
memset is a little excessive considering we only check the first
pointer.

(cherry picked from commit 192d33ce86)
2023-05-26 14:47:09 -04:00
LainandRyan Foster faf4fd5b40 deps/media-playback: Check is_active when frame preloading
Adds a check to make sure that delayed preload is ignored if the stinger
is restarted/interrupted. Just adds this check to the previous commit to
make sure that it doesn't redundantly try to preload a frame when
playback is restarted.

(cherry picked from commit 40ce466f4d)
2023-05-26 14:47:09 -04:00
LainandRyan Foster 6e5e36d556 deps/media-playback: Fix crash when interrupting stingers
The `mp_media::obsframe` varaible is a variable used to store the
current frame, or the first frame on stop. However, it's never cleared,
and while decoding a frame, it's invalid. The variable was added for
delayed preloading of the first frame for stingers.

Now, for more context, when media sources stop, it stores the first
frame of the video so it can set the source's current async texture to
that frame, effectively preloading the first frame into the backend,
making it so that when you play back that media, it's able to start
playback instantly without having to wait for the thread to play back
that frame, causing seamless playback.

Normally, preload happens right when first frame is finished decoding,
thus it wasn't a problem before these variables and delayed preloading
was added. However, with stingers, I delayed that preload further
because stingers are kind of a special case because the stinger does not
clear itself right away on stop. Because of that, it was causing it to
flash the first frame at the end of the stinger. This is why `obsframe`
and `request_preload` were added: it's a way of signaling the media
source to preload the first frame when the stinger itself is fully
completed. It was added to fix that stinger bug.

However, if the user interrupts playback of the stinger (e.g. swaps to
another scene while in the middle of the transition), that
`request_preload` might still be queued and happen while the media
source is still decoding, and thus, while `obsframe` is invalid.

I realize that we should probably refactor and clean up the
media-playback lib.

(cherry picked from commit a12d5812af)
2023-05-26 14:47:09 -04:00
gxalphaandRyan Foster 3f3ff4fd92 UI: Disallow exiting settings with no track in advanced mode
(cherry picked from commit 4b37692939)
2023-05-26 14:47:09 -04:00
gxalphaandRyan Foster 85d22f5ff5 UI: Disallow exiting settings with no track in simple mode
(cherry picked from commit 2bc368349f)
2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster cc667ad7d9 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-26 14:47:09 -04:00
PatTheMavandRyan Foster 11dd933b8d libobs: Adds obs.hpp to exported header files
Required for plugins built using C++ linking against libobs.
2023-05-26 14:47:09 -04:00
gxalphaandRyan Foster 2fbd54958d 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-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 45caa065b7 win-dshow: Remove obsolete translation
A commit f50aa5e01b added a translation ConfigureAudio but never used.
2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 042f5bc139 win-capture: Remove obsolete translation
A commit 80b4a65cd2 added a translation `Method.Auto` but the source
code uses `WindowCapture.Method.Auto` instead.
2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 0c061865a6 obs-qsv11: Add missing translation 2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 8c551ad2a5 obs-outputs: Add missing translations 2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 43c419a808 obs-filters: Remove obsolete translation in expander-filter
Expander.None was never used.
2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster bce23262de 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-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 554518bc78 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-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 28d79464c2 obs-ffmpeg: Add missing translations 2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 4fd4792d96 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-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 19731875d2 mac-videotoolbox: Remove obsolete translation
A commit e461ec4be1 added a translation key "VTEncoder" but never used.
2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 1b0d905442 mac-syphon: Remove obsolete translations
A commit f9cf458c1 removed syphon-inject but translations were left.
2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 1403691e7e mac-avcapture: Add missing translation 2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster d5846867c9 linux-pulseaudio: Add missing translation 2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 5701873337 linux-capture: Remove obsolete translation
"LockX" was added by 15fb027647 and removed by later commit 1604400e4.
2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 226fcf371f linux-alsa: Add missing translations 2023-05-26 14:47:09 -04:00
Norihiro KamaeandRyan Foster 1c346639ca 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-26 14:47:09 -04:00
derrodandRyan Foster 45d06dbbc1 CI: Enable GPU priority setting for Windows builds 2023-05-26 14:47:09 -04:00
derrodandRyan Foster 9768f311be libobs-d3d11: Set priority to high instead of realtime if HAGS enabled 2023-05-26 14:47:09 -04:00
derrodandRyan Foster 80318c5577 libobs-d3d11: Refactor set_priority to use included header 2023-05-26 14:47:09 -04:00
derrodandRyan Foster 347fc668c6 libobs: Remove registry-based HAGS logging 2023-05-26 14:47:09 -04:00
derrodandRyan Foster ecb26b18f3 libobs-d3d11: Log HAGS status 2023-05-26 14:47:09 -04:00
JimandRyan Foster 22e5d98d6e 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-26 14:47:09 -04:00
JimandRyan Foster 40f7c7923c libobs: Prevent setting invalid scene item scale values
Fixes obsproject/obs-studio#7962
2023-05-26 14:47:09 -04:00
Jonathan BennettandRyan Foster 8110211a20 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-26 14:47:09 -04:00
Jonathan BennettandRyan Foster cfc65650f9 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-26 14:47:09 -04:00
gxalphaandRyan Foster 2b6bdbafb2 mac-videotoolbox: Fix incorrect keyframe interval calculation 2023-05-26 14:47:09 -04:00
gxalphaandRyan Foster 8b48d8e867 UI: Re-raise missing files dialog on macOS after file is selected 2023-05-26 14:47:09 -04:00
田七不甜andRyan Foster 890f96ed34 UI: Remove tabs for About error statements
And change error statements to translation key
2023-05-26 14:47:09 -04:00
derrodandRyan Foster 10fdafb9f1 UI: Process Qt events once after destroy queue finishes 2023-05-26 14:47:09 -04:00
derrodandRyan Foster c304480f13 UI: Only update vcam output if necessary 2023-05-26 14:47:09 -04:00
derrodandRyan Foster dfc35603cf UI: Reset VCam when clearing scene data 2023-05-26 14:47:09 -04:00
derrodandRyan Foster 809feb3ddf deps/obs-scripting: Set file/chunk name when loading lua scripts 2023-05-26 14:47:09 -04:00
田七不甜andRyan Foster 96db6187ad UI: Fix scene grid mode button color 2023-05-26 14:47:09 -04:00
田七不甜andRyan Foster 6d01b0c635 UI: Normalize theme qss files 2023-05-26 14:47:09 -04:00
Richard StanwayandRyan Foster d2019b92d4 UI: Fix crash when double-clicking projector
If "transition on double click" was enabled, OBS assumed all double
clicks were going to multiview projectors, which isn't necessarily the
case.
2023-05-26 14:47:09 -04:00
Florian ZwochandRyan Foster eb80be5bf9 obs-ffmpeg: Fix compilation when ENABLE_HEVC is not set
When ENABLE_HEVC is not set the 'bool hevc' function parameter
is not being used in this function causing a warning and aborting
compilation.
2023-05-26 14:47:09 -04:00
derrodandLain e55171f28c UI: Reset service selection to custom if name not found 2023-05-23 04:22:03 -07:00
jp9000 abb8057135 libobs: Update version to 29.1.1 29.1.1 2023-05-08 22:31:59 -07:00
PatTheMavandJim 229616af16 UI: Fix crash on macOS when closing OAUTH browser panel
Deleting the cefWidget in the panel's destructor can result in a crash
on macOS because the underlying NSView might have been destroyed in
memory between Qt closing the QDialog and the destructor call.

Moving the browser destruction into the accept and reject calls ensures
that CEF can clean up its state _before_ Qt tears down the view
hierarchy.

(cherry picked from commit efbae916fb)
2023-05-08 15:49:34 -07:00