Commit Graph

13533 Commits

Author SHA1 Message Date
PatTheMav 24073568e5 obs-scripting: Fix Sparkle delta updates by disabling bytecode caching
Python automatically creates bytecode caches which end up inside the
application bundle of OBS Studio on macOS. These directories will lead
to a hash mismatch when Sparkle attempts to apply a delta update (to
ensure that the patch can be applied).

As the added directories will make the hash check fail, having a valid
Python framework configured in OBS Studio (even without any script
added) will thus prevent Sparkle from using delta updates.
2023-11-04 18:26:50 -05:00
tytan652 bee71b32d2 cmake: Allow finding the CEF wrapper without a build folder on Linux 2023-11-04 18:19:28 -05:00
tytan652 122a5db0b3 obs-ffmpeg: Remove unused variable in VA-API utils 2023-11-04 18:17:43 -05:00
jpark37 e79e28598b libobs,obs-filters: Use common straight alpha math
This pattern uses fewer instructions and also avoids using max, which
does not work on infinity.

Also remove unreferenced techniques from scale filters.
2023-11-04 18:12:22 -05:00
Zulleyy3 Zulleyy3 c76760bc1c UI: Fix transform of sources in groups
Group resize is not deferred until adjustments are completed by a
mouseReleaseEvent in certain cases, resulting in unexpected movement of
sources that are part of a group as they are resized or stretched
beyond group bounds.

The bug can be described/reproduced as follow:

1. The user selects within a group in the sources dock
2. The user moves their mouse over the selected source such that the
   cursor would change.
   - This results in a cursor update and a call to GetStrechHandle()
   - as the source is part of a group, stretchGroup will be set to the
    group of the source

3. The user clicks on the canvas without touching a stretch/rotation
   handle
   - A mouseReleaseEvent is fired
   - obs_sceneitem_defer_group_resize_end is called on the group as
     stretchGroup is still defined from earlier
   - the defer_group_resize member of the group will become negative
   - The deferal check in resize_group (obs-scene.c) will always pass
     now
4. When scaling or rotating the source close to the group bounds, the
   group bounds will now dynamically update causing the source in to fly
   off the canvas.

Resolves: https://github.com/obsproject/obs-studio/issues/9754
2023-11-04 18:06:44 -05:00
David Rosca 722ca8447e libobs: Add AV1 parsing functions
One notable difference from the AVC/HEVC code is that it also inserts
the METADATA and SEQUENCE_HEADER OBUs into new_packet, otherwise the
resulting video file wouldn't play.
2023-11-04 01:16:25 -05:00
PatTheMav 5127c22773 libobs: Add more files to list of public headers 2023-11-02 11:50:30 -04:00
Lev Leontev df990192b2 docs: Fix obs_sceneitem_get_group signature 2023-10-28 18:28:54 -05:00
TDV Alinsa e6b3ae738f obs-webrtc: Allow non-CBR rate control with WHIP
Nothing about WHIP requires CBR (and many things that use it use VBR),
and there's no specific upstream service to care about it (WHIP is a
protocol, not a service, despite being exposed as a "service" in OBS),
so let's stop forcing it to be CBR and allow the user to choose other
rate control methods.
2023-10-28 18:15:03 -05:00
David Rosca 83e7cfb9c3 obs-ffmpeg: Add B-frames option for VA-API
The option is already there, but it wasn't available from UI.
Only show it when B-frames are supported.
2023-10-28 18:08:29 -05:00
Kurt Kartaltepe 658657de35 linux-pipwire: Pass obs_pw_stream to renegotiation callback
We were passing the core pipewire pointer where renegotiation expected
the stream pointer. Somehow this worked, probably because the two are
very close.

fixes #9733
2023-10-28 18:26:29 -03:00
Ryan Foster ed2ade250f Revert "win-wasapi: Remove 'BETA' from Application Audio Capture name"
This reverts commit 36ea03dfa6.
2023-10-28 16:41:47 -04:00
Ryan Foster 20ffdda89a obs-qsv11: Migrate target usage settings
Calling update_targetusage in update_params only updates the setting
when an encoder session is initialized. Calling update_targetusage in
rate_control_modified, like update_latency and update_enhancements, will
update the setting when the Settings window is loaded. This will cause
the updated setting to be reflected in the UI.
2023-10-28 15:45:53 -04:00
gxalpha 60c77aa915 UI: Replace SourceTreeSubItemCheckBox class with Qt property 2023-10-28 10:22:38 -03:00
gxalpha ba4467199c plugins: Remove old macOS version ifdefs
8dd20dfd33 introduced an explicit check
for the available macOS SDK, meaning that we can be sure that the macOS
13.1 SDK is available. As such, we do not require ifdef guards for the
availability of functions that are older than 13.1.
2023-10-27 16:00:42 -04:00
prgmitchell d017cb6718 win-wasapi: Log source name on initialization
Log the source name when a WASAPI device is initialized.
2023-10-27 14:37:46 -04:00
Penwywern 1a88cdb00d UI: Fix AMF AV1 simple recording presets 2023-10-27 14:10:20 -04:00
jcm 311fb69175 mac-virtualcam: Correct device timer firing rate 2023-10-27 10:08:19 -04:00
Service Checker 48e239b74d rtmp-services: Remove defunct servers/services 2023-10-26 17:48:23 -07:00
PatTheMav ff2a7063c2 libobs: Export SIMDe headers unconditionally for plugin development 2023-10-26 18:20:53 -04:00
Ryan Foster de46cf8db7 CI: Update deps to 2023-10-26 release
Notable changes:
 * deps.qt: Backport patch for CVE-2023-43114
 * deps.qt: Backport patch for QTBUG-117779
 * deps.qt: Backport patch for QTBUG-118117
2023-10-26 17:52:17 -04:00
Ryan Foster b4c36c0530 UI: Remove iCCP data from PNGs
Loading these PNGs in libpng 1.6+ results in the warning:
libpng warning: iCCP: known incorrect sRGB profile

This is probably caused by saving an ICC Profile with the program used
to make the image, and that ICC Profile is considered invalid by libpng.

Removing the iCCP data resolves this.
2023-10-26 16:59:06 -04:00
jpark37 6aaf0358ca decklink-output-ui: Decouple DeckLink output state
Didn't realize OBS could output both program and preview views at the
same time with multiple devices.

Also remove render callbacks earlier on stop to avoid use-after-free.
2023-10-25 01:11:32 -05:00
Kurt Kartaltepe 5cf0f06669 linux-pipewire: Load glad symbols on start
After the cmake 3.0 rebuild glad was transitioned to a static library.
This lead to the glad symbols being uninitialized and crashes when they
are used in some cases.
2023-10-24 09:34:38 -03:00
Kurt Kartaltepe 454fc559a2 linux-pipewire: Use the format properties for swap r/b
We refactored this data to be part of the format properties instead of
an out parameter. But forgot to start using this field instead.
2023-10-22 11:16:03 -03:00
Kurt Kartaltepe f0697980c3 linux-pipewire: Add locks to unsafe pipewire functions
These functions log that they should be used with the thread lock held,
so lets hold the lock before calling them.
2023-10-22 11:15:04 -03:00
Ryan Foster b29a44a67d obs-qsv11: Log more QSV settings
QSV logging was missing many of its settings. Let's fix that.
2023-10-17 22:36:22 -04:00
gxalpha 856059b37c mac-avcapture: Replace kCMIOObjectPropertyElementMaster with Main 2023-10-17 16:45:36 -04:00
gxalpha 3d2df1c6d7 mac-capture: Replace kAudioObjectPropertyElementMaster with Main 2023-10-17 16:45:36 -04:00
gxalpha 7aa18609a1 libobs: Replace kAudioObjectPropertyElementMaster with Main 2023-10-17 16:45:36 -04:00
gxalpha 8dd20dfd33 cmake: Explicitly fail if macOS SDK is too old
Adds a check to explicitly make sure that the macOS SDK being used is
recent enough to build OBS. OBS code currently has ifdefs for older SDKs
in some but not all places and relies on some frameworks existing that
do not exist on older versions, this should clarify what we require.
This commit sets the minimum SDK to 13.1 as this is what our wiki
currently specifies. This can be increased in the future if required.
2023-10-17 14:13:54 -04:00
Ryan Foster 6b90f9f701 CI: Update deps to 2023-10-17 release
Notable changes:
 * deps.windows: Update curl to 8.4.0
2023-10-17 12:47:57 -04:00
Rodney 5ebd3ee6d3 UI: Add missing NULL check for skipUpdateVer 2023-10-17 11:17:07 -04:00
Ryan Foster 8fbd61f775 obs-websocket: Update version to 5.3.3 2023-10-16 13:02:06 -04:00
Smartkin e0bc8a8c9c obs-scripting: Search native libraries in Lua script's location 2023-10-14 19:04:00 -05:00
derrod 433912f04a libobs-d3d11: Log VRAM in GiB 2023-10-14 18:47:49 -05:00
Norihiro Kamae 20b8deba2d frontend-tools: Remove unused startAtLaunch variable 2023-10-14 18:35:38 -05:00
Sludge 1cd8b6aaba input-v4l2: always use linear alpha blending 2023-10-14 20:22:22 -03:00
Rodney 3869cb83bc libobs: Fix rendering stats not being logged on output stop 2023-10-13 11:05:19 -05:00
gxalpha 44f3f79296 UI: Convert QTStr macro to inline function
Using inline functions improves IDE integration and avoids potential
pitfalls of that using macros has.
2023-10-12 11:45:45 -04:00
Ryan Foster b131bdadca CI: Update CEF builds
Our previously applied Chromium patch had an error. We have rebuilt
them. Use the rebuilt CEF builds.
2023-10-12 11:14:57 -04:00
tytan652 b09cccb872 build-aux: Update Flatpak CEF build
Our previously applied Chromium patch had an error. We have rebuilt
them. Use the rebuilt CEF Linux build.
2023-10-12 08:50:42 -03:00
gxalpha c41633d998 mac-virtualcam: Log when extension replacement is requested 2023-10-11 13:07:04 -04:00
Service Checker c96111ab04 rtmp-services: Remove defunct servers/services 2023-10-11 03:54:52 +02:00
Paul Hindt d8f533538f UI: Fix compile error due to use of strlen in constexpr 2023-10-11 01:31:02 +02:00
derrod e49b31f536 CI: Fix Steam upload (again) 2023-10-10 17:41:18 -04:00
derrod 625277ace3 UI: Use theme path prefix in status bar 2023-10-10 17:19:02 -03:00
derrod a2db8876fc UI: Use theme path prefix in source tree 2023-10-10 17:19:02 -03:00
derrod 1906a14b90 UI: Update themes to use 'theme:' prefix for non-qrc files 2023-10-10 17:19:02 -03:00
derrod ae148b60a8 UI: Add 'theme:' prefix to Qt search paths 2023-10-10 17:19:02 -03:00