Commit graph

13633 commits

Author SHA1 Message Date
CodeYan01 38f7d29a5d docs: Add missing sceneitem functions 2023-12-14 23:25:20 +01:00
bin b9ce24aa56 UI: Fix QListWidget background color in property groups 2023-12-14 23:24:23 +01:00
CodeYan01 937986452b docs: Add property functions 2023-12-14 16:56:52 -05:00
Georges Basile Stavracas Neto 67c1202849 linux-pipewire: Add screencast cursor_visible prop
This commit adds the screencast-specific 'cursor_visible' field
in an anonymous struct within the constructor struct.

This slightly improves the connection code by properly treating
construction-time information in a constructor struct. It allows
removing the extra function call that sets cursor visibility from
the Screencast portal code.

Admittedly that's not much, but again, this will be an important
distinction when introducing the Camera portal code, since some
camera properties will need to trigger renegotiation.
2023-12-14 10:20:55 -03:00
Georges Basile Stavracas Neto a1db8e5bde linux-pipewire: Factor out connection props in a struct
So that we can expand the number of construct-time connection
properties without changing the function signature every time.
This is mostly an ergonomic change for now, but it'll be very
useful when introducing the Camera portal code.
2023-12-14 10:20:55 -03:00
Georges Basile Stavracas Neto afab71aa80 linux-pipewire: Standardize argument names
Always name obs_pipewire_stream pointers 'obs_pw_stream', so as not
to confuse with obs_pipewire pointers which are called 'obs_pw'.
2023-12-14 10:20:55 -03:00
derrod ebd6eec7f6 win-wasapi: Make reroute target a weak reference 2023-12-13 22:10:53 +01:00
Norihiro Kamae 70aa1e903f win-wasapi: Initialize a pointer reroute_target
The pointer `reroute_target` was never initialized if the reroute was
not set but read during processing audio.
2023-12-13 16:15:09 +01:00
derrod 4b28631a95 win-capture: Add audio capture option to window/game capture 2023-12-12 00:05:47 +01:00
derrod 48f9969df3 win-wasapi: Add procedure to reroute audio output 2023-12-12 00:05:47 +01:00
Lain e958964bee libobs: Update version to 30.0.2 2023-12-10 14:04:03 -06:00
gxalpha baa3243412 Revert "cmake: Align Product Name and Bundle Name on macOS"
This reverts commit 9f66c23825.

This commit caused a crash in CEF on startup for many users. Let's just
revert it asap for now and worry about the minor problem it was solving
another time.
2023-12-10 16:56:36 +01:00
jpark37 263e027938 graphics-hook: Remove unused member variables 2023-12-10 04:45:33 -06:00
jpark37 395ab0fbf5 graphics-hook: Use ID3DDestructionNotifier
Cleaner and more correct than hooking IUnknown::Release.
2023-12-10 04:45:33 -06:00
jpark37 a372f3f111 libobs-d3d11: Add display primaries to the log
Can't hurt to know what Windows thinks the mastering primaries are.
2023-12-10 04:45:22 -06:00
Exeldro b05a401728 libobs: Render audio for all views 2023-12-10 03:35:11 -06:00
Norihiro Kamae 0f9376f1cb libobs: Fix audio-only output did not receive raw_audio 2023-12-09 18:52:17 -06:00
Richard Stanway 87c536ebe0 image-source: Use mutex when accessing slideshow
While adding or updating files locked this mutex, the graphics thread
did not. As the update operation is not atomic, the graphics thread
might access the darray in the middle of an update, resulting in access
to freed memory (crash) if the files were updated at the same time.
2023-12-10 01:39:58 +01:00
cg2121 ef99553a7e UI: Disable edit transform if item is locked
The transform window was still accessible if the scene item
was locked.
2023-12-10 01:27:28 +01:00
cg2121 cd01120740 UI: Don't paste transform on locked item
This disables pasting transforms on an item that is locked.
2023-12-09 18:09:33 -06:00
PatTheMav be7ac828de mac-capture: Fix ScreenCaptureKit deadlock when using nil display ID
In some scenarios ScreenCaptureKit will not call our completion handler
when an internal ReplayKit error occurred. This seems to be more common
when a <nil> display id is provided as the content filter for
ScreenCaptureKit.

The issue was reported to Apple as FB13455947, but it is good practice
for us to check for an invalid display ID before even attempting to start
a capture stream.
2023-12-09 17:34:33 -06:00
Lain 646adafc73 libobs: Update version to 30.0.1 2023-12-09 14:21:57 -06:00
PatTheMav c665308fbf obs-scripting: Disable Python 3.11 support on Windows
Inlined functions in Python's header files result in unresolvable
symbols at link time when building in Debug config on Windows.

This downgrades the upper limit on Windows to 3.10 again until a proper
fix can be found.

macOS is unaffected because it can link binaries with dynamic runtime
lookup.
2023-12-09 19:37:18 +01:00
PatTheMav 6164184b4a obs-scripting: Add missing function import for PyType_IsSubtype 2023-12-09 19:37:18 +01:00
PatTheMav cab950c23b obs-scripting: Fix Python version detection on Windows
Prior code would not only iterate over possible versioned python DLL
names, but also replace possible named subdirectories contained in the
path string.

This commit changes the same code to only change the filename and leave
the path prefix intact.
2023-12-09 19:37:18 +01:00
xlinshan 542cb876dc obs-vst: Fix incorrect VST window size on HiDPI display
On Windows, the VST plugins' window sizes are rendered larger than the
actual content on displays that have UI scale factor. The sizes are
larger by the scale factor, for example, 100x100 content will have a
200x200 window on a 200% scaled screen, and 150x150 on a 150% scaled
screen. This change adjust the window size to fit the content size.
2023-12-09 11:30:39 +11:00
Norihiro Kamae cedf0ace53 CI: Add further packages for build-requirements on Linux
Some more packages are required to build deb package by the script
`.github/scripts/package-linux`.
2023-12-08 18:47:21 +01:00
sora-blue 8fc0489e4a
libobs: Fix scene_enum_sources skipping some active sources
If an item's show/hide transition was active the underlying source
would not previously not be enumerated, resulting in reference leaks by
the UI or other components waiting for the source to be deactivated to
release it.
2023-12-08 14:10:12 +01:00
PatTheMav e27b013d47 aja: Disable deprecated declarations warnings on macOS and Linux
Deprecation warnings have been investigated and have been deemed
non-malicious for the time being.
2023-12-06 17:27:12 +01:00
PatTheMav 40124892cf CI: Add github-actions renderer options to xcbeautify 2023-12-06 17:27:12 +01:00
Translation Updater f674d17168 Update translations from Crowdin 2023-12-05 22:04:31 +00:00
derrod ca865f80cc libobs: Pair video encoder with all audio encoders 2023-12-05 15:36:37 -06:00
derrod b680700bba libobs: Remove unused wait_for_video flag 2023-12-05 15:36:37 -06:00
Ryan Foster 689daf57dc obs-websocket: Update version to 5.3.4
Fix a crash on shutdown.
2023-12-05 14:20:29 -05:00
Ryan Foster eca9cd2bc4 obs-browser: Update version to 2.23.1
36508a9 - Don't allow browser docks to arbitrarily close OBS
f877e55 - Fix handling OBS_FRONTEND_EVENT_TRANSITION_CHANGED
2d374a3 - Fix handling frontend JS events
2023-12-05 14:18:42 -05:00
Penwywern 3cc7dc0e7c UI: Fall back in case of invalid scene name on load 2023-12-04 05:06:42 -06:00
prgmitchell 0f498133a4 win-wasapi: Ignore timestamp errors
Only log packets with timestamp errors rather than resetting the device.
2023-12-04 02:25:43 -06:00
derrod 5177a593af libobs: Remove module UI functions 2023-12-02 18:09:20 -06:00
derrod 3f7133b2c7 docs: Add obs_view_enum_video_info and deprecate obs_view_get_video_info 2023-12-02 18:05:55 -06:00
derrod fc891295b6 libobs: Deprecate obs_view_get_video_info 2023-12-02 18:05:55 -06:00
derrod 5ea9fcc951 libobs: Add obs_view_enum_video_info 2023-12-02 18:05:55 -06:00
derrod 7c36257cc0 libobs: Fix obs_view_remove only resetting the first matching mix 2023-12-02 18:03:11 -06:00
CodeYan01 f5fe9999b4 docs: Add info on obs_frontend_source_list 2023-12-02 18:01:55 -06:00
PatTheMav 63a131ce22 mac-videotoolbox: Fix handling of unsuccessful encoder creation
When an encoder was not created in create_encoder, the appropriate
OSStatus value is returned but the calling code expects a boolean
return value.

The negative OSStatus code sent on error is thus interpreted as a
truthy value and the error is not detected. Changing the call signature
to correctly return an OSStatus (and change the caller to detect
error situations) fixes this.
2023-12-02 17:49:24 -06:00
derrod 859321b767 obs-ffmpeg: Add missing header to CMakeLists 2023-12-02 17:48:12 -06:00
derrod 49e796c6fc libobs: Fix GPU scaling always using the main mix 2023-12-02 17:47:33 -06:00
Stephen Seo 758b47d4ed obs-ffmpeg: Use new side-data FFmpeg 6.1 API
Fixes for using FFmpeg 6.1 due to deprecations. Uses `#if` macros to
allow builds for using older versions of FFmpeg.

This commit replaces usage of `av_stream_add_side_data(...)` with
`av_packet_side_data_add(...)`, as the former was deprecated in favor of
the latter.

The FFmpeg commit that deprecated `av_stream_add_side_data(...)` is [1].

The FFmpeg commit that introduced `av_packet_side_data_add(...)` is [2].

Note that the deprecation commit is after the new API function. The
commit in between [3] appears to be changes that migrates to the usage
of the new API function.

[1]: avformat/avformat: use the side data from AVStream.codecpar
5432d2aaca

[2]: avcodec/packet: add generic side data helpers
74279227dd

[3]: avcodec/codec_par: add side data to AVCodecParameters
21d7cc6fa9
2023-12-02 17:43:18 -06:00
Stephen Seo cd784644f5 libobs: Fence off unnecessary code due to FFmpeg v6.1 changes
Fixes for using FFmpeg 6.1 due to deprecations. Uses `#if` macros to
allow builds for using older versions of FFmpeg.

This commit prevents obs from using the "fenced" code if using FFmpeg
6.1, since in FFmpeg commit [1] the "side_data" is added to
`AVCodecParameters`, and therefore the existing/following
`avcodec_parameters_copy(...)` will account for the metadata.

[1]: avcodec/codec_par: add side data to AVCodecParameters
21d7cc6fa9
2023-12-02 17:43:18 -06:00
Stephen Seo 6e080a6806 deps/media-playback: In check for key-frame, use new FFmpeg 6.1 API
Fixes for using FFmpeg 6.1 due to deprecations. Uses `#if` macros to
allow builds for using older versions of FFmpeg.

AVFrame.key_frame was replaced with a flag in AVFrame.flags. The commit
adding the flag is [1] in FFmpeg's repository, and the deprecation is in
commit [2].

In summary of the "key_frame" change, AVFrame.key_frame is deprecated,
and AVFrame.flags indicates with a bit flag if it is a key frame (with
the enum/defined AV_FRAME_FLAG_KEY).

[1]: avutil/frame: add a keyframe flag to AVFrame
cc11191fda

[2]: avutil/frame: deprecate key_frame
3e06f6f040
2023-12-02 17:43:18 -06:00
Stephen Seo 4b5be75c7e deps/media-playback: Use new (nb_)coded_side_data FFmpeg 6.1 API
Fixes for using FFmpeg 6.1 due to deprecations. Uses `#if` macros to
allow builds for using older versions of FFmpeg.

The change in deps/media-playback/media-playback/decode.c is due to
FFmpeg moving "side_data" into AVCodecParameters which is mentioned in
commit [1] in FFmpeg's repository.

In summary of the "side_data" change, AVStream.side_data is deprecated
and replaced with AVStream.codecpar->coded_side_data, and
AVStream.nb_side_data is replaced with
AVStream.codecpar->nb_coded_side_data.

[1]: avcodec/codec_par: add side data to AVCodecParameters
21d7cc6fa9
2023-12-02 17:43:18 -06:00