Commit graph

12706 commits

Author SHA1 Message Date
derrod 3bb101d7a2 libobs: Finalise source creation before firing signal
Fixes a possible crash when renaming a source during the source_create
signal callback as it has not been added to the hash table yet.
2023-04-22 16:13:17 -07:00
gxalpha a4ea51b2b1 cmake: Add properties and log viewer UI files to sources list 2023-04-22 16:01:47 -07:00
derrod 72759ae69d obs-outputs: Don't set DTS offset for enhanced FLV SEQ start/end packets
Sequence start and end packets never have a valid DTS, but with a
non-zero offset the timestamp in the packet would end up also being
non-zero, which leads to librtmp attempting to calculate a timestamp
delta and underflowing.

As a fix, simply remove the ability to even set a DTS offset for
start/end packets and always keep it at zero.
2023-04-17 17:42:15 -04:00
derrod 64f3070753 obs-outputs: Fix enhanced RTMP frame type not being set 2023-04-17 16:39:13 -04:00
derrod 90b8e3585e cmake: Set C11 for CMake < 3.21 2023-04-17 14:55:44 -04:00
Ryan Foster ba263ee4fa Revert "libobs: Improve util_mul_div64 outside MSVC"
This reverts commit c977417747.

Reverted due to a regression.
2023-04-16 20:29:47 -04:00
jpark37 c977417747 libobs: Improve util_mul_div64 outside MSVC
Use inline assembly for x86_64 speed/accuracy.

Sacrifice speed for accuracy on other processors.

Continue to use original implementation for ARM on Windows.
2023-04-15 17:08:04 -07:00
PatTheMav ea60fc2869 mac-virtualcam: Fix DAL plugin entrypoint not being exported
With the recent change to enforce C17 standard for compilers, default
visibility was also enforced to be hidden. This also automatically hid
the `PlugInMain` symbol required for DAL plugins. Adding the
`__exported` decorator makes the symbol explicitly visible.
2023-04-15 16:51:18 -07:00
gxalpha 597ceb2ff0 UI: Make hotkey edit layout margins symmetrical 2023-04-15 16:38:18 -07:00
gxalpha 4d2f7ef009 docs: Add note about instance methods as callbacks in scripting 2023-04-15 16:36:32 -07:00
pkv dfac68b189 obs-outputs: Log encoder incompatible with dynamic bitrate
This logs that dynamic bitrate is disabled when a codec which does not
support bitrate reconfiguration is used, such as aom, svt-av1 ...

Signed-off-by: pkv <pkv@obsproject.com>
2023-04-15 16:33:33 -07:00
gxalpha 1578cca9b2 UI: Sort Add Source menu case insensitively 2023-04-15 16:06:36 -07:00
gxalpha 478bbab159 CI: Remove unused pre-cmake 2.0 Info.plist 2023-04-15 16:03:45 -07:00
Norihiro Kamae 593fb3d12d libobs: Remove newly introduced PRAGMA_WARN_STRINGOP_OVERFLOW macro
The macro PRAGMA_WARN_STRINGOP_OVERFLOW was introduced to suppress a
warning -Wstringop-overflow caused by a macro da_push_back_new calling
darray_push_back_new.
Extract the function in the macro to avoid the warning.
This will also enables checking the type check of the returned pointer.
2023-04-15 16:03:10 -07:00
Georges Basile Stavracas Neto 6e25b3198a CI: Bump Flatpak actions to v6.1
Sadly, v6 had an issue where it pushed the build to the `master`
branch regardless of the branch specified in the action config.
This was fixed in v6.1, so let's use that, and publish further
releases on the right branch.
2023-04-14 20:53:03 -04:00
PatTheMav 9f191b5101 cmake: Fix buildspec version parsing for dependencies
VERSION comparison requires semver-compliant version strings, but
obs-deps versions are based on dates, which are not compliant. Fix
version strings to semver variants before comparison.
2023-04-14 20:10:19 -04:00
derrod 36d30cad19 UI: Fix simple mode replay buffer maximum not being set 2023-04-14 19:35:59 -04:00
Richard Stanway 1d7c066cf5 UI: Avoid calling libobs functions with null pointers in projectors 2023-04-14 15:50:59 -07:00
Ryan Foster 099b391e7c CI: Update deps to 2023-04-12 release
Notable changes:
 * deps.qt: Add missing obs-deps version file for Qt packages
 * CI: Add detection for single-arch static libraries

This is mostly to fix plugin builds. No dependency versions have
changed.
2023-04-12 21:33:06 +00:00
Ryan Foster 9292fbbad7 CI: Update apple-actions GitHub Actions
Update actions version to avoid the impending shut down of deprecated
commands on May 31, 2023.

See:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2023-04-12 21:32:59 +00:00
Richard Stanway bacc3ac8ed UI: Add Citrix ICAService to Windows DLL blocklist 2023-04-12 21:32:49 +00:00
derrod f3c075f19f UI: Do not disable events when disabling codecs 2023-04-12 17:17:11 +00:00
PatTheMav b2e66bb401 libobs: Add missing headers for framework export 2023-04-12 17:17:00 +00:00
PatTheMav df4c8d21ad cmake: Remove generated libobs export header from install interface 2023-04-12 17:17:00 +00:00
K.B.Dharun Krishna 1dd6e47215 CI: Bump Flatpak actions to v6 2023-04-11 17:32:39 -03:00
jpark37 bad13c90e0 decklink-output-ui: Don't crash on missing device
Noticed OBS crashing after I removed DeckLink hardware that I enabled
auto-start output against.
2023-04-09 11:53:12 -07:00
jpark37 5adcd51a68 decklink: Ignore "default" output device
obs_get_output_properties leads to a callback with an empty settings
object, so ignore it to avoid adding a dummy entry to the device list.
2023-04-09 11:53:12 -07:00
gxalpha e03a2751f4 cmake: Set CFBundleName to "OBS Studio" 2023-04-09 03:58:40 +02:00
PatTheMav 158a2e10aa cmake: Skip plugin target setup when ENABLE_PLUGINS is not set 2023-04-08 16:33:18 -07:00
PatTheMav d6a5532394 cmake: Skip dependency setup for CEF when using universal architectures 2023-04-08 16:33:18 -07:00
PatTheMav 6e4417018d cmake: Add platform configuration for macOS universal builds 2023-04-08 16:33:18 -07:00
PatTheMav e4ff8fab7a cmake: Fix discovery of existing pre-built dependencies
As there will be multiple directories containing obs-deps (non-Qt and
Qt variants), the search needs to continue after a first failed attempt
and not abort it entirely.
2023-04-08 16:33:18 -07:00
derrod 35d42f77d6 cmake: Set C standard to ISO C17
- Sets CMAKE_C_STANDARD to 17
- Disables C extensions (e.g. gnu17) to force ISO C on macOS/Windows
- Fixes language properties in cmake 3.0 not being set correctly
- Sets Xcode attributes to c17
2023-04-08 19:30:12 -04:00
derrod b3cf98f230 libobs: Fix compiling in ISO C17 mode 2023-04-08 19:30:12 -04:00
PatTheMav 8b186bac9b mac-avcapture: Fix questionable use of comma 2023-04-08 16:26:34 -07:00
PatTheMav 2978f20b06 UI: Replace use of macros for macOS updater with character constants
Also updates unqualified call to `std::move` per modern clang standards
2023-04-08 16:21:40 -07:00
PatTheMav 1172629492 rtmp-services: Remove macro-based constant usage
Macros make the code you see different from the code the compiler sees.
Modern C renders traditional uses of macros for constants and utility
functions unnecessary. Macros should only be used when there is no
other solution available.
2023-04-08 16:12:55 -07:00
gxalpha 1b708b312e cmake: Fix build without Sparkle 2023-04-08 05:44:08 +02:00
PatTheMav 3bfaf6661b cmake: Fix parsing of OBS_VERSION_OVERRIDE cache variable 2023-04-07 21:11:37 +02:00
derrod 50d1b5ccb4 UI: Lower Sparkle update check interval for pre-release builds 2023-04-07 20:59:30 +02:00
derrod 8a2305fd9a cmake: Fix parsing BETA version cache variable 2023-04-07 20:59:30 +02:00
derrod 3de564258d obs-outputs: Fix AV1 header parser adding ref count to data
The header packets are only used within the rtmp-output and do not need
or use the ref counter as the data is manually free'd directly.

The presence of this ref counter causes a crash on *nix platforms due to
our memory alignment hack attempting to free memory but reading the
wrong offset due to the ref counter being there rather than the
alignment offset.
2023-04-06 23:30:24 +02:00
derrod 3fed2e081e mac-videotoolbox: Enforce non-zero keyframe interval in CRF mode 2023-04-05 17:03:21 -07:00
cg2121 6254e031d9 libobs: Fix transition lookup by uuid
The obs_get_transition_by_uuid function would return a valid source
even if it wasn't a transition.
2023-04-05 16:52:46 -07:00
Richard Stanway 9cdd847445 UI: Fix incorrect use of QT_TO_UTF8 in SpeakerLayoutChanged
The string is immediately destroyed after use, so taking a pointer to it
ends up pointing to invalid memory. Let's avoid using QT_TO_UTF8 here.
2023-04-05 21:26:21 +00:00
gxalpha 6c676d39da UI: Removed unused static AddProjectorMenuMonitors declaration
e832b42 made AddProjectorMenuMonitors a member function of OBSBasic, but
the (now unused) declaration of the static function never got removed.
2023-04-05 21:26:17 +00:00
PatTheMav 1bab65683e frontend-plugins: Fix auto scene switcher not saving settings on close
The `done` event does not emit a `closeEvent`, but saving is only
implemented in that event handler. Changing this to `close` correctly
triggers the default QWidget event and thus settings are saved.
2023-04-05 21:26:15 +00:00
derrod e8541b9e27 UI: Recalculate scroll position after resize 2023-04-05 21:26:10 +00:00
derrod d277a7541f Revert "UI: Only adjust size of properties on first draw"
This reverts commit 624a0da302.
2023-04-05 21:26:10 +00:00
derrod 7258a58904 CI: Enable Sparkle deltas for betas 2023-04-05 21:26:06 +00:00