Commit graph

12865 commits

Author SHA1 Message Date
derrod 61efa3cbeb UI: Fix replay buffer with fragmented formats 2023-04-01 16:24:40 -07:00
Richard Stanway 0f614034ca obs-ffmpeg: Handle mux errors when writing replay buffer
Without this, we could continuously call signal_failure in write_packet,
crashing OBS with a stack overflow with all the error callbacks.
2023-04-01 16:21:37 -07:00
derrod c8d274edac UI: Only use FFmpeg compat check for external codecs
For all the codecs we ship with OBS we can use a hardcoded lookup
instead as the FFmpeg one is unreliable.
2023-04-01 16:19:27 -07:00
gxalpha 6fc9235b09 cmake: Enable "sortable" flag in UI for large lists 2023-04-01 16:15:41 -07:00
gxalpha caccd86092 cmake: Sort libobs target_sources alphabetically 2023-04-01 16:15:41 -07:00
gxalpha eaf6444236 mac-capture: Simplify coreaudio_get_device_id
The current method would enum though all devices looking for a matching
uid instead of directly asking for kAudioHardwarePropertyDeviceForUID.
Asking directly instead would also enable finding hidden devices that
can only be found directly via uid and not via enumerating (were we ever
to need to find such a device).
2023-04-01 16:13:17 -07:00
Asahi Lina 584de6b264 linux-pipewire: Use premultiplied alpha
Pipewire desktop portal capture assumes premultiplied alpha, so make
sure to use the right blend equation to make translucent pixels work
correctly.

This is still broken for emissive pixels (alpha < color) since OBS seems
to unpremultiply at some point during blending, but it works properly
for translucent pixels (emissive pixel support requires an end-to-end
premultiplied pipeline).
2023-04-01 16:11:19 -07:00
jpark37 7a3beec87b decklink: Avoid swscale for color space
Any color space adjustments should be done on the GPU.
2023-04-01 16:08:54 -07:00
jpark37 e4a80d0396 decklink: Query for preroll frame count
Three is recommended though, so use at least that many.
2023-04-01 16:08:54 -07:00
Friedhelm Birth b3b5e7eae8 win-dshow: Change buffering for Elgato devices
The default is now buffering disabled except for very old devices
accessed through virtual capture filter "Elgato Game Capture HD".
2023-04-01 16:03:33 -07:00
Ryan Foster 1be1f51635 CI: Update deps to 2023-03-30 release
Notable changes:
 * deps.ffmpeg: Update FFmpeg to 3980415627

This update is to fix a crash when using FFmpeg NVENC. In particular, we
wanted these commmits:
 * 0981053c29
 * 916bdc0f19
2023-03-31 17:59:02 -04:00
Richard Stanway d71fa5248f obs-ffmpeg: Fix memory corruption during cleanup
We were calling avio_close on a field that might have held an
AVIOContext. This commit checks which type was allocated so we
can call the appropriate cleanup function.
2023-03-31 13:19:48 -04:00
Richard Stanway e0f674de86 UI: Add AMD AV1 encoder to simple output mode
Fixes https://github.com/obsproject/obs-studio/issues/8584
2023-03-30 22:04:07 -04:00
Richard Stanway 9a24b1ad06 UI: Update Windows DLL blocklist
- Add Bandicam
- Add VirtualMotionCapture (unity capture)
- Add HolisticMotionCapture (unity capture)

Fixes https://github.com/obsproject/obs-studio/issues/8552
2023-03-30 21:16:35 -04:00
Simon Rost a144a736f9 libobs: Remove dependency on Visual Studio 2019+
In util_uint64.h the intrinsic function _udiv128 is used.
The implementation is only available in Visual Studio 2019+
2023-03-30 19:51:08 -04:00
gxalpha c2b4142720 CI: Update service check PR job to remove set-output 2023-03-30 19:25:14 -04:00
Ryan Foster 94cf1cd2c8 CI: Fix GitHub labels check
github.event.pull_request.labels contains the labels at the time the
pull_request event was triggered. Modifications made during the workflow
(or after the PR was submitted and before a CI re-run) won't show up
there. To reliably check the labels on CI re-runs, switch back to
checking the API.
2023-03-30 18:55:57 -04:00
tytan652 0315c357f6 flatpak: Remove jack2 module
jack2 is already part of the runtime that we rely on and we use only its
headers.
2023-03-29 19:13:58 -03:00
tytan652 f47524b5f8 CI: Remove useless toJSON in Flatpak workflow 2023-03-29 19:13:58 -03:00
derrod aea0867945 obs-outputs: Do not strip AV1 padding for RTMP/FLV 2023-03-29 16:53:33 -04:00
derrod d98abf8ce9 obs-ffmpeg: Enable padding for NVENC CBR modes 2023-03-29 16:53:33 -04:00
derrod 2560187611 UI: Remux fragmented containers to regular counterparts
Also disables record-as-MKV when using fmp4.
2023-03-29 19:17:24 +00:00
derrod 8e1cae4f02 UI: Remux mp4/mov to mp4/mov with suffix 2023-03-29 19:17:08 +00:00
derrod 624a0da302 UI: Only adjust size of properties on first draw 2023-03-29 19:16:56 +00:00
tytan652 0d9f15cf3d UI: Improve AV1 fallbacks while changing services
This makes AV1 encoders fallback to their H264 counterpart rather than
just falling back to x264 while changing services.
2023-03-29 19:16:46 +00:00
PatTheMav d5e894ebb3 deps: Fix lower version boundary for file-updater
Version 3.16 required for Linux compatibility.
2023-03-29 13:11:33 -04:00
PatTheMav 84057ba93d CI: Update macOS packaging to use Xcode archiving and extraction 2023-03-29 10:31:57 -04:00
PatTheMav a0000412fa cmake: Add changes required to use Xcode archiving 2023-03-29 10:31:57 -04:00
PatTheMav 0b136c3a39 UI: Add exportOptions property lists for Xcode archiving 2023-03-29 10:31:57 -04:00
derrod 16c078960d UI: Fix missing masking in unassigned audio mix check 2023-03-29 03:16:45 +02:00
derrod 82c63db94b win-capture: Fix compat info showing in hotkey mode 2023-03-29 03:16:34 +02:00
derrod 1ea100e537 UI: Fix updater parameters missing a space 2023-03-29 02:08:58 +02:00
derrod 5fbe9cdb41 updater: Add workaround for broken CLI arguments 2023-03-29 02:08:46 +02:00
jpark37 ac87106f03 decklink: Schedule video frames for playback
DisplayVideoFrameSync is unusable at 4K, over 20 milliseconds per call.
ScheduleVideoFrame is probably what we should have been using all along.
2023-03-28 11:19:43 -07:00
derrod 83e3d531dc CI: Disable Steam nightly upload 2023-03-28 15:00:35 +02:00
tytan652 ffe5a2f152 UI: Add missing compile definitions for service integrations 2023-03-28 14:48:47 +02:00
gxalpha 454a701431 UI: Fix simple stream encoder changed signal-slot connection 2023-03-28 22:51:00 +11:00
gxalpha 712a6c3b33 cmake: Ignore all Qt darwin permission plugins 2023-03-27 16:08:22 -04:00
Ryan Foster bfb8fba066 Revert "libobs: Enable fast clear on Windows always"
This reverts commit c2afa58125.
2023-03-27 15:24:52 -04:00
Norihiro Kamae 050d2e69b3 libobs: Log when libobs data file is not found
When an effect file is not found while initializing graphics, only one
line error below is logged. To clarify the reason why the initialization
was failed, also log when the file was not found.
Failed to initialize video. Your GPU may not be supported, or your
graphics drivers may need to be updated.
2023-03-27 15:20:56 -04:00
tytan652 b11d0523fb UI: Load service before creating the output handler 2023-03-27 14:33:24 -04:00
Norihiro Kamae fad82d0f9c cmake: Fix obs-frontend-apiConfig.cmake included from 3rd party plugin 2023-03-27 14:09:19 -04:00
Ryan Foster ddb4f41d7d obs-websocket: Update version to 5.2.1
Fix macOS build failures.
2023-03-27 13:07:16 -04:00
Translation Updater 7c5560bf1b Update translations from Crowdin 2023-03-27 13:39:03 +00:00
Norihiro Kamae e4eeecf3df cmake: Fix OBS_INSTALL_PREFIX
Before 349372b3b3, OBS_INSTALL_PREFIX contained trailing slash so that
it can concatinate with further paths.
2023-03-27 15:30:05 +02:00
Kurt Kartaltepe 36409f01cf libobs/media-io: Use inputs_mutex during close
This code assumed that no one would be racing after we stopped the input
thread, however the obs output thread also races and can free the inputs
during disconnect before we finish closing the video mix.

Instead keep the locks around after stop and use them during close to
avoid races.

Fixes crashes when stopping virtual webcam on linux.

Co-authored-by: Norihiro Kamae <norihiro@nagater.net>
2023-03-27 01:14:32 -07:00
Jim c79cf009e2 UI/cmake: Fix portable mode (config) not working on Linux 2023-03-27 00:10:48 -07:00
Ryan Foster 5a2567a604 obs-websocket: Update version to 5.2.0
See 7ca8d5fc2b7738d5cf04a4bddbbae0468b8a150d for changelog.
2023-03-26 22:28:08 -04:00
Ryan Foster c1cc7fc6e7 obs-browser: Update version to 2.21.0
75b926d - Add Copy page address option to browser dock context menu
35226e9 - obs-browser: Update for CMake Framework 3.0
2023-03-26 22:28:08 -04:00
Ryan Foster 2cbbc28f86 enc-amf: Update to 2.8.0
Changes:
 * Fixes for stricter MSVC standards compliance
 * Modernization of CMake
2023-03-26 22:28:08 -04:00