Commit graph

13106 commits

Author SHA1 Message Date
PatTheMav f8e00d6071 clang-format: Update formatting of all ObjC and ObjC++ files 2023-06-11 14:56:45 +02:00
PatTheMav db7491083c Update clang-format file for ObjC code 2023-06-11 14:56:45 +02:00
gxalpha 575c085f7a text-freetype2: Improve text/file properties UX 2023-06-10 23:50:57 -07:00
cg2121 45e895206d UI: Render preview lines above safe areas
Moves the preview lines around sources to be rendered above the
preview safe area lines.
2023-06-10 17:35:57 -07:00
derrod 263781c6c6 libobs: Fix crash when properties are deleted in callback
(cherry picked from commit 447710ab2c)
2023-06-11 02:18:17 +02:00
derrod 66b3a04424 UI: Assume RTMP if service has no protocol
(cherry picked from commit e26a04fa44)
2023-06-11 02:18:17 +02:00
derrod 8983083cec updater: Refactor and cleanup 2023-06-11 02:17:28 +02:00
derrod ef3a67708e UI: Support PCM in MP4 2023-06-10 17:10:30 -07:00
derrod d53ed7daed deps/libff: Add ff_supports_pcm_in_mp4() 2023-06-10 17:10:30 -07:00
columbarius a2b8ff2e35 linux-pipewire: Skip processing video buffer if import failed
After a failed import we should signal buffer renegotiaten and then just
skip processing this videobuffer.
2023-06-10 17:03:19 -07:00
gxalpha 5cba879dd5 obs-webrtc: Use old obs_output functions
The obs-webrtc PR was merged before 79822a58c, but the PR of 79822a58c
was not rebased on latest master before being merged. As such, the
usages of the obs_output_*2 functions was not removed by that PR.
2023-06-10 16:52:56 -07:00
Colin Edwards 353a4c860d UI: Don't show WHIP in stream settings if the protocol isn't registered 2023-06-10 16:50:55 -07:00
Exeldro e830043851 UI: Don't update text source when nothing changed 2023-06-10 16:45:42 -07:00
CodeYan01 26003fdf79 docs: Clarify da_erase_range 2023-06-10 16:40:33 -07:00
gxalpha fe2eee951b UI: Don't create combobox for radio buttons in properties view 2023-06-10 16:13:57 -07:00
gxalpha 79822a58c3 libobs,plugins: Remove new obs_output_*2 functions
Effectively reverting parts of d314d47, this commit removes the new
functions that got added to remove the flags parameter. Instead, it just
marks the parameter as unused and documents this. Having what is
effectively an API break just to remove a parameter is a bit overkill.
The other parts of d314d47 which cleaned up the usage of the flags
parameter are untouched here.
2023-06-10 16:13:05 -07:00
cg2121 5cc319d97f UI: Change name of ResetProxyStyleSliders function
Changes the name to ThemeChanged, as the function now does more than
reset the volume sliders.
2023-06-10 16:06:16 -07:00
Ilya Chernikov a609cfb2f0 deps/obs-scripting: Fix crash removing callbacks in script_unload
Signed-off-by: Ilya Chernikov <chernikov.i123@gmail.com>
2023-06-10 14:38:14 -07:00
Lain 1aed7ed114 libobs: Use da_clear() to clear obs_core_data::sources_to_tick
Makes it a bit more clear what's going on
2023-06-10 14:30:44 -07:00
Lain 85ca5a25be libobs/util: Add da_clear()
Adds a bit more of an explicit function for clearing dynamic arrays
2023-06-10 14:29:33 -07:00
Exeldro a77789b266 libobs: Don't keep the sources mutex in tick_sources
Allow other threads to use sources while the graphics thread does
video_tick, update, activate and deactivate on sources
2023-06-10 14:20:13 -07:00
Lain 9178ec6a8d libobs/util: Actually fix use-after-free in da_insert_new
d040de51bb was prematurely merged, this
should actually do the job as requested.
2023-06-10 12:31:41 -07:00
Norihiro Kamae d040de51bb libobs/util: Fix use-after-free in darray_insert_new
After the array is allocated in `darray_ensure_capacity`, the pointer
`item` is invalid.
2023-06-10 11:54:27 -07:00
gxalpha 2ea47bb65a mac-capture: Explicitly set clear background for SCK 2023-06-10 11:30:23 -07:00
Colin Edwards 8d387a3e68 More copyright/name updates 2023-06-10 13:23:51 -05:00
gxalpha a7dffb98a5 rtmp-services: Remove extraneous comma in schema 2023-06-09 22:36:51 -05:00
Sean DuBois dd392188b8 UI: Enable WHIP service in UI
This provides the UI glue to enable the WHIP service introduced in the
obs-webrtc plugin.

Co-authored-by: John Bradley <jocbrad@twitch.tv>
Signed-off-by: pkv <pkv@obsproject.com>
2023-06-09 20:20:49 -05:00
Sean DuBois 851a8c216e obs-webrtc: Add WHIP output & service
This adds a WHIP output & associated service.
- Code inspiration from DDRBoxman
- Implemented by Sean DuBois & tt2468
- Various fixes and contributions by pkv.

Co-authored-by: tt2468 <tt2468@irltoolkit.com>
Co-authored-by: DDRBoxman <colin@recursivepenguin.com>
Co-authored-by: pkv <pkv@obsproject.com>
Signed-off-by: pkv <pkv@obsproject.com>
2023-06-09 20:20:49 -05:00
Sean DuBois ed577a05aa libobs: Add bearer token to obs_service_connect_info
This adds a new OBS_SERVICE_CONNECT_INFO_BEARER_TOKEN which is needed for WHIP output.

Signed-off-by: pkv <pkv@obsproject.com>
2023-06-09 20:20:49 -05:00
Sean DuBois 0c73c89571 build-aux: Add libdatachannel and deps to flatpak
When configuring SCTP we set the following options

* build_program=OFF. Don't build example programs
* inet/inet6=OFF. IP connectivity isn't required since SCTP
  is used via WebRTC
* werror=OFF. Don't treat warnings as error when building
* enable PIC so SCTP can be used as a shared library.

Signed-off-by: pkv <pkv@obsproject.com>
2023-06-09 20:20:49 -05:00
Sean DuBois 19a297f81a CI: Update deps to 2023-06-01 release
Notable changes:
 * deps.ffmpeg: Add libdatachannel
 * deps.macos: Add Syphon Framework

Library added to support WHIP (WebRTC) output.
2023-06-09 20:20:49 -05:00
Chase Adams d61e802a34 rtmp-services: Add Livepeer Studio 2023-06-09 14:45:10 -07:00
Norihiro Kamae c053216824 UI: Remove move_to_xdg
The configuration directory was $HOME/.obs-studio until version 0.10.1
and then moved to XDG's configuration path by ba02e065fe.
The function move_to_xdg was introduced to move the old configuration
directory and left almost untouched for 8 years.
2023-06-09 04:51:10 -07:00
Florian Zwoch dd6841143d libobs/util: Do not include SIMDe for MinGW targets
MinGW comes with it's own intrinsics macros as regular MSVC does.
On MinGW the inclusion of SIMDe would cause multiple definitions
of the same macro names.

Since sse-intrin.h leaks into the public header space this
will cause 3rd party plugins build with MinGW tool-chains emit
redeclaration warnings when including obs-module.h.
2023-06-09 04:48:54 -07:00
Richard Stanway b756c78f44 win-capture: Skip compat helper matching if properties are null
Fixes compatibility messages appearing when no window is selected
in window capture properties.
2023-06-09 04:46:10 -07:00
Gol-D-Ace d3df414603 win-capture: Add Honkai: Star Rail to compatibility list 2023-06-09 04:45:26 -07:00
wangshaohui e6431af50b win-capture: Render nothing if window is iconic 2023-06-08 00:32:56 -07:00
kyle 40ed16637c libobs: Remove duplicate debug symbol paths in Windows 2023-06-08 00:25:27 -07:00
tududweb 4871fd301a UI: Don't trigger a settings update when list is empty
To avoid recursive call
2023-06-07 12:50:48 -07:00
rhutsAMD 4bfe291520 obs-ffmpeg: Consider requested throughput in AMF preset fallback 2023-06-06 18:27:56 -07:00
gxalpha abd472cd31 mac-capture: Use system CGDisplayStream.h header on macOS 14 and newer
ee3c2d0 introduced a local copy of the CGDisplayStream.h header as the
macOS 13.3 SDK erroneously declared functions as unavailable on older
systems. This has been fixed in the macOS 14 SDK with the functions
correctly being declared as available on 10.8, so we can use the system
header again, and in the future remove the local copy once our minimum
compile version is new enough.
2023-06-06 19:07:13 -04:00
Colerar eab9cb0e49
mac-capture: Sort SCK application and window lists alphabetically 2023-06-04 13:11:04 +02:00
tytan652 90d96e92c2 obs-frontend-api,UI,docs: Add API to add custom docks with no toggle
Some plugin does that by deleting the QAction returned by
obs_frontend_add_dock().

Now that obs_frontend_add_dock() is deprecated,
obs_frontend_add_custom_qdock() replace this usage.
2023-06-03 16:47:01 -07:00
tytan652 cde5545f8f obs-frontend-api,UI,docs: Add dock API that ask for unique object name
obs_frontend_add_dock() is deprecated in favor of
obs_frontend_add_dock_by_id()
2023-06-03 16:47:01 -07:00
tytan652 f2fa54120a UI: Avoid having two dock with the same object name
https://doc.qt.io/qt-6/qmainwindow.html#saveState

You should make sure that this property is unique for each QToolBar and
QDockWidget you add to the QMainWindow.
2023-06-03 16:47:01 -07:00
Igor Bochkariov df3b294fc3 UI: allow side docks to be tall
before: widgets docked on the sides of the preview are of the height of
the preview

after: the user can toggle the setting in the docks menu so the side
widgets are of the height of the whole window

UI: change menu label to Full-height docks
2023-06-04 09:39:47 +10:00
cg2121 382edcebb7 UI: Also toggle mixer toolbar in view menu
This change makes the mixer toolbar also show/hide when toggling
the source toolbars in the view menu.
2023-06-03 16:03:37 -07:00
Huts, Roman 275bb344d8 obs-ffmpeg: Fix AMF encoder reconfiguration
Must Flush() or Drain() before ReInit()
2023-06-03 14:37:57 -07:00
gxalpha ded9aba106 mac-videotoolbox: Remove encoder sorting 2023-06-03 13:48:47 -07:00
gxalpha b69ee759d2 UI: Sort encoders alphabetically 2023-06-03 13:48:47 -07:00