Commit Graph
9703 Commits
Author SHA1 Message Date
derrod ea271f9d91 UI: Create YouTube LiveStream objects as non-reusable 2021-08-15 05:06:28 -07:00
tytan652andGeorges Basile Stavracas Neto 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
Exeldro 08d9069201 UI: Fix undo delete scene that is used as source 2021-07-31 15:25:00 -07:00
Joel Bethke 95b92f6de3 Add Code of Conduct 2021-07-31 17:23:22 -05:00
Matt Gajownik a5878e1caa obs-ffmpeg: Translate VAAPI property names 2021-07-31 15:09:29 -07:00
jpark37 ffac4c3733 obs-filters: Sample mask/blend texture linearly
Makes behavior of blend addition more reasonable.
2021-07-30 23:39:02 -07:00
Georges Basile Stavracas Neto 4c07ba6886 Revert "UI: Disable drag/drop on Linux scenes/sources (for now)"
This reverts commit 457adcedd3.

Requires https://github.com/obsproject/obs-browser/pull/304
2021-07-28 10:28:49 +10:00
Matt Gajownik f2cae6195b obs-browser: Update version to 2.15.0
- Simplify JS function registration/definition
 - Enable Ctrl+R on Linux and Cmd+R on macOS for Browser Panels
 - Fix keyboard support in Interact dialog on macOS
 - Remove fractional scaling ifdefs
 - Remove unused variable definition
 - Remap semi-transparent colors for linear blend
 - Set user_agent_product in CEF >=91
 - browser-panel: Manually unset XdndProxy
2021-07-28 10:16:16 +10:00
Yuriy Chumak 0654675f32 UI: Add support for external browser OAuth
(Jim note: Adds abstraction to the OAuth class to allow the ability to
perform OAuth via external browser, and adds an AuthListener to act as
the local auth server.)
2021-07-24 15:50:59 -07:00
Yuriy Chumak 63ad0642ae UI: Specify exact service to auth login callbacks
(Jim note: This gives the ability for auth login callbacks to know which
specific service type is being used. For example, with something like
YouTube, there's multiple variants: RTMP, RTMPS, and HLS. This way, the
service login callback can determine how it wants to treat the login
procedure depending on the specific type of service.)
2021-07-24 15:50:59 -07:00
Yuriy Chumak 37b9ece904 UI: Add request type param to GetRemoteText 2021-07-24 15:50:59 -07:00
Yuriy Chumak c4840ddba0 UI: Set Qt locale to current OBS locale
(Jim note: This will cause certain Qt functions to treat string
conversions differently depending on the language. Useful when using Qt
to perform these conversions.)
2021-07-24 15:50:59 -07:00
Yuriy Chumak eb6ba44c8a UI: Include QtNetwork as a direct dependency
(Jim note: Rather than copy the QtNetwork library manually like we were
doing before, this makes it so that QtNetwork is used as a dependency of
the UI. The cmake used to copy the library manually thus us no longer
necessary.)
2021-07-24 15:50:59 -07:00
Richard Stanway ff0350b515 win-capture: Fix formatting 2021-07-24 23:21:02 +02:00
Richard Stanway 5d54cc36a7 obs-filters: Minor NVAFX cleanup
Remove some unused variables, fix incorrect mutex initializer, fix
exporting NVAFX functions via dllexport.
2021-07-24 23:15:45 +02:00
Richard Stanway f0e3cd1f91 UI: Simplify expressions in GetMonitorName 2021-07-24 23:15:45 +02:00
Richard Stanway 320177926d win-capture: Use better defaults in thread_is_suspended
On my system with ~250 processes running, this loop has to run over 500
times before allocating enough memory. Use better initial and increment
values to avoid thrashing the heap.
2021-07-24 23:15:45 +02:00