0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00
Commit Graph

14460 Commits

Author SHA1 Message Date
Lain
c36575774b linux-capture: Add xcomp func for comparing encoded window IDs
This is cursed. Window ID storage for xcomposite capture is absolutely
cursed. It should not be storing the window handle with this. I'm pretty
sure that whoever wrote it at the time decided to store the god-forsaken
window handle (which does not persist after the window closes) as part
of the ID because they were afraid it might capture the wrong window if
they close OBS and open it up again while the window still exists.

Again, xcomposite capture is absolutely cursed.
2024-09-03 13:28:18 -07:00
Lain
74e49272ba linux-capture: Fix potential null pointer dereference
I'm not happy.
2024-09-03 13:28:18 -07:00
Lain
4d7bc233d7 linux-capture: Move xcomp window ID decoding to its own func
Moves the window handle/name/class decoding code out of the
xcb_find_window() function and into its own dedicated function so it can
be used elsewhere. This s*** is cursed.
2024-09-03 13:28:18 -07:00
Lain
c837d3b533 linux-capture: Set xcomposite capture retry interval to 2sec
Half a second was a bit too often and was spamming the debug logging
when a window wasn't found.
2024-09-03 13:28:18 -07:00
derrod
c521b23619 libobs: Always set initial scene item pos to top-left corner
In relative mode (0, 0) is the center of the screen, so in order to
maintain previous behaviour we need to convert the value here.
2024-09-02 20:39:18 +02:00
tytan652
34735be094 UI: Fix Qt UIC warning in settings UI 2024-08-31 12:06:38 -04:00
gxalpha
7b0e154245 UI: Replace remaining SIGNAL/SLOT macros 2024-08-31 11:39:08 -04:00
gxalpha
296a2b8631 cmake: Exclude macOS .DS_Store from resources 2024-08-31 10:39:11 -04:00
gxalpha
efa291b140 shared/qt: Remove unused graphics include from qt-wrappers 2024-08-30 23:55:45 -04:00
gxalpha
213e0f1396 shared/qt: Unlink slider-ignorewheel from libobs
As the obs.hpp include is unused and can get removed, the entire linkage
to libobs is unnecessary.
2024-08-30 23:55:45 -04:00
tytan652
b7dbaf4eee build-aux: Update Flatpak CEF from 103/5060 to 127/6533
The CEF module is also modified to:
- Use the pre-built wrapper included in the tarball
- Preserve debug symbols inside its binaries
  - The copy done later by OBS Studio build-system will be split from
    its debug symbols
2024-08-30 23:05:05 -04:00
Ryan Foster
3559fdad0f CI: Update CEF from 103/5060 to 127/6533 2024-08-30 22:38:35 -04:00
Ryan Foster
16011f7c29 obs-browser: Update version to 2.24.2
98d94a4 - Enable Qt message loop on Linux
8e2b31f - Set the right Ozone platform on Linux
6451941 - Wait on shutdown for docks to close on Linux
174e6a8 - Remove CMake legacy code path
e4e523d - Update version to 2.24.2
2024-08-30 18:29:57 -04:00
Ryan Foster
9925345eb6 CI: Update flatpak-builder and flat-manager actions
This should remove some warnings on CI about deprecated GitHub Actions
versions.
2024-08-29 13:31:39 -04:00
gxalpha
f1f89a4864 shared/properties-view: Remove Qt 6.2 cmake code 2024-08-28 23:21:06 -04:00
gxalpha
270cebe581 shared/properties-view: Use IconLabel for help icon
Changes the icon rendering for the properties view "question mark" icon
from Qt label HTML to use the IconLabel widget. This makes the label
high DPI.
Unfortunately the properties view code is a complete nightmare and in a
way, this PR makes this worse by adding the "leftWidget" widget as a
placeholder for what the "normal" label used to be, but you can't easily
replace that label with the icon label (while retaining prior
modifications from other nightmare code) so here we are. The entire
thing needs to be burnt to the ground and be rebuilt from the ground up
but that's a task for another day.
2024-08-28 19:42:10 -04:00
gxalpha
7840c53eff shared/qt: Add IconLabel widget 2024-08-28 19:42:10 -04:00
derrod
22fc29c5b4 docs,libobs: Remove deprecated service APIs
Deprecated in 29.1
2024-08-28 19:10:27 -04:00
derrod
b7553b5883 docs,libobs: Remove master volume functions
Never implemented, deprecated in 29.0.
2024-08-28 19:10:27 -04:00
derrod
8729cebce7 docs,libobs: Remove deprecated scene item transition functions
Deprecated in 28.0, documentation erroneously states 27.2.

The following functions were erroneously not marked as deprecated in
the header:
- obs_sceneitem_set_show_transition()
- obs_sceneitem_set_show_transition_duration()
2024-08-28 19:10:27 -04:00
derrod
75cde08e8d libobs: Rename OBS_NIX_PLATFORM_X11_GLX to OBS_NIX_PLATFORM_INVALID
Deprecated in 28.0.
Renamed so that the values of non-deprecated members stay the same.
2024-08-28 19:10:27 -04:00
derrod
84d462c31c libobs: Remove obs_hotkey_enable_strict_modifiers()
Deprecated in 28.0.
2024-08-28 19:10:27 -04:00
derrod
03fbe28717 libobs: Remove base_set_allocator()
Deprecated in 28.0.
2024-08-28 19:10:27 -04:00
derrod
71d49b0ef2 docs,libobs: Remove/internalize deprecated addref functions
These have been deprecated for external users since 27.2 (early 2022)
and only two are still in use internally.
2024-08-28 19:10:27 -04:00
derrod
78bc3300c0 libobs: Remove obs_volmeter_{get,set}_update_interval()
Deprecated in 27.2.
2024-08-28 19:10:27 -04:00
derrod
a4f5a33b14 libobs: Remove obs_proprety_text_type()
Typoed function name, deprecated in 21.1.
2024-08-28 19:10:27 -04:00
derrod
bda463932e docs,libobs: Remove obs_render_main_view()
Deprecated since 21.0
2024-08-28 19:10:27 -04:00
derrod
07aa98ab34 libobs: Remove obs_get_default_rect_effect()
Originally removed in 0.12.1 but "temporarily" brought
back, then never removed.
2024-08-28 19:10:27 -04:00
derrod
1703361dba libobs: Remove obs_{duplicate,free}_encoder_packet
Deprecated in 0.2.4(!) over 10 years(!!) ago.
2024-08-28 19:10:27 -04:00
Ryan Foster
f0d619521b libobs: Fix Windows x86 CMake when using reduced obs-deps package
A recent obs-deps change removed all non-essential x86 deps. This caused
the x86 subproject(s) on Windows to fail to configure due to being
unable to find x86 dependencies that do not exist.

Co-authored-by: PatTheMav <PatTheMav@users.noreply.github.com>
2024-08-28 18:26:47 -04:00
Ryan Foster
cba6ed40d2 win-dshow: Fix CMake preventing Virtual Camera from working
The code prior to this change would never add virtualcam.c to the
win-dshow target, which resulted in the virtualcam_output not being
registered and thus Virtual Camera not working.

Co-authored-by: PatTheMav <PatTheMav@users.noreply.github.com>
2024-08-28 18:10:08 -04:00
tytan652
72428ccd97 Remove CMake legacy code path
Except submodules and legacy_check macro since the former depend on it.
2024-08-28 13:53:25 -04:00
derrod
8251005ad3 UI: Add migration for relative coordinate system 2024-08-27 23:58:51 +02:00
derrod
f61d0bb3c2 docs: Add new relative positioning scene functions 2024-08-27 23:58:51 +02:00
derrod
ddd586ae03 libobs: Allow scene items to use legacy absolute mode
This is to keep old collections running in relative mode until they
can be migrated.
2024-08-27 23:58:51 +02:00
derrod
1565ca8eb1 libobs: Change scene items to using relative coordinates 2024-08-27 23:58:51 +02:00
derrod
a50320464a libobs: Force sceneitem transform update if scene dimensions change 2024-08-27 23:58:51 +02:00
Exeldro
4cdbbacaff UI: Fix warning color 2024-08-27 13:58:17 -04:00
gxalpha
15e9242acb UI: Add warning to Custom FFmpeg mode 2024-08-25 20:37:46 +02:00
gxalpha
92d5b45a50 mac-capture: Remove disp_finished event
This event is only used within destroy_[audio]_screen_stream, and does
not appear to be necessary there. stopCaptureWithCompletionHandler holds
a reference to the SCStream object by itself (and the other objects
being held aren't used afterwards anyways), so there should be no harm
in releasing everything immediately without blocking.
2024-08-25 10:17:06 +10:00
Norihiro Kamae
60a45d3aa3 UI: Use std::clamp instead of macro 2024-08-24 16:16:08 -07:00
Norihiro Kamae
15038232c5 obs-ffmpeg: Remove unexisting class name declaration
The class `Logger` was declared but it is never defined nor used.
2024-08-24 16:12:12 -07:00
gxalpha
ec5f499cb3 UI: Inline macOS 13 check 2024-08-23 22:09:48 -04:00
Exeldro
200abd3af0 UI: Force UpdateEditMenu on UI Thread 2024-08-23 21:27:43 -04:00
Michael Gillett
14f44dfe06 rtmp-services: Add NFHS Network 2024-08-23 16:31:41 -04:00
pkv
f9bf7e6c00 obs-filters: Add NVIDIA Blur Filter & Background Blur
This adds a Background Blur filter which blurs the background for a
foreground speaker identified by NVIDIA AI Greenscreen FX.
Secondly, this adds a Blur filter based on NVIDIA Video Effects,
leveraging the Background Blur Filter where the mask used just sets the
whole frame as background.

Signed-off-by: pkv <pkv@obsproject.com>
2024-08-23 15:19:38 -04:00
tt2468
16f0bb68ae libobs: Add OBS_ENCODER_CAP_SCALING
Adds a new encoder cap which tells libobs that rather than scaling
video frames in software, the encoder is capable of scaling them via
its own (presumably more efficient) means.

An encoder may implement this cap by comparing the VOI of its assigned
`video_t` and the results of `obs_encoder_get_width/height()`. If the
width/height values differ, then the encoder is being asked by libobs
to self-scale, and the resolution in VOI will be the raw frame size,
with the `...get_width/height()` being the intended output resolution
of the encoder.

It is important to note that GPU rescaling mode will take priority
over self-scaling. If GPU rescaling is enabled, the encoder will never
be asked to self-scale.

This is useful for discrete hardware encoders, where they might have
fixed-function video scaling logic that is highly efficient and fast.
Additionally, this feature allows a hardware device which is encoding
a full ABR ladder of tracks to be smart and only copy a video frame
from GPU -> Host -> Device once for the entire ladder, rather than
once for every track.
2024-08-23 14:20:53 -04:00
tt2468
92b5643081 libobs: Remove broken rescale modification logic
This logic would previously have written any changed scale resolution
set by the encoder in the `.get_video_info` callback back to the
encoder, however this functionality was "broken" by
20d8779d30. In reality, this would have
never worked with texture encoders or with GPU rescaling enabled, and
probably would have had odd side effects for CPU rescaling, too. It's
best just to remove this functionality.
2024-08-23 14:20:53 -04:00
derrod
d9503d4c27 shared/media-playback: Remove compatibility with FFmpeg < 6.1 2024-08-23 13:44:04 -04:00
derrod
489f050faf win-dshow: Remove compatibility with FFmpeg < 6.1 2024-08-23 13:44:04 -04:00