Commit Graph

10692 Commits (c426622690399d5dfcc8ff00d7e1fbc8a3c937fc)

Author SHA1 Message Date
Richard Stanway 702df3cd8d win-wasapi: Fall back to old code if RTWQ fails
Fixes a crash if RTWQ is unavailable, e.g. if the mmcss service is not
running.
2022-02-24 19:28:19 -08:00
jp9000 0dbae4ebef win-dshow: Ensure thread is joinable before joining
This may have been the issue behind the reported firefox crashes, but
strangely, the thread should always be joinable here because it's
explicitly always created in the constructor and joined in the
destructor.
2022-02-23 04:13:38 -08:00
Ryan Foster 1960f6c11c CI: Update workflow to copy SOVERSION symlinks
Commit 7a5bffc0a6 applied a fix to the
macOS build script. This applies the same fix to the GitHub Actions
workflow that is actually currently used on CI.
2022-02-22 17:16:28 -05:00
jp9000 f5b64ee33f libobs: Update version to 27.2.1 2022-02-20 16:35:15 -08:00
Richard Stanway a39d174100 obs-outputs: Set a fixed size socket buffer on Windows 7
Auto tuning apparently doesn't work very well on this version and
af6844f5c2 caused throughput
regressions.
2022-02-20 16:16:17 -08:00
Matt Gajownik a7a0f69808 CI: Bump Windows CEF cache to fix reported version
While the previous cache had the correct changes, the version was
reported incorrectly. This will avoid confusion.
2022-02-21 10:32:17 +11:00
Matt Gajownik 2d9f19223a CI: Bump Windows CEF cache for new OnAcceleratedPaint2
See https://github.com/obsproject/cef/commit/36fdac16a7 for more info.

This only bumps the cache on Windows as the changes are currently
Windows-specific.
2022-02-21 09:13:11 +11:00
jp9000 3ca0bf8c0e obs-browser: Add support for custom OBS CEF
Our version fixes the system freeze issue, reduces resource usage, and
improves performance back to 3770 levels.

See obsproject/cef@36fdac16a7 for detailed information.
2022-02-20 11:43:55 -08:00
cg2121 7b418d5be3 UI: Use std::unique_ptr for ui variables
Most ui variables were using std::unique_ptr, but not all.
Went through all of the UI code to find where they were manually
deleted.
2022-02-20 00:30:37 -08:00
jp9000 b6b696fd89 obs-browser: Fix texture recreating every frame 2022-02-19 22:52:19 -08:00
Kurt Kartaltepe 23feac1323 linux-v4l2: Use decoded MJPEG pixel format
Previously we assumed mjpeg was always decoded to 422 but it seems some
cameras provide frames that decode to different pixel formats such as
420.

This change delays setting the obs frame pixel format until after we
have decoded the v4l2 frame.

fixes #5821
2022-02-19 23:53:41 -03:00
Matt Gajownik 2ded0f7050 UI: Log 'Hide OBS from capture' on startup & settings change 2022-02-20 13:38:17 +11:00
derrod 269d48f681 libobs: Adjust path for legacy browser source block
The current path would prevent the browser source from loading if OBS
itself is in the "Application Support" folder, where it might end up
when being installed via certain distribution platforms.
This adjusts the existing hack to specifically check for the obs-studio
subfolder where the old browser source library would reside.
2022-02-19 15:45:36 -08:00
gxalpha d5f2b7e496 UI: Refresh edit menu on item select/deselect 2022-02-19 15:42:57 -08:00
PatTheMav 7a5bffc0a6 CI: Ensure SOVERSION symlinks exist in created App Bundle
Bundles libraries are available via their specific versioned filename
as well as SOVERSION and versionless symlinks. Dylibbundler does _not_
include these symlinks when copying linked libraries into the bundle.

This change ensures that all libraries and their SOVERSION symlinks
exist in the created App Bundle.
2022-02-19 15:40:00 -08:00
PatTheMav a38d55f945 CI: Update main workflow file to use fixed obs-deps
Prior version was linked against libxcb, because it was present on
Github Actions macOS runners. Consequently builds on CI will succeed
as the library is always present, will fail on user's machines though.
2022-02-19 15:40:00 -08:00
Matt Gajownik 02f80a1013 win-wasapi: Only enable work queue on Windows 10+
Fixes #5967
2022-02-19 15:37:50 -08:00
jpark37 6eec19771a obs-filters: Reduced GPU work for common LUT cases
Add "Passthrough Alpha" checkbox where alpha doesn't need sanitization.

Remove domain checks, Intel UHD Graphics 750: 591 µs -> 532 µs
Alpha passthrough, Intel UHD Graphics 750: 532 µs -> 486 µs
2022-02-19 15:29:48 -08:00
jpark37 873e3a0aae obs-filters: Reduce 3D LUT calculations
Single tap is good enough.

Intel UHD Graphics 750: 860 µs -> 591 µs
2022-02-19 15:29:48 -08:00
jpark37 8e8c29d84c obs-filters: Interpolate LUT in linear space
More accurate and cheaper.

This is a breaking change because Amount is also now computed as linear,
but most users are probably using 1.0, so v2 isn't worthwhile.

Intel UHD Graphics 750: 980 µs -> 860 µs
2022-02-19 15:29:48 -08:00
jpark37 c434d4d39b obs-filters: Update original.cube
Need more LUT entries to reduce error when shader is optimized.
2022-02-19 15:29:48 -08:00
jpark37 ca3fdd8eaf obs-filters: Add effect files to VS solution 2022-02-19 15:29:48 -08:00
pkv 5b0c09a9f4 obs-ffmpeg: Force mpegts format & disable restart on activate for srt & rist
This fixes crashes in media Source when :
- the user forgets to set the input format for srt or rist URLs;
- disabling / enabling / disabling etc Media source with a rist URL.

Signed-off-by: pkv <pkv@obsproject.com>
2022-02-19 15:17:19 -08:00
Florian Zwoch d16950a2f6 linux-capture: Fix for pipewire capture leaking texture handles
Enter the graphics context before calling gs_texture_destroy() or
else the call will fail causing the texture handles to leak.
2022-02-19 20:06:03 -03:00
jp9000 ab1d20b237 obs-browser: Fix issues with rendering on Linux/macOS 2022-02-19 10:18:48 -08:00
jp9000 ddf1078e32 obs-browser: Fix rendering on non-windows
The copy operation wasn't supposed to be in the #ifdef for windows.
2022-02-19 09:18:36 -08:00
Matt Gajownik 608e57257a UI: Don't collapse preview in Filters splitter view
Fixes #5959
2022-02-18 19:46:02 +11:00
Julian Orth 99a6c97b9e libobs: Map wayland keymap with MAP_PRIVATE
Wayland clients are required to use MAP_PRIVATE starting with version 7
of the wl_seat protocol.

Signed-off-by: Julian Orth <ju.orth@gmail.com>
2022-02-16 14:25:16 -03:00
jp9000 6a3043abd2 obs-browser: Fix sRGB rendering 2022-02-15 23:51:07 -08:00
jp9000 40b990a559 obs-browser: Update version to 2.17.10 2022-02-15 23:19:17 -08:00
jp9000 ee878043b2 obs-browser: Acquire, copy, and release immediately
Instead of holding onto an acquire over the duration of an entire frame,
acquire, copy to a texture, and immediately release the lock.

(Note from Jim: When it comes to synchronization, the idea of acquiring
a lock, and then releasing all the way in the next frame just feels a
bit worrisome. Especially when it's a GPU object. But at this point, I'm
just making shots in the dark in an attempt to eliminate any possible
things that might even have a remote chance to trigger latent bugs in a
GPU driver or the kernel. You know, that whole system freeze thing. This
probably doesn't have anything to do with it, at this point I have
nothing but wild geese to chase. Whatever.)
2022-02-15 23:12:20 -08:00
tytan652 2720e6d00f UI: Avoid emiting events 2 times when renaming a profile 2022-02-12 15:14:21 -08:00
jpark37 3a1124a5fd libobs/util: Fix VS static analysis warnings 2022-02-12 15:06:10 -08:00
gxalpha ccc57671eb UI: Correctly style "Chrome OS" 2022-02-12 15:04:42 -08:00
Thulinma 9c504f4d35 rtmp-services: Update Picarto ingests 2022-02-12 15:02:10 -08:00
jp9000 b68ee1ccae libobs: Update version to 27.2.0 2022-02-10 16:43:18 -08:00
Translation Updater 25b58f0417 Update translations from Crowdin 2022-02-11 00:34:08 +00:00
derrod 09e7d5d1a5 CI: Specify Windows Server 2019 2022-02-10 02:03:53 -05:00
Richard Stanway aa73de952b
UI: Fix uninitialized memory access in OBSPropertiesView
Bug introduced in b0528e0cf7. Closes
https://github.com/obsproject/obs-studio/issues/5934.
2022-02-08 21:57:08 +01:00
jp9000 b0528e0cf7 UI: Fix properties view crash with non-obs objects
The properties view incorrectly assumed that it was being used with obs
objects only.

(Jim note: I'm annoyed.)
2022-02-08 11:07:23 -08:00
Rodney b7a24d54c9
UI: Add warning on startup for running in Wine 2022-02-07 14:16:59 -08:00
jp9000 109b54fd66 obs-ffmpeg: Fix svt-av1 rate control settings
For SVT-AV1, rate control is explicitly set via an "rc" option, so set
those options manually for SVT-AV1. CBR doesn't seem to be fully
supported, but it's sort of supported via CVBR (constrained variable
bitrate), which seems to be specific to each GOP size, which is about as
close to CBR as we can get.
2022-02-07 13:11:34 -08:00
Translation Updater ac8dbf67be Update translations from Crowdin 2022-02-06 02:24:08 +00:00
Cenk Uluisik f52f34b614 linux-capture: Fix missing parameter for pipewire capture
Commit a3a6710 introduced the obs_pipewire_save() function in the
PipeWire code, but only set it to the monitor capture source. This
was an oversight, it should have been set to the window capture
source as well.

Set the .save vfunc of the window capture source as well.

Closes obsproject/obs-studio#5906
2022-02-04 13:09:12 -03:00
jp9000 c71abfbd8c UI: Fix clang-format specifier 2022-02-02 22:39:24 -08:00
jp9000 4f09cac7af UI: Remove unnecessary call 2022-02-02 22:37:41 -08:00
jp9000 f0e631df17 UI: Fix filter props. getting recreated unnecessarily
Closes obsproject/obs-studio#5846
2022-02-02 22:35:56 -08:00
jp9000 4b355192e7 UI: Don't create filter properties before splitter
Fixes an issue where the properties wouldn't show up the first time the
properties are supposed to show
2022-02-02 22:35:56 -08:00
jp9000 f34b6866a5 UI: Improve properties view object safety
Use weak references on OBS objects that properties view reference in
order to ensure that the objects are still valid.

This fixes a crash where properties views would use objects without
necessarily knowing whether they were still valid or not.

Fixes obsproject/obs-studio#5862
Closes obsproject/obs-studio#5863
2022-02-02 22:35:56 -08:00
jp9000 edfd5ad604 libobs: Add obs_object abstraction and functions
With this, you can now cast normal obs objects (services, outputs,
sources, encoders) to an obs_object_t, and then use obs_object_*
functions to get references, release references, and similar for weak
object references as well. This allows the ability for the frontend to
use an object of any of those types interchangeably in certain
situations without having to handle each specific type individually.

This is useful because the properties view in particular doesn't care
what type of object it uses, it just needs to be able to hold weak
references to abstract OBS objects.
2022-02-02 22:35:56 -08:00