Commit Graph

9718 Commits (5db62af907e031bbbb78ca080547e367356ff309)

Author SHA1 Message Date
gxalpha 5db62af907 UI: Apply QSS to generic hotkey settings label
Fixes an issue where in the hotkey settings, some header labels wouldn't
be styled as intended.
2021-08-17 04:11:14 -07:00
Ryan Foster ea9c75bacb cmake: Remove local files for checking threading support
These local copies of CheckForPthreads.c and FindThreads.cmake override
the ones included with CMake. These versions create CMake::Threads, but
Qt6 expects Threads::Threads created by CMake 3.1+. These local versions
seem to be based on old copies from CMake from late 2014 with some
customizations. Let's just use the built-in ones that CMake ships.

This commit also changes CMakeLists.txt files in UI and libobs to
require and link to Threads::Threads.

Co-authored-by: Kurt Kartaltepe <kkartaltepe@gmail.com>
2021-08-17 02:46:09 -07:00
Ryan Foster e13e46839f UI: Query rtmp-services for stream key link URLs
Using the newly added stream key links in services.json from
rtmp-services, we can fetch the URLs from that source instead of
hardcoding them here. This allows us to remove service-specific code
from UI code and allows out-of-band updates to these URLs.
2021-08-16 09:48:14 -07:00
Ryan Foster 97e1d6ebf1 rtmp-services: Add stream key link URLs
This commit adds the stream key link URLs to services that have them
from UI/window-basic-auto-config.cpp and
UI/window-basic-settings-stream.cpp. This will enable querying these
values from services.json and remove service-specific code from UI code.
2021-08-16 09:48:14 -07:00
Ryan Foster 6bdea81823 rtmp-services: Change "stream key link" key to "stream_key_link"
This change is to be consistent with an upcoming commit where
"stream_key_link" is used for the key. While the JSON spec allows spaces
in keys, it isn't widely exercised. Having spaces in keys may introduce
other issues if the JSON data were processed in JavaScript (e.g., dot
notation vs. bracket notation), so let's just replace the spaces with
underscores.
2021-08-16 09:48:14 -07:00
gxalpha c9302d13ce UI,obs-transitions: Enable missing files dialog for stinger transition
Adds transitions to the missing files check, allowing for stinger
transitions to be shown in the dialog
2021-08-16 08:29:54 -07:00
jp9000 1abf7ae3cf rtmp-services: Add BoxCast 2021-08-16 07:37:38 -07:00
jp9000 33130d7d15 Revert "mac-virtualcam: Move DAL plugin to plugin data directory"
This reverts commit 4d1764036f.
2021-08-16 07:36:54 -07:00
gxalpha 4d1764036f mac-virtualcam: Move DAL plugin to plugin data directory
Moves the DAL plugin to the data directory of the mac-virtualcam. Until
now, it was just lying in the top-level data directory
2021-08-16 06:52:50 -07:00
jpark37 0f2c1447ab graphics-hook: Fix D3D11On12 usages
Use D3D12_RESOURCE_STATE_PRESENT for CreateWrappedResource arguments. We
should assume the application will set the backbuffer to PRESENT, and
expect that to be preserved across the Present() call.

Remove unnecessary calls to ReleaseWrappedResources.

Clean up (void**) casts with modern patterns.
2021-08-15 15:58:09 -07:00
jp9000 1d44ace7d0 deps/media-playback: Fix trailing whitespace 2021-08-15 10:59:03 -07:00
jp9000 ee67228a94 UI: Fix compiler error
I probably should have at least compiled this before pushing a commit.
2021-08-15 06:55:15 -07:00
jp9000 228ca55661 UI: Fix frontend API cleanup/exit event order
Makes it so that the exit event is always called regardless of save
state, and that exit is always called after cleanup rather than before.
2021-08-15 06:44:23 -07:00
wangshaohui decd3c2678 deps/media-playback: Fix bug about audio without best_effort_timestamp 2021-08-15 06:11:03 -07:00
Exeldro 2f07107e88 frontend-tools: Fix crash on shutdown 2021-08-15 05:51:32 -07:00
derrod ea271f9d91 UI: Create YouTube LiveStream objects as non-reusable 2021-08-15 05:06:28 -07:00
tytan652 47df2467e9 UI: Force Wayland usage under Wayland session
Qt doesn't use the Wayland platform on GNOME, so we have to
force it using the QT_QPA_PLATFORM env var. It's still possible to
use other QPA platforms using this env var, or the -platform command
line option.

qt5-wayland is now a required dependency for OBS on Linux (or FreeBSD).

Co-authored-by: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
2021-08-15 05:05:29 -07:00
Kazuki Yamaguchi fb7a037bc8 obs-outputs: Fix binding to IPv6 addresses on *nix
Fix inet_ntop()/inet_pton() being called with an incorrect argument for
IPv6 addresses.

On Linux, the offset of the sin_addr and sin6_addr fields differ and
the confusion on the inet_ntop() call produces an erroneous IPv6 string
representation such as "0:0:2001:db8::". This is visible on the UI,
Settings -> Advanced -> Network -> Bind to IP.

The same goes for the inet_pton() call.
2021-08-15 02:50:32 -07:00
Georges Basile Stavracas Neto 09b5290c7b linux-capture: Load XSHM capture on EGL/X11
Unlike Xcomposite, the XSHM plugin does not use GLX code, and thus
can be used on when EGL renderer is used. It still is X11-specific
though, and shouldn't be used on Wayland.

Rework the obs_module_load() function of linux-capture to use a
switch statement, and load XSHM both on EGL/X11 and GLX/X11.

Fixes https://github.com/obsproject/obs-studio/issues/5122
2021-08-15 00:13:00 -07:00
jpark37 976d76dfbd deps/media-playback: Less accurate sleep
Avoid busy-wait for media sources by not caring about sleep precision.

Reduces CPU usage in status bar from 1.1% to 0.8% on my machine.
2021-08-15 00:12:14 -07:00
jpark37 5457524f5a libobs-d3d11: Avoid vector usage
Allocations need global heap lock, which is bad.
2021-08-15 00:12:14 -07:00
jpark37 96c1a76523 libobs: Avoid recycling async frames
Fixes major cause of lock contention when using lots of media sources.
2021-08-15 00:12:14 -07:00
jpark37 e6ab8106aa libobs/graphics: Avoid darray recycle
Reset size instead of capacity.
2021-08-15 00:12:14 -07:00
Richard Stanway 7217671eb0 UI: Trim custom server string
Spaces in the URL can cause issues as ffmpeg-mux is unable to figure
out the protocol. Fixes #5100.
2021-08-12 23:41:14 +02:00
Exeldro 5b18faeb49 UI: Add functions to open properties and filters 2021-08-12 04:31:40 -07:00
Exeldro f0d372bdd7 obs-frontend-api: Send OBS_FRONTEND_EVENT_SCENE_COLLECTION_CLEANUP 2021-08-12 01:33:52 -07:00
jp9000 f487954395 obs-transitions: Fix desync of stinger track matte
Although obs_source_add_active_child indicates to a child source that a
child source needs to activate, sources will not activate until the next
tick. However, because the transition start call is made from within the
UI thread, the time in which the media source renders is not guaranteed
to be activated by the time the stinger renders due to a potential race.
Thus he media source of a stinger is not guaranteed to be activated,
causing a brief flash. This also applies when stopping a stinger.

This problem normally doesn't really affect normal stingers; instead, it
affects track matte stingers because it is critical for them to be on
time in order to have the mask data.

In order to solve this, check to see if the underlying media source is
actually active and able to render when performing the masking.
2021-08-11 05:56:02 -07:00
jp9000 f0ab940282 rtmp-services: Fix comparison mismatch warning 2021-08-10 23:30:03 -07:00
jp9000 57ae92206f UI: Fix unused variable outside of #if 2021-08-10 23:16:42 -07:00
Richard Stanway 7b9e22e207 rtmp-services: Fix typo'd "recommended" key for various services 2021-08-10 21:54:11 +02:00
Richard Stanway 64457e3d63 Revert "UI: Initialize Studio mode after loading scenes"
This reverts commit 8b50ad5e2a.
Regressions when loading a saved program / preview mode. Actual fix
probably needs to be done inside SetPreviewProgramMode.
2021-08-10 21:51:15 +02:00
Willy Liu(HQ ENG) 0d13d01921 rtmp-services: Add 17LIVE service
Closes obsproject/obs-studio#5110
2021-08-10 03:32:20 -07:00
sergey ead931ed17 rtmp-services: Add Volume.com
Closes obsproject/obs-studio#4699
2021-08-10 03:26:25 -07:00
Norihiro Kamae bdb8f3f27b libobs/util: Fix reading memory usage on Linux
Memory usage displayed on Stats was too small due to a misaligned unit
of `resident_size` read from `statm` file and libobs.
2021-08-09 11:42:34 -07:00
jp9000 30c264c8bf obs-transitions: Add "Mask only" track matte option 2021-08-08 15:45:14 -07:00
jp9000 884f707d31 obs-transitions: Fix missing newline at end of file 2021-08-08 15:40:13 -07:00
Ben Torell b44e560572
Merge pull request #5098 from Vainock/yt-integration-locale-inconsistency
UI: Replace '&&' with 'and' in YT integration
2021-08-08 11:21:58 -04:00
Vainock 674715d369 UI: Replace '&&' with 'and' in YT integration 2021-08-08 16:47:17 +02:00
Jim 5292d1ced2
Merge pull request #5047 from obsproject/obs-yt-integration
YouTube Integration
2021-08-08 00:22:52 -07:00
gxalpha 6f778df158 UI: Show autoremux progress bar
Fixes a bug where the progress bar for autoremuxes wouldn't be made
visible when it started, and only a blank popup window appeared.
2021-08-07 23:17:50 -07:00
gxalpha 3e16296403 UI: Autoremux Replay Buffer
Replays from the replay buffer will be automatically remuxed to MP4 like
recordings are, if autoremux is enabled.
2021-08-07 23:15:12 -07:00
Matt Gajownik 725fce78ba Revert "docs: Rename Code of Conduct to fix GitHub detection"
This reverts commit 50d28de10b.

Unfortunately, it seems GitHub requires the code of conduct to:
1. be named CODE_OF_CONDUCT
2. have a .md file extension

This commit restores external links to the CoC for now.
2021-08-07 20:40:29 +10:00
Matt Gajownik 50d28de10b docs: Rename Code of Conduct to fix GitHub detection 2021-08-07 20:09:21 +10:00
Yuriy Chumak e6f1daab8c UI: Add YouTube integration 2021-08-07 01:07:04 -07:00
Ben Torell a9352985c7
docs: Add link to CoC to contributing guidelines 2021-08-03 21:14:53 -04:00
Ryan Foster 835ac0a556 obs-filters: Correct log prefix for noise suppression filter 2021-07-31 15:32:35 -07:00
Ryan Foster 41b3913793 obs-filters: Use correct NVIDIA capitalization 2021-07-31 15:32:35 -07:00
Norihiro Kamae 04b0d632aa UI: Fix da_push_back taking a wrong type of item
A pointer to `OBSSource` was passed to an argument that expect a pointer
to `obs_source_t *`.
Since the current implementation of a class `OBSSource` has a member
`obs_source_t *obj` at first and the class does not have any virtual
member functions, most implementation should work correctly.
2021-07-31 15:29:26 -07:00
Norihiro Kamae 7b4ae8611c libobs: Fix da_push_back taking a wrong type of item
Since the darray `sys_include_dirs` is an array of `char *`, it is
required to take a pointer to `char *`, that is `char **`. However,
`char *` was passed.
Since this function never called, another fix is removing entire
function `cf_preprocessor_add_sys_include_dir`.
2021-07-31 15:29:26 -07:00
Lovecast Neil 60753fbfaf rtmp-services: Add "Lovecast" 2021-07-31 15:25:52 -07:00