Commit graph

13130 commits

Author SHA1 Message Date
Penwywern a542d51e59 obs-scripting: Fix python save callback Py_BuildValue
Py_BuildValue doesn't directly accept C bools.
This fixes the callback by passing instead a Py_Bool object built from
the C bool.
2023-06-29 06:02:22 -07:00
derrod 67f7712d83 UI: Migrate undo/redo to using UUIDs 2023-06-28 11:04:56 -07:00
derrod 0cb812251c libobs: Add scene uuid to transform state data 2023-06-28 11:04:56 -07:00
Lain 19d7a96de3
Merge pull request #9043 from kc5nra/ruwen/core-mix-gpu-scaling-standalone
Add GPU based output scaling
2023-06-26 08:28:32 -07:00
Ruwen Hahn 526990d37c obs-ffmpeg: Enable GPU scaling for AMF texture encoder 2023-06-26 13:32:25 +02:00
Ruwen Hahn eb260cddc2 obs-qsv11: Allow GPU scaling for texture QSV encoder 2023-06-26 13:32:25 +02:00
Ruwen Hahn 4a5a2d1111 obs-ffmpeg: Allow GPU scaling for obs-nvenc 2023-06-26 13:32:25 +02:00
Ruwen Hahn 03fa9acc7f libobs: Add obs_encoder_enable_gpu_scaling
Allows rescaling resolution for GPU encoders and allows moving
rescaling for CPU encoders from CPU to GPU

Rescaling is implemented via core video mixes; encoders create
their own core mix with matching width/height/format/colorspace/
range when gpu scaling is enabled and no matching core video
mix exists
2023-06-26 13:32:25 +02:00
gxalpha f37876a941 libobs: Fix obs_output_get_height2 returning width 2023-06-25 16:06:49 -07:00
pkv ba92140f2b rtmp-services: Enforce encoder settings per protocol
For mpegts output, used in rtmp-custom service, encoder settings
require:
- ADTS with fdk-aac.
For all non-rtmp protocols, one also requires:
- video encoder header repetition;
This future proofs the code against protocol addition.

Additionally, I've added a check against NULL audio settings, which was
in my fork but that I forgot to add in the PR [1].

[1] https://github.com/obsproject/obs-studio/pull/6163

Signed-off-by: pkv <pkv@obsproject.com>
2023-06-24 17:11:33 -07:00
pkv 457c88b138 UI: Change surround sound warning to signal YouTube support
YouTube Live now supports 5.1 surround sound.
The surround sound warning in Settings has been updated to reflect that.

Signed-off-by: pkv <pkv@obsproject.com>
2023-06-24 17:11:01 -07:00
Yoshimasa Niwa 00c67e59e6 mac-capture: Improve various Objective-C code
Improve complicated Objective-C implementations in
mac-screen-capture implementation.

- Use `for` instead of overuse of block based iteration code.
- Use `YES` and `NO` for `BOOL` type instead of wrong `TRUE`, `FALSE`,
  `true`, `false`.
- Use `length` to check empty string, omit unnecessary `nil` checks.
2023-06-24 16:58:09 -07:00
Yoshimasa Niwa 36abf04afa mac-capture: Fix show hidden windows option
`screen_capture_build_content_list` or similar calls uses updated
`sc->show_hidden_windows` or similar flags, but these are not set
before calling these functions.
2023-06-24 16:56:40 -07:00
CodeYan01 69e8b73684 obs-ffmpeg: Fix media source playing when inactive 2023-06-24 16:55:41 -07:00
Richard Stanway 896cd4adb2 libobs: Detect and log presence of Lenovo Vantage on Windows
This software seems to be pre-installed on many Lenovo systems and has a
"Network Boost" feature that restricts data usage of background apps,
causing throughput issues when streaming with OBS.
2023-06-24 16:31:21 -07:00
CodeYan01 c3dafe0703 docs: Add versionadded directives for 29.1 2023-06-25 09:29:25 +10:00
cg2121 80f43998e6 UI: Fix icon paths of transition buttons
In Qt Creator, the transition add/remove buttons had no icons,
as the paths were incorrect.
2023-06-25 09:25:36 +10:00
Mattias Landin b9dcbfb953 rtmp-services: Update Vindral servers 2023-06-24 16:11:03 -07:00
derrod dd418c1f35 CI: Remove Ubuntu 20.04 build 2023-06-23 16:32:27 -04:00
CodeYan01 d1a7070d10 obs-ffmpeg: Prevent media source restart
Some options do not require a media source restart. Saving source
unchanged source settings should also not trigger a restart.

I tried to also make it so speed changes do not require a restart by
manipulating the elapsed timestamp  for the source, but it sometimes
causes the first few milliseconds after saving settings to be rough or
slightly distorted. I am also unsure whether a/v frame buffers should be
cleared on a speed change (and how to) so I made it so restarts are
required for speed changes. Chiyo also mentioned that successive quick
speed changes will cause maximum audio buffering (which I was able to
reproduce once).

Nonlocal file playback is unaffected, and will cause the media source to
restart because I am not aware of the possible consequences and because
there's no restart button for it.

Changing "Apply alpha in linear space" is only visible after a few
milliseconds (when mp_media_next_video is called for new frames).

If `is_stinger` and `full_decode` are toggled during runtime, even
though it shouldn't be possible as they are not accessible in the UI,
a media restart will be triggered.
2023-06-23 04:39:52 -07:00
Ryan Foster 2d96324946 CI: Update deps to 2023-06-22 release
Notable changes:
 * deps.qt: Remove Qt 5 builds
 * deps.qt: Update Qt 6 build scripts
 * deps.ffmpeg: Update dependencies for OBS CMake 3.0 upgrade
 * deps.windows: Update dependencies for OBS CMake 3.0 upgrade

No dependency versions have changed.

This update is to unblock work on the Windows "CMake 3.0" upgrade and
dropping Qt 5 support.
2023-06-22 14:33:25 -04:00
Norihiro Kamae dcb5b0785b linux-capture: Remove obsolete property swap_redblue
The implementation to swap red and blue by the property was removed by
9b6d39299e but the property was left.
2023-06-22 09:26:27 -03:00
Exeldro 90c55e03fe obs-scripting: Add config file functions 2023-06-22 00:54:47 -07:00
Clayton Groeneveld f2f4582141 UI: Add ability to reorder filters by drag & drop
This adds the ability for filters to be dragged and dropped
to be reordered, similar to scenes and sources.
2023-06-21 15:33:48 -07:00
cg2121 243d4d42e9 libobs: Add functions to get/set the index of filters 2023-06-21 15:33:48 -07:00
cg2121 e863bea7fb UI: Add QDataStream opreators for OBSSource
Allows serializing/deserializing sources in and out of QDataStreams via
their UUID
2023-06-21 15:33:48 -07:00
gxalpha a35e5aae41 UI: Disable Ok button in Add Source dialog if no source is selected 2023-06-17 16:46:05 -07:00
Norihiro Kamae bff468d7ec UI: Reuse StudioMode.Preview translation for virtual camera config 2023-06-17 16:43:44 -07:00
Norihiro Kamae 323f3957cd UI: Translate place holder name for new group 2023-06-17 16:42:53 -07:00
Norihiro Kamae 846cdafbed UI: Fix changed state of audio settings
When changing audio channels, sample rate, or audio buffering settings
multiple times by hitting `Apply` button, the internal `changed` state
got corrupted. To avoid this, set the changed state when changed
something, but do not clear the changed state.
2023-06-17 16:42:14 -07:00
Norihiro Kamae 35463cb464 UI: Fix changing quick transition to/from fade to black 2023-06-17 16:39:27 -07:00
Norihiro Kamae a1c88d58fc UI: Fix checked state of source toolbar menu item
After the source toolbar was hidden or shown by a hotkey, the checked
state of the menu item was not updated.
2023-06-17 16:36:59 -07:00
Norihiro Kamae 43f7c8c928 text-freetype2: Fix not updating chat log mode property 2023-06-17 16:35:47 -07:00
SuslikV 90affc03fb docs: Fix param name
Copy-paste mistake
2023-06-17 16:30:07 -07:00
gxalpha 1933579b9c UI: Capitalize "Full-Height Docks" 2023-06-17 16:28:59 -07:00
田七不甜 038109fb1b rtmp-services: Update Bilibili Live 2023-06-17 16:28:04 -07:00
Norihiro Kamae 68cb7a31f1 obs-filters: Don't compile audio delay code in async-delay-filter 2023-06-17 16:15:33 -07:00
CodeYan01 73f92eef2e docs: Fix da_push_back return type 2023-06-17 16:10:00 -07:00
Rodney 6efe7ab1c8
libobs-d3d11: Log HAGS driver support and status 2023-06-17 16:04:48 -07:00
PatTheMav 0b325c0e34 cmake: Add separate function to set Xcode-based target properties 2023-06-17 12:23:33 -04:00
PatTheMav 59904a66a3 cmake: Update Framework link definition for macOS builds 2023-06-17 12:23:33 -04:00
PatTheMav 9805b706d1 cmake: Remove legacy files for macOS builds 2023-06-17 12:23:33 -04:00
PatTheMav 50a4e83251 cmake: Remove Info.plist template files for macOS builds
Creation of Info.plist files through Xcode is more canonical and
future-proof, as it will automatically pick up changes/updates
introduced by Apple. Non-standard keys can still be added via a
template file, which will then be extended by Xcode with the default
keys.
2023-06-17 12:23:33 -04:00
PatTheMav eb3d9963a0 cmake: Update macOS compiler configuration
Compiler extensions are disabled before the first `project` call to
force CMake into considering compilers to not support GNU extensions
(even though clang and gcc do).

Also sets common clang compiler options so they can be used across all
supported platforms.

`openmp-simd` support is enabled by default as there is no performance
penalty on x86_64 systems and intrinsics are enabled on arm64.

Also implements CMake's `CMAKE_COMPILE_WARNING_AS_ERROR` flag to
enable the desired behavior and configuration time.
2023-06-17 12:23:33 -04:00
PatTheMav e2e3c9e102 cmake: Fix CMake policy scopes and add include guards
Include guards ensure that bootstrap includes happen only once for the
entire project. Moving all policy changes into an included file without
its own policy scope ensures that the policy is applied to the project.
2023-06-17 12:23:33 -04:00
PatTheMav 887b537d56 cmake: Update buildspec and presets for macOS 2023-06-17 12:23:33 -04:00
gxalpha 1edd997c49 mac-syphon: Remove unused OBSSyphonKVObserver 2023-06-17 16:36:08 +02:00
gxalpha fc6bbb73f2 mac-capture: Fix wrong CFString to NSNumber cast 2023-06-17 16:35:13 +02:00
gxalpha 59b5b07400 mac-capture: Add SCStreamDelegate to stream to log capture errors 2023-06-17 16:33:52 +02:00
Lain 1bbb3fa773 libobs: Update version to 29.1.3 2023-06-17 00:44:00 -07:00