Commit Graph

10565 Commits (dbdf5c7f7afaa3a47e7b6c7e1c397fea04716653)

Author SHA1 Message Date
jp9000 0e7c17bd6e virtualcam-module: Remove unnecessarily inlines 2022-02-27 22:26:10 -08:00
jp9000 865eecb739 virtualcam-module: Stop thread on Stop call
This causes the thread to only start when the IMediaFilter::Run/Pause
calls have been made, and stop whenever either the IMediaFilter::Stop
call has been made, or on destruction, whichever comes first.

This potentially will work around a suspected race condition that
appears to be in the WebRTC library where the filter's library will be
released while the filter is in the process of being destroyed, which
can take longer than usual if the join takes too long. Basically, fixes
a reported crash (that doesn't appear to technically be our fault) when
the filter is used with browsers when the virtualcam is deactivating in
web browsers.
2022-02-27 22:23:41 -08:00
Kevin Degeling 139e6ed69e UI: Additional product details
Based on the product description from the main website
2022-02-27 13:30:25 -03:00
jpark37 847eebc648 win-dshow: Fix wrong AVCodecContext free call 2022-02-27 04:38:30 -08:00
jpark37 2e1d9e8e64 win-dshow: Add hardware decode status to log 2022-02-27 02:40:09 -08:00
Matt Gajownik f77ab0e199 UI: Fix rendering of spaces & tabs in Log Viewer
For some reason, the combination of QPlainTextEdit and a HTML block
seems to treat spaces as HTML shoult (only display one, no tabs, etc)
rather than how QTextEdit + HTML does, which is strange. As we don't
need HTML for existing log lines, insert them as plaintext, but for
new entries wrap non-error non-warning messages in a <font> tag and
format that with white-space: pre
2022-02-27 18:56:19 +11:00
Matt Gajownik fe71841b5a obs-browser: Update version to 2.17.14
f3d7a4d - Display runtime version (not built version) in UA string
f93675c - Print both runtime & compile version of CEF on startup
2022-02-27 17:22:05 +11:00
gxalpha 90f1ebf4aa UI: Disable downscale filter setting for same resolutions
Disables the downscale filter dropdown menu when base and output
resolution are the same.
2022-02-27 14:42:17 +11:00
OldBaldGeek 6a5a5b4538 UI: Make volume meter tweakable by stylesheet
Replace fixed Arial, 7 px meter scale font with the font used
for VolumeMeter/QWidget. Add qproperties for meter bar thickness and
a scaling factor for the meter scale numbers. If not specified in a
QSS, defaults are 3 pixel bar width and 80% of base font size.
2022-02-27 13:17:59 +11:00
OldBaldGeek c8a0dbff1e UI: Use selective repaint on volume meter scale
Fix for issue 3915 - reduce tick and font blur at 125% DPI.
Former use of paint cache resulted in blur when scaled.
2022-02-27 13:17:59 +11:00
gxalpha dd564a2e8f UI: Move "Check For Updates" menu to app menu on macOS
For apps using sparkle, it's normal for the "Check For Updates" button
to be in the app menu instead of the help menu, so let's put it there.
2022-02-27 12:47:18 +11:00
Justin B. Watson 24b2ad8532 rtmp-services: Update Brime Live ingests 2022-02-27 02:06:54 +01:00
gxalpha 7cc20656f4 UI: Add shortcuts for Copy/Paste Transform
Adds the shortcuts Ctrl+Alt+C/V to the Copy/Paste Transform menus in the
Edit menu
2022-02-26 15:54:14 -08:00
cg2121 8510731f2b decklink: Don't load modules if Decklink not found
This also modifies decklink-captions and decklink-output-ui.
2022-02-26 15:44:00 -08:00
obiwac 93c2e681ca linux-v4l2: scandir with alphasort on non-Linux
Sort video device entries with `alphasort` on non-Linux platforms,
as opposed to `versionsort` on Linux.
(`versionsort` is a GNU extension, unavailable on e.g. FreeBSD.)

UI: Fix call to `to_string` on FreeBSD
2022-02-26 15:36:08 -08:00
obiwac c50c625555 libobs/graphics: gs_query_dmabuf_* on FreeBSD too 2022-02-26 15:36:08 -08:00
gxalpha aa0893b751 UI: Refresh edit menu on item locked signal 2022-02-26 15:35:10 -08:00
jpark37 42fad9b2b4 win-dshow: Add hardware decode toggle
Off by default because it can be buggy, or overburden the GPU.
2022-02-26 15:31:48 -08:00
Ryan Foster ebc514e8db obs-ffmpeg: Update nv-codec-header files
Update the in-tree nv-codec-header files (nvEncodeAPI.h and
dynlink_cuda.h) to n11.1.5.1, which is the version currently used in the
OBS Studio dependencies, to keep the in-tree version in sync with the
version in our dependencies.
2022-02-26 15:08:03 -08:00
Matt Gajownik 0e57a7beef UI: Fix performance issues with the Log Viewer
This commit includes two big changes, alongside other smaller tweaks.

1) Update the internal QTextDocument of the text component directly
2) Use QPlainTextEdit, which supports HTML & is designed for long text
3) Use QString's arg function for formatting strings

Fix 1 significantly improves realtime performance when adding lines
individually, to the point that the UI no longer freezes if the viewer
is open and the log is being spammed. It also improves initial launch
speed when there's a large amount of text already in the file.
Reference: https://stackoverflow.com/a/54501760/2763321

Fix 2 completely eliminates delay when opening the viewer, regardless
of how many lines are already in the log file. For a standard log
after OBS launch, this cuts opening time from about 2 seconds to half a
second. For anything longer than 1,000 lines, the UI no longer freezes,
and the viewer (& its contents) open within half a second.
Reference: https://stackoverflow.com/a/17466240/2763321
2022-02-26 15:03:35 -08:00
jpark37 61ffb5c4d8 UI: Add OBSQTDisplay::OnMove()/OnDisplayChange()
This plumbing will be useful when handling color space changes.

Currently does nothing, and only Windows is wired for now.
2022-02-26 01:09:07 -08:00
jpark37 5d1261eddb libobs: Only resize display if dimensions change 2022-02-26 01:09:07 -08:00
Kurt Kartaltepe c639255142 linux-v4l2: Fix warnings in mjpeg
Previously the switch did not catch all cases issuing a quite large
warning. Also there was a const-ness warning for codecs on ffmpeg 5.0
that this addresses.
2022-02-25 12:22:22 -03:00
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