Commit Graph

8978 Commits (979054cc8c8f3d080618c99f20b807c7cf4233e6)

Author SHA1 Message Date
jp9000 979054cc8c rtmp-services: Fix json formatting 2021-01-02 12:29:13 -08:00
Richard Stanway d0cbc83da2 libobs: Avoid unnecessary mallocs in audio processing 2021-01-02 14:53:19 +01:00
Warchamp7 4b2fe7b552 UI: Fix padding on Acri context bar buttons 2021-01-02 04:36:17 -08:00
Clayton Groeneveld 51050f7181 image-source: Fix slideshow transition bug when randomized
This fixes a bug where the transition wouldn't work when playback
is randomized and restart on activate is used.
2021-01-02 04:35:24 -08:00
Andrew Woodward ae9b7eaa9a docs/sphinx: Add missing obs_frontend_open_projector 2021-01-02 04:34:59 -08:00
Michael R. Crusoe 1e96573328 libobs: Update to SIMDe 0.7.1
c3d7abfaba

Simplify usage of the SIMDe header

This obviates the need for sse2neon as well and fixes compilation of all
plugins that referenced sse-intrin.h on all architectures, not just
arm*.
2021-01-02 04:07:55 -08:00
Clayton Groeneveld fdd34c35fc libobs: Set lock state when duplicating scene item
Fixes bug where the lock state wouldn't be copied when duplicating
a scene.
2020-12-31 13:26:39 -08:00
pkubaj d46e8b03c9 libobs: Add definitions in ARCH_SIMD_DEFINES
This is necessary on ppc64 to build plugins that use cmake, so that
-DNO_WARN_X86_INTRINSICS is defined.
2020-12-31 06:31:25 -08:00
pkubaj 1eda236aff cmake: Add ARCH_SIMD_DEFINES variable
It's necessary on ppc64 for plugins that use cmake.
2020-12-31 06:31:25 -08:00
Biswapriyo Nath e6ff2b6729 coreaudio-encoder: Fix cmake for mingw
This prevents windres to catch up '-Wno-multichar' as an option which is
unknown to it.  This flag was added in commit
aa0e64b7c9
2020-12-29 13:17:29 -08:00
jp9000 cdd94b2b59 Revert "UI: Only apply new scaling behavior on newer installs"
This reverts commit 4e5f20dcbe.

This originally was added because of a faulty assumption that it would
change defaults, but defaults were apparently broken from 26.0.2 -> 26.1
because primaryScreen->size() changed its behavior, so the original code
technically fixed the original behavior.
2020-12-29 09:13:37 -08:00
jp9000 4e5f20dcbe UI: Only apply new scaling behavior on newer installs
The new scaling behavior affects defaults, so only apply it to new
installs of 26.2 or greater, while maintaining the previous behavior if
the user is upgrading from an older version.
2020-12-29 08:58:30 -08:00
Ryan Foster 5cdd084c7f UI: Support fractional scaling for Canvas/Base size
Without this change, new profiles created on systems using a fractional
scaling factor (e.g., 125%, 150%, 175%) will get an incorrect (X, Y)
pair for the new canvas size. For a display with 125% scaling, OBS would
set (1536, 864) instead of (1920, 1080). With this change, it will set
(1920, 1080).
2020-12-29 08:40:07 -08:00
gxalpha ac8eaad483 mac-virtualcam: Remove unnecessary logging
Removes logging from the DAL plugin that is not really necessary but spams Console.app
2020-12-29 05:48:10 -08:00
gxalpha 20c41dba8a mac-virtualcam: Mark parameters as unused
Marks function parameters as unused, removing compiler warnings
2020-12-29 05:45:54 -08:00
Justin Bull 627aaeddb4 image-source: Add .webp to "All formats" option 2020-12-29 00:39:22 -08:00
Justin Bull 940a07e62f image-source: Add webp to file filter 2020-12-29 00:39:22 -08:00
PatTheMav 20fb235b8f CI: Remove jack, speex and fdk-aac from default builds for macOS 2020-12-22 04:36:12 -08:00
Richard Stanway e5c6839904 libobs, obs-ffmpeg: Use correct value for EINVAL error check
FFmpeg functions such as av_interleaved_write_frame return negative
on error, so all errno values are negated.
2020-12-21 18:37:49 +01:00
Richard Stanway 2678d351f5 UI/updater: Increase number of download workers
Request / response latency dominates the download time of small
files and patches, especially the locale files. Increasing this to
4 doesn't consume many more resources and basically doubles the
download speed, especially on higher latency connections.
2020-12-21 18:32:39 +01:00
Richard Stanway f0ed8c337e UI/updater: Enable HTTP2 and TLS 1.3
Unfortunately WinHTTP doesn't support multiplexing with HTTP2, but there
is still some minor benefit to enabling it. Windows 10 21H1 will enable
TLS 1.3 client support in Schannel, so let's get ready for it.
2020-12-21 18:32:39 +01:00
Gol-D-Ace 513e95d0f6
UI: Fix name of kab-KAB locale 2020-12-21 16:04:27 +01:00
Rodney 60fed63d68
Merge pull request #3877 from derrod/purge-services
UI/rtmp-services: Remove Smashcast
2020-12-21 09:46:53 +01:00
Colin Edwards 8285141ba5 decklink: Fix automatic pixel format detection 2020-12-20 14:44:14 -08:00
PatTheMav 20bb465047 CI: Fix macOS 10.13 crashes due to unsupported library symbols 2020-12-19 18:48:38 -08:00
Richard Stanway 6b2830b16f UI/installer: Add additional VS2019 DLL check 2020-12-20 02:57:15 +01:00
SCG82 c7b89fa36b mac-virtualcam: Fix file mode 2020-12-18 00:11:00 -08:00
Jim ddc5af2e08
Merge pull request #3805 from PatTheMav/macos-cef-4183
CI: Add necessary changes for CEF 4183
2020-12-18 00:10:17 -08:00
Theodore Dubois fb938c186f CI: Run make with -j$(nproc)
Moar threads for moar cores
2020-12-17 23:58:21 -08:00
Colin Edwards 7f622d907a
Merge pull request #3917 from RytoEX/cleanup-ci-files
CI: Remove obsolete and unused files
2020-12-17 10:40:49 -06:00
Ryan Foster 2ca1521f72 CI: Remove obsolete and unused files
All of these files have been relocated or replaced, so they should be
safe to remove now.
2020-12-17 02:05:49 -05:00
PatTheMav c85bf0fcba
libobs: Add texture sharing support for macOS/OpenGL 2020-12-16 12:56:43 +01:00
PatTheMav ad1b98351c
CI: Add necessary changes for CEF 4183 2020-12-16 12:56:42 +01:00
Richard Stanway 9201390a46 UI/updater: Move in-use files away before writing
On a modern Windows OS, you can rename an in-use file despite not being
able to write to it. With the introduction of the virtual camera, it is
now quite common that users will have in-use files when updating. This
commit renames in-use files, allowing the new version to be installed.
Upon a reboot, the previously in-use file will be deleted.
2020-12-15 21:11:47 +01:00
Richard Stanway c0d7602b64 UI/updater: Always clean up temporary files
If an update failed to install, it would leave a single temporary file
behind for that particular patch / file.
2020-12-15 21:11:35 +01:00
Richard Stanway 38ad3ba18f UI: Add deferred function to update context bar
With the queued connection in d68484e7, the "Deselect" signal for
sources which are being deleted is never fired, as the object is gone by
the time the queued signal is processed. This results in the context bar
not updating.

This commit adds a new UpdateContextBarDeferred function, allowing
queuing of only the context bar update instead of the whole signal
handler.
2020-12-14 11:53:01 -08:00
jp9000 580eecda01 UI: Fix installer/updater check for vs2019 32bit
VS2019 32bit redist does not have/use vcruntime140_1.dll, so remove
those checks from the installer and auto-updater.
2020-12-13 21:59:21 -08:00
derrod a605770a2b UI: Remove Smashcast from AutoConfig 2020-12-14 05:04:40 +01:00
derrod 47ba751e24 rtmp-services: Remove Smashcast 2020-12-14 04:45:54 +01:00
Gol-D-Ace 7368a2c7cc Update translations from Crowdin 2020-12-14 00:29:44 +01:00
Gol-D-Ace 81b5f3ee8d
Merge pull request #3855 from Linnun/update-steam-rtmp
rtmp-services: Update Steam
2020-12-13 19:17:52 +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 Martin 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 Martin 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 Martin 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
Hector Martin a5d08e347e linux-pulseaudio: fix race conditions
PulseAudio code needs to be called with the PA lock held. This chiefly
fixes multiple races during stream shutdown:

* If the functions are called without the lock held, deferred event
  handling races end up with PA infinite looping on the mainloop, or
  asserting, or other badness, as the reentrant calls cause data
  structure corruption on the PA side.
* If we don't reset our callbacks, PA might call us even after we
  request stream disconnection (since the stream actually getting fully
  shut down is asynchronous), and then we dereference NULL pointers from
  our userdata etc. PA will keep its data structures alive until necessary
  via reference counting, but not ours.

The lock around pa_stream_begin_write doesn't result from any issues I
experienced, but it looks correct; PA doesn't say anywhere that that
function is thread-safe.
2020-12-12 12:05:12 -08:00
jp9000 f17ea5d1bc obs-browser: Add obsExit event 2020-12-11 18:49:00 -08:00
Richard Stanway a53c59e8c7 UI: Determine rate control after creating encoders
If the user hasn't specifically set a rate control and left OBS at the
default of CBR, the settings loaded by GetDataFromJsonFile will not have
a rate_control parameter present. This causes the replay buffer to think
the user is in VBR mode and use the wrong settings for determining
maximum buffer size. Fixes #2516.
2020-12-12 02:43:35 +01:00
Exeldro d68484e7b7 UI: Handle (de)select scene items queued
The (de)select signal can come from a obs_scene_enum_items
which locks the scene. The Qt::QueuedConnection makes sure
the (de)select is handled outside of that lock.
Fixes the deadlock from #3673
2020-12-11 17:05:38 -08:00
Ben Torell 3a1af9cb8a
Merge pull request #3868 from PatTheMav/ci-macos-deps-update
CI: Update macOS to Qt 5.15.2 and deps 2020-12-11
2020-12-11 15:40:59 -05:00