Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OBS merge 30.2.3 #613

Merged
merged 2,248 commits into from
Nov 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2248 commits
Select commit Hold shift + click to select a range
c974a40
build-aux: Update Flatpak ntv2 module to libajantv2
tytan652 May 4, 2024
79f680c
UI: Use weak_source_expired instead of getting the source
gxalpha May 6, 2024
279e942
libobs: Fix obs_parse_avc_header missing high profile parameters
derrod May 9, 2024
af685be
UI: Add OS specific theme variables via prefix
Warchamp7 May 10, 2024
dff3023
obs-webrtc: Fix comment capitalization
tt2468 Apr 21, 2024
5802077
obs-webrtc: Correctly guard HEVC in output using ifdefs
tt2468 Apr 21, 2024
09be4f9
obs-webrtc: Only advertise relevant codecs for a or v-only outputs
tt2468 May 5, 2024
023d9bd
UI: Use OBSSourceLabel for item widget labels
cg2121 Feb 14, 2024
cd918a7
UI: Move projector rename signal
cg2121 Feb 13, 2024
272a5ed
UI: Use vector for volume control signals
cg2121 Feb 13, 2024
b82a49e
UI: Use OBSSourceLabel for VolControl
cg2121 Feb 13, 2024
03313a6
UI: Fix visibility and lock checkbox styling on system theme
gxalpha May 10, 2024
67e4853
UI: Give private spacing helper sources names
gxalpha May 4, 2024
4165047
UI: Center preview spacing lines
gxalpha May 5, 2024
c9f7a3c
deps/media-playback: Prioritize CUDA decoder
moocowsheep Apr 26, 2024
ce4c99b
plugins/win-dshow: Add CUDA decoder
moocowsheep Apr 26, 2024
7843a82
UI: Adjust font size on macOS
Warchamp7 May 10, 2024
b3ee2f8
CI: Add Ubuntu 24.04
RytoEX May 15, 2024
c3c6c6c
CI: Add additional log group to setup_ubuntu script
RytoEX May 15, 2024
7824e16
mac-capture: Replace pragmas with availability markers
tytan652 Mar 29, 2024
f60d6bc
rnnoise: Fix compilation not working on latest gcc
cg2121 May 12, 2024
a18305d
UI: Keep weak stream output ref in status bar
palana Apr 18, 2024
842d249
rtmp-services: Bump package version
RytoEX May 17, 2024
dc4cba7
libobs/util: Add seeking support to array serializer
derrod Apr 26, 2024
89c7a96
libobs/util: Add buffered file serializer
derrod Apr 27, 2024
7cd7278
obs-outputs: Adjust HEVCDecoderConfigurationRecord for hvc1 tag
derrod Apr 27, 2024
adf744e
libobs: Ensure audio offsets are positive
derrod May 18, 2024
c815d6a
coreaudio-encoder: Fix pts/dts not including encoder delay
derrod May 18, 2024
8a38e33
libobs: Mix audio of each source in a scene only once
derrod Apr 14, 2024
72924ac
libobs: Deduplicate audio for nested scenes/groups if not transitioning
derrod May 9, 2024
27fa9b1
UI: Give unnamed settings labels relevant names
palana Apr 17, 2024
132f3f3
UI: Adjust Classic theme mixer button styling
Warchamp7 May 22, 2024
e79fea3
rtmp-services: Update Joystick.TV servers and recommended settings
jwoertink May 21, 2024
aba600c
UI: Move VolumeSlider widget to volume control
Warchamp7 Apr 28, 2024
c543933
UI: Rename MediaSlider to AbsoluteSlider
Warchamp7 Apr 28, 2024
8dcfae9
UI: Remove unnecessary ProxyStyle usage
Warchamp7 Apr 28, 2024
c419465
librtmp: Fix incorrect usage of type 3 chunks
palana May 17, 2024
8219397
obs-outputs: Add eFLV multitrack audio support
palana Mar 12, 2024
98ab366
obs-outputs: Add eRTMP multitrack audio support
palana Mar 25, 2024
36d3290
obs-outputs: Remove special handling for audio encoders 1 and 2
palana Mar 25, 2024
52660be
obs-outputs: Remove FLV byte array style multitrack audio support
palana Mar 25, 2024
cffdc15
UI: Fix Grid Mode not persisting from View Menu
RytoEX May 19, 2024
5eeae2d
UI: Change how the status bar gets weak stream output
cg2121 May 19, 2024
8500515
UI: Adjust appearance of multiview labels
Warchamp7 May 23, 2024
40885b6
UI: Calculate label position using height and border
Warchamp7 May 23, 2024
76bde59
UI: Adjust multiview border size
Warchamp7 May 23, 2024
34d577d
UI: Enforce completely Fusion Qt style on Linux
tytan652 May 24, 2024
8184fa1
UI: Inline OBSBasic::ThemeChanged()
gxalpha May 24, 2024
4cf18a9
UI: Add undo/redo to Paste Filters on audio mixer and scenes
gxalpha May 24, 2024
a1e0626
libobs: Add global source filter add/remove signals
gxalpha May 25, 2024
175b0cb
UI: Update edit menu on source filter changes
gxalpha May 25, 2024
79632f9
libobs: Fix buffer overrun in video_frame_init
derrod May 25, 2024
a92852f
mac-avcapture: Improve av_capture_sync_info formatting
gxalpha May 25, 2024
94d158c
libobs: Add functions to serialize JSON with default values
derrod May 19, 2024
e54af0d
docs: Document newer JSON serialization functions
derrod May 26, 2024
df2a75f
obs-outputs: Add native MP4 muxer
derrod Apr 26, 2024
4503f0a
UI: Add Hybrid MP4 to format selection
derrod Apr 27, 2024
8ac8118
UI: Add chapter frontend API and hotkey
derrod May 2, 2024
b5b457d
CI: Attest signed Windows build
derrod May 22, 2024
dfc842b
CI: Update signing workflow commit and permissions
derrod May 23, 2024
609ddd0
CI: Verify build attestation during patch generation
derrod May 22, 2024
8c48f8c
Merge pull request #10706 from derrod/ci-attestation
RytoEX May 28, 2024
d813b78
cmake: Do not write build number file if OBS_BUILD_NUMBER set
kamalmostafa May 25, 2024
51fd7fb
UI: Removed unused friend classes
Tunghohin May 17, 2024
9eca7b7
UI: Fix Qt 6.7 checkbox signal deprecations
gxalpha May 25, 2024
f71a67c
Merge pull request #10608 from derrod/obs-mp4-muxer
Lain-B May 29, 2024
e92010c
rtmp-services: Add sheeta
KOUCHANGdw Feb 3, 2024
cf4681a
docs: Document obs_frontend_recording_add_chapter()
derrod May 29, 2024
fc1ab5f
obs-ffmpeg: Check correct VA-API codec support
kkartaltepe May 25, 2024
7a870fd
obs-qsv11: Fix QSV failing on multi-vendor multi-GPU systems
derrod May 27, 2024
64f6c30
docs: Add return type of obs_source_audio_active
CodeYan01 Jun 1, 2024
acd4854
obs-outputs: Add native mp4 output to legacy cmake
derrod Jun 2, 2024
9c427c5
docs: Add versionadded for 30.x functions
CodeYan01 Jun 1, 2024
17d654f
UI: Make status bar record output a weak ref
cg2121 May 30, 2024
52ae5fc
UI: Update volume meter appearance
Warchamp7 Apr 20, 2024
b9de99a
obs-webrtc: Increase RtcpNackResponder size
Sean-Der May 16, 2024
dff4dd9
CI: Run PVS-Studio analysis on Windows
derrod May 22, 2024
432a2a8
README.rst: Add SAST Tools section
derrod May 22, 2024
976b200
UI: Add custom server support for Twitch
palana Nov 23, 2023
43a1b30
UI: Increase size of log buffer
palana May 10, 2024
c895090
UI: Add eRTMP Multitrack Video Output
palana Apr 18, 2024
3f1362f
UI: Add Multitrack Video settings
palana Apr 18, 2024
2007b4b
UI: Add Multitrack Video support for auto config
palana Apr 18, 2024
42a3f90
UI: Add `OBSPropertiesView::SetDisabled`
palana Apr 17, 2024
1aa8111
UI: Add output settings indicators for eRTMP multitrack video
palana Apr 17, 2024
0cc357f
Merge pull request #10633 from palana/ruwen/upstream-multitrack-video-ui
RytoEX Jun 5, 2024
29994af
UI: Retain existing last output resolution
derrod Jun 1, 2024
cb024a0
UI: Use connection with modeSwitch button
tytan652 Apr 3, 2024
9093275
UI: Track recording state in OBSBasic
tytan652 Apr 3, 2024
d23b65a
UI: Track streaming state in OBSBasic
tytan652 Apr 6, 2024
1782052
UI: Set system tray text explicitly
tytan652 Apr 6, 2024
eed5578
UI: Remove setStreamText lambda
tytan652 Jun 5, 2024
5113858
UI: Separate controls dock from the main window
tytan652 Apr 3, 2024
3840ea0
UI: Remove replayBufferButton and vcamButton theme IDs
tytan652 Apr 21, 2024
a2785b7
UI: Add icons to Controls form buttons
Warchamp7 Apr 21, 2024
93d5191
Merge pull request #7278 from tytan652/control_dock_separation
RytoEX Jun 5, 2024
1d8c377
cmake,UI: Fix SOVERSION on Linux
tytan652 May 27, 2024
116107b
UI: Fix Qt platform override in CMake 3
tytan652 May 24, 2024
19b8557
CI: Ignore PVS-Studio's license close to expiry error code
derrod Jun 5, 2024
ffdf541
UI: Fix crash when entering settings
notr1ch Jun 5, 2024
efd0e6d
libobs: Add buffered file serializer to legacy cmake
derrod Jun 5, 2024
97a20c4
obs-filters: Do not load NVVFX on OpenGL
exeldro Feb 22, 2024
4aa41ec
obs-webrtc: Add Link Header support
Sean-Der Apr 12, 2024
da8fc0d
UI: Disable Multitrack Video by default
RytoEX Jun 5, 2024
d6b7f7e
UI: Remove GPU LUID from system info for Multitrack Video
RytoEX Jun 6, 2024
ae5c034
UI: Fix incompatible settings message when streaming Multitrack Video
RytoEX Jun 6, 2024
deee0e3
UI: Remove redundant assignments
RytoEX Jun 6, 2024
e4ae149
linux-capture: Fix module prefix with CMake 3
tytan652 May 27, 2024
09afd18
rtmp-services: Add Amazon IVS service
palana Jan 18, 2024
5d05d70
obs-browser: Update version to 2.23.5
RytoEX Jun 6, 2024
f9d86ae
UI: Enable custom server entry for Amazon IVS
palana Jun 6, 2024
8999d9f
Update translations from Crowdin
Jun 7, 2024
9d61031
obs-websocket: Update version to 5.5.0
tt2468 Jun 7, 2024
bd36daa
UI: Address logging buffer size discrepancies
Jun 6, 2024
5db2ff9
UI: Remove dead code from multitrack output
derrod Jun 7, 2024
512db59
obs-webrtc: Do not use curl_easy_nextheader
Sean-Der Jun 6, 2024
e223e7b
UI: Add config option to use MP4 for debug recording
derrod Jun 7, 2024
c1fdbf0
UI: Simplify multitrack encoder availability check
derrod Jun 7, 2024
6d3a645
CI: Restrict PVS-Studio analysis to obsproject repo
derrod Jun 7, 2024
28f0568
UI: Fix multitrack stream key query parameter concatenation
derrod Jun 7, 2024
5ef9792
libobs: Update version to 30.2.0
RytoEX Jun 7, 2024
dab4349
CI: Fix incorrect filenames in release creation
RytoEX Jun 7, 2024
30f174b
CI: Fix input variable name when getting Windows release notes
derrod Jun 8, 2024
51e3bd5
UI: Remove unnecessary string copy from log filter
derrod Jun 8, 2024
f9f4171
UI: Add null checks before doing some API calls
notr1ch Jun 8, 2024
7a4cb08
cmake: Fix script plugin path on Linux with CMake 3
tytan652 Jun 8, 2024
298e858
UI: Improve macOS properties tooltip spacing workaround
gxalpha Jun 8, 2024
0680b64
UI: Always show chapter marker hotkey
derrod Jun 8, 2024
14fa71f
UI: Connect replay buffer stopping to signal instead of slot
gxalpha Jun 8, 2024
7d55942
UI: Clean up Settings widget structure and styling
Warchamp7 Jun 5, 2024
4b187ed
cmake: Copy shared library soname file to rundir on Linux
tytan652 Jun 9, 2024
56d6fb4
UI: Group horizontal audio mixer buttons
Warchamp7 Jun 7, 2024
86c337d
UI: Adjust audio mixer slider size and spacing
Warchamp7 Jun 7, 2024
a989fef
UI: Fix audio meter and slider blocking mousewheel
Warchamp7 Jun 7, 2024
c7dc09e
UI: Fix mute checkbox positioning on macOS
gxalpha Jun 8, 2024
4e13cff
UI: Center widgets in vertical mixer layout
Warchamp7 Jun 10, 2024
00c6898
UI: Check VC++ Runtime version on startup
derrod Jun 9, 2024
c677bac
UI: Avoid allowing to override provided themes
tytan652 Jun 9, 2024
8650276
obs-ffmpeg: Set encoder error message for CUDA errors
derrod Jun 9, 2024
d2b05a6
CI: Update bouf release in Windows Signing action
derrod Jun 9, 2024
5bc1d31
CI: Update windows signing workflow commit
derrod Jun 9, 2024
e774bd9
Merge pull request #10819 from derrod/update-bouf
RytoEX Jun 10, 2024
051c11e
UI: Translate Multitrack Video error dialog buttons
RytoEX Jun 10, 2024
6779052
updater: Check and update VC runtime version
derrod Jun 9, 2024
0cfae86
updater: Compile with static VC runtime
derrod Jun 9, 2024
0f4e33c
UI: Discard state if stream attempt is canceled
palana Jun 7, 2024
cfd692c
updater: Fix defaultlib conflict
RytoEX Jun 11, 2024
21adf09
UI: Prevent recursion in theme dependencies
derrod Jun 11, 2024
e454f48
obs-websocket: Update version to 5.5.1
RytoEX Jun 11, 2024
4a46d2d
UI: Fix themeDir buffer being resized incorrectly
derrod Jun 12, 2024
718bd0b
UI: Use unique_ptr for theme objects
derrod Jun 12, 2024
8fcdfb8
CI: Remove redundant checkout step in Windows Patches job
RytoEX Jun 12, 2024
0ea9038
Revert "CI: Remove redundant checkout step in Windows Patches job"
RytoEX Jun 12, 2024
70307a5
CI: Add updateChannel to check-tag in Publish workflow
RytoEX Jun 13, 2024
77d31fa
UI: Restore visibility of Advanced Settings warning
RytoEX Jun 13, 2024
ce41719
UI: Remove default values from multitrack-video.hpp
AndrewfTwitch Jun 4, 2024
14d2c80
UI: Re-arrange multitrack-video schema to version 2024-06-04
AndrewfTwitch Jun 4, 2024
b1643c2
UI: Add unit suffix to Multitrack Video bitrate limit control
RytoEX Jun 14, 2024
021adac
UI: Fix submenu arrow indicator position in menus
RytoEX Jun 13, 2024
40bf8b3
UI: Make `audio_configurations.vod` optional
palana Jun 14, 2024
b16516a
Revert "cmake: Fix script plugin path on Linux with CMake 3"
tytan652 Jun 13, 2024
508f9c2
obs-scripting: Refactor Lua C paths
tytan652 Jun 13, 2024
e4305b0
UI: Hide multitrack video options for custom output
palana Jun 14, 2024
2d489fc
deps/blake2: Add static blake2 library for Windows updater
derrod Jun 12, 2024
d2a7f01
updater: Use static blake2 and fix building with Debug runtimes
derrod Jun 12, 2024
d7e2636
UI: Change multitrack video configId
lexano-ivs Jun 13, 2024
600a564
UI: Add `composition_gpu_index` to multitrack video postdata
palana Jun 14, 2024
f462ffb
UI: Initialize max length of LineEditAutoResize in constructor
gxalpha Jun 9, 2024
7cd5ede
UI: Initialize YoutubeChatDock chat input members in constructor
gxalpha Jun 9, 2024
dcd2f19
UI: Remove redundant addAction call
cg2121 Jun 11, 2024
62830cd
UI: Fix icon-size values in theme files
RytoEX Jun 11, 2024
d1bf6f9
obs-outputs: Add multitrack flag to null output
tt2468 Jun 14, 2024
0d7478c
UI: Set Multitrack Video maximum bitrate limit default to 0/Auto
RytoEX Jun 14, 2024
4eef796
deps/media-playback: Fix init of swscale with hw decode
tt2468 Jun 16, 2024
9d88b63
UI: Add step value to Multitrack Video maximum bitrate control
RytoEX Jun 16, 2024
751dbda
libobs: Update video encoder group struct member names
tt2468 May 8, 2024
e215502
libobs, UI: Normalize encoder group API
tt2468 May 8, 2024
608d3bf
UI: Set default container for beta builds to hybrid MP4
derrod Jun 16, 2024
48b1298
UI: Fix parsing of Multitrack Video stream key query parameters
RytoEX Jun 18, 2024
fb3e571
UI: Use advanced mode audio track in multitrack video output
palana Jun 18, 2024
32b53ea
CI: Fix Windows Patches action release notes generation
RytoEX Jun 19, 2024
fc05ca6
CI: Update Windows patch creation bouf version
derrod Jun 19, 2024
a9b5968
CI: Add tag subject to Windows patch notes
derrod Jun 19, 2024
8a8019d
UI: Only cache multitrack config URL startup argument
palana Jun 7, 2024
9d1ac88
UI: Add supported codecs to GetClientConfiguration request
palana Jun 18, 2024
aa096e2
UI: Disable multitrack video settings on non-win32 platforms
palana Jun 19, 2024
a189489
CI: Fix FreeBSD package installation
emaste Jun 19, 2024
92352f1
cmake: Add obs-config.h to libobs headers
gxalpha Jun 18, 2024
6457d7b
rtmp-services: Add Dolby Millicast
FabienLavocat Jun 18, 2024
6c38927
obs-ffmpeg: Close VAAPI device on vaInitialize fail
tt2468 Jun 20, 2024
5f98d34
UI: Fix multitrack-video audio track index
lexano-ivs Jun 19, 2024
fd34bab
UI: Link Qt::DBus on FreeBSD
emaste Jun 19, 2024
ed24785
obs-outputs: Do not create MP4 track chunks without samples
derrod Jun 21, 2024
6cc0e2b
obs-outputs: Fix file splitting ts offset using video DTS instead of PTS
derrod Jun 21, 2024
4517918
cmake: Fix FFmpeg version regex
Penwy Jun 25, 2024
b34fbb1
obs-ffmpeg: Check if current NVENC configuration supports 4:4:4 encode
derrod Jun 22, 2024
2e6e79b
obs-outputs: Skip trak box if track has no data
derrod Jun 22, 2024
edcda5a
obs-x264: Ignore stats/qp file and multipass options
derrod Jun 22, 2024
47fb194
UI: Adjust Yami (Classic) styling
Warchamp7 Jun 12, 2024
4830d69
UI: Fix capitalization of 'OBS' and 'RTMP'
Jun 16, 2024
7d19add
UI: Display dialog for multitrack video output audio channels mismatch
palana Jun 18, 2024
fb5bbc8
libobs: Set encoder initialized call closer to shutdown
tt2468 Jun 19, 2024
06291c7
libobs: Fix race when to-be-destroyed encoder group finishes stopping
tt2468 Jun 19, 2024
8892edd
libobs: Merge `obs_encoder_stop()` and `..._stop_internal()`
tt2468 Jun 19, 2024
9d67bf2
Revert "plugins/win-dshow: Add CUDA decoder"
RytoEX Jun 26, 2024
8c71b0b
libobs: Fix plane heights for odd values
kkartaltepe Jul 3, 2024
c6a100a
obs-ffmpeg: Honor preferred format in native NVENC
derrod Jul 3, 2024
877ddad
win-wasapi: Remove noisy and useless debug logging
derrod Jun 20, 2024
5545674
CI: Fix flatpak-builder-lint action
tytan652 Jul 7, 2024
b74e7ed
UI: Move code out of unnamed lambdas
palana Jul 9, 2024
7327663
UI: Remove `QFuture` usage
palana Jul 8, 2024
da997d9
UI: Add field growth policy to form layouts
Warchamp7 Jul 10, 2024
3a88427
UI: Fix `qt-helpers.{c,h}pp` not being removed from legacy.cmake
palana Jul 11, 2024
1cb1864
libobs: Fix crash when mix is NULL
exeldro May 14, 2024
bde68fe
UI: Fix source tree icon spacing
Warchamp7 Jul 13, 2024
0e84188
UI: Fix read-only QTextEdit background color
Warchamp7 Jul 15, 2024
ec5297b
UI: Adjust sizing of Classic audio meter elements
Warchamp7 Jul 15, 2024
e7d6707
Update translations from Crowdin
Jul 17, 2024
02c1742
libobs/graphics: Prevent heap overflow in libnsgif
RytoEX Jul 16, 2024
c5a01b7
obs-websocket: Update version to 5.5.2
RytoEX Jul 20, 2024
2fa77c4
UI: Fix cast of pointer type at invalid current scene setting on load
norihiro Jul 20, 2024
7cf4974
CI: Do not mark legacy MF/AMF plugins as deleted
derrod Jul 20, 2024
31963f8
obs-outputs: Set FLV DTS offset based on first audio or video packet
derrod Jul 18, 2024
7912d06
libobs-opengl: Disable NV12/P010 on Windows
kkartaltepe Jul 18, 2024
4f7be9b
libobs: Update version to 30.2.1
RytoEX Jul 23, 2024
5854f3b
libobs: Update version to 30.2.2
RytoEX Jul 23, 2024
ce6f9a4
win-capture: Add Zenless Zone Zero to compatibility list
Gol-D-Ace Jul 24, 2024
ba91aa8
libobs: Ensure encoder is not destroyed prematurely
derrod Aug 9, 2024
3de8267
obs-outputs: Defer muxer destruction to task queue
derrod Aug 8, 2024
09d2e37
happy-eyeballs: Reserve array length for all candidates
notr1ch Aug 11, 2024
e494f93
happy-eyeballs: Move happy_eyeballs_destroy to a thread
notr1ch Aug 11, 2024
4213643
happy-eyeballs: Specify AI_ADDRCONFIG for getaddrinfo
notr1ch Aug 11, 2024
0e09d04
obs-browser: Update version to 2.23.6
RytoEX Aug 15, 2024
7554532
UI: Fix leak with paint event of volume slider
pkviet Jul 31, 2024
144599f
libobs: Update version to 30.2.3
RytoEX Aug 15, 2024
2d722d3
Merged upstream tag 30.2.3 into branch streamlabs
avoitenko-logitech Sep 20, 2024
da3255b
Fixed audio crash in obs-scene. Rewrote scene_audio_render code
avoitenko-logitech Sep 23, 2024
910696a
Updated OBS version string to 30.2.3
avoitenko-logitech Sep 24, 2024
9a63dd9
Enabled 32-bit build
avoitenko-logitech Oct 3, 2024
58d6fe5
Fixed crash on WHIP endpoint
avoitenko-logitech Oct 11, 2024
8fa1c68
Clang format 17 check added
avoitenko-logitech Oct 15, 2024
9fc78a4
Applied clang format 17 to sources
avoitenko-logitech Oct 15, 2024
8aec696
CI Windows build of OBS 30
avoitenko-logitech Oct 16, 2024
9fa9029
Fix for JSON compatibility check at CI
avoitenko-logitech Oct 16, 2024
85656af
Disabled MacOS build
avoitenko-logitech Oct 17, 2024
b13d4dc
Fixing build of win-dshow
avoitenko-logitech Oct 18, 2024
e2c742a
Added dependencies/obs-webrtc.dll.txt
avoitenko-logitech Oct 18, 2024
ba53d25
Changed deps to 2024-05-08sl2
avoitenko-logitech Oct 21, 2024
70f6f5e
Using legacy hotkey IDs for better backward compatibility
avoitenko-logitech Oct 22, 2024
702c1bf
Fixed macro redifinition warning in c99defs.h
avoitenko-logitech Nov 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
29 changes: 16 additions & 13 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# $FreeBSD$

freebsd_instance:
image: freebsd-13-1-release-amd64
image: freebsd-13-2-release-amd64

env:
CIRRUS_CLONE_DEPTH: 1
Expand All @@ -10,18 +10,21 @@ env:
task:
install_script:
- pkg install -y
alsa-lib
v4l_compat swig ffmpeg curl dbus fdk-aac fontconfig
freetype2 jackit jansson luajit mbedtls pulseaudio speexdsp
libpci librist libsysinfo libudev-devd libv4l libx264 cmake ninja
mesa-libs lua52 pkgconf
srt
qt5-svg qt5-qmake qt5-buildtools qt5-x11extras qt5-xml
cmake ninja binutils pkgconf curl
ffmpeg qt6-base qt6-svg jansson libsysinfo e2fsprogs-libuuid pulseaudio
alsa-lib pipewire v4l_compat libpci librist srt nlohmann-json uthash
qr-code-generator websocketpp asio vlc swig luajit jackit sndio fdk-aac
pipewire
script:
- mkdir build
- cd build
- cmake
-DENABLE_AJA=OFF
-GNinja ..
- ninja
-S $(pwd)
-B build
-G Ninja
-DOBS_CMAKE_VERSION=3.0
-DENABLE_JACK:BOOL=ON
-DENABLE_SNDIO:BOOL=ON
-DENABLE_LIBFDK:BOOL=ON
-DENABLE_WEBRTC:BOOL=OFF
- cmake
--build build
--config RelWithDebInfo
132 changes: 116 additions & 16 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# please use clang-format version 8 or later
# please use clang-format version 16 or later

Standard: Cpp11
Standard: c++17
AccessModifierOffset: -8
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: true
#AllowAllArgumentsOnNextLine: false # requires clang-format 9
#AllowAllConstructorInitializersOnNextLine: false # requires clang-format 9
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: false
#AllowShortLambdasOnASingleLine: Inline # requires clang-format 9
AllowShortLambdasOnASingleLine: Inline
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
Expand Down Expand Up @@ -52,8 +52,8 @@ ContinuationIndentWidth: 8
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
FixNamespaceComments: false
ForEachMacros:
FixNamespaceComments: true
ForEachMacros:
- 'json_object_foreach'
- 'json_object_foreach_safe'
- 'json_array_foreach'
Expand All @@ -66,7 +66,7 @@ IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: true
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
#ObjCBinPackProtocolList: Auto # requires clang-format 7
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 8
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
Expand All @@ -84,25 +84,125 @@ ReflowComments: false
SortIncludes: false
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
#SpaceAfterLogicalNot: false # requires clang-format 9
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
#SpaceBeforeCtorInitializerColon: true # requires clang-format 7
#SpaceBeforeInheritanceColon: true # requires clang-format 7
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
#SpaceBeforeRangeBasedForLoopColon: true # requires clang-format 7
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
#StatementMacros: # requires clang-format 8
# - 'Q_OBJECT'
StatementMacros:
- 'Q_OBJECT'
TabWidth: 8
#TypenameMacros: # requires clang-format 9
# - 'DARRAY'
TypenameMacros:
- 'DARRAY'
UseTab: ForContinuationAndIndentation
---
Language: ObjC
AccessModifierOffset: 2
AlignArrayOfStructures: Right
AlignConsecutiveAssignments: None
AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: None
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: false
AcrossComments: true
AllowShortBlocksOnASingleLine: Never
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: None
AttributeMacros: ['__unused', '__autoreleasing', '_Nonnull', '__bridge']
BitFieldColonSpacing: Both
#BreakBeforeBraces: Webkit
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: Never
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: true
BreakAfterAttributes: Never
BreakArrays: false
BreakBeforeConceptDeclarations: Allowed
BreakBeforeInlineASMColon: OnlyMultiline
BreakConstructorInitializers: AfterColon
BreakInheritanceList: AfterComma
ColumnLimit: 120
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: true
IndentExternBlock: Indent
IndentGotoLabels: false
IndentRequiresClause: true
IndentWidth: 4
IndentWrappedFunctionNames: true
InsertBraces: false
InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: false
LambdaBodyIndentation: Signature
NamespaceIndentation: All
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4
ObjCBreakBeforeNestedBlockParam: false
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
PPIndentWidth: -1
PackConstructorInitializers: NextLine
QualifierAlignment: Leave
ReferenceAlignment: Right
RemoveSemicolon: false
RequiresClausePosition: WithPreceding
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SortIncludes: false
#SortUsingDeclarations: LexicographicNumeric
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAroundPointerQualifiers: Default
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInConditionalStatement: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
Standard: c++17
TabWidth: 4
UseTab: Never
30 changes: 29 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,34 @@ indent_size = 2
indent_style = space
indent_size = 2

[plugins/rtmp-services/data/**/*.json]
[plugins/{rtmp-services,win-capture}/data/**/*.json]
indent_style = space
indent_size = 4

[*.qss]
indent_style = space
indent_size = 4

[build-aux/**/*.json]
indent_style = space
indent_size = 4

[*.py]
indent_style = space
indent_size = 4

[*.yaml]
indent_style = space
indent_size = 2

[{*.zsh,.*.zsh,build-aux/.functions/*,.github/scripts/utils.zsh/*}]
indent_style = space
indent_size = 2

[*.ui]
indent_style = space
indent_size = 1

[{*.obt,*.oha,*.ovt}]
indent_style = space
indent_size = 4
11 changes: 11 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
# Run the command in the root of the repository to make it take effect:
#
# git config blame.ignoreRevsFile .git-blame-ignore-revs

f53df7da64d2dfc542c24656720b2f47c8957164
f8e00d6071ea1426f7f30055016cc7c3d080d64e
1739272c4453ac005d315c2e22f43e119561435b
dcc07cfe4ed3f7fb60c7a0d1563236eac0a0b053
593664dcdb11951d2538bd78d6620b03ca95392a
64139a6bbd6f85155c709035d82e91f52c2e36fe
7628265099724671a1682f6b298b509d2fa23855
f4733ec6a26bac21699daf3dfd6857ff5a1d3c07
120 changes: 120 additions & 0 deletions .github/actions/build-obs/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
name: Set Up and Build obs-studio
description: Builds obs-studio for specified architecture and build config
inputs:
target:
description: Build target for obs-studio
required: true
config:
description: Build configuration
required: false
default: RelWithDebInfo
codesign:
description: Enable codesigning (macOS only)
required: false
default: 'false'
codesignIdent:
description: Developer ID for application codesigning (macOS only)
required: false
default: '-'
codesignTeam:
description: Team ID for application codesigning (macOS only)
required: false
default: ''
provisioningProfileUUID:
description: UUID of provisioning profile (macOS only)
required: false
default: ''
workingDirectory:
description: Working directory for packaging
required: false
default: ${{ github.workspace }}
runs:
using: composite
steps:
- name: Run macOS Build
if: runner.os == 'macOS'
shell: zsh --no-rcs --errexit --pipefail {0}
working-directory: ${{ inputs.workingDirectory }}
env:
CODESIGN_IDENT: ${{ inputs.codesignIdent }}
CODESIGN_TEAM: ${{ inputs.codesignTeam }}
PROVISIONING_PROFILE: ${{ inputs.provisioningProfileUUID }}
run: |
: Run macOS Build

local -a build_args=(
--config ${{ inputs.config }}
--target macos-${{ inputs.target }}
)
if (( ${+RUNNER_DEBUG} )) build_args+=(--debug)

if [[ '${{ inputs.codesign }}' == true ]] build_args+=(--codesign)

git fetch origin --no-tags --no-recurse-submodules -q
.github/scripts/build-macos ${build_args}

- name: Install Dependencies 🛍️
if: runner.os == 'Linux'
shell: bash
run: |
: Install Dependencies 🛍️
echo ::group::Install Dependencies
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
brew install --quiet zsh
echo ::endgroup::

- name: Run Ubuntu Build
if: runner.os == 'Linux'
shell: zsh --no-rcs --errexit --pipefail {0}
working-directory: ${{ inputs.workingDirectory }}
run: |
: Run Ubuntu Build

local -a build_args=(
--config ${{ inputs.config }}
--target ubuntu-${{ inputs.target }}
)
if (( ${+RUNNER_DEBUG} )) build_args+=(--debug)

git fetch origin --no-tags --no-recurse-submodules -q
.github/scripts/build-ubuntu ${build_args}

- name: Run Windows Build
if: runner.os == 'Windows'
shell: pwsh
working-directory: ${{ inputs.workingDirectory }}
run: |
# Run Windows Build
$BuildArgs = @{
Target = '${{ inputs.target }}'
Configuration = '${{ inputs.config }}'
}

if ( $Env:RUNNER_DEBUG -ne $null ) {
$BuildArgs += @{ Debug = $true }
}

git fetch origin --no-tags --no-recurse-submodules -q
.github/scripts/Build-Windows.ps1 @BuildArgs

- name: Create Summary 📊
if: contains(fromJSON('["Linux", "macOS"]'), runner.os)
shell: zsh --no-rcs --errexit --pipefail {0}
run: |
: Create Summary 📊

local -a ccache_data
if (( ${+RUNNER_DEBUG} )) {
setopt XTRACE
ccache_data=("${(fA)$(ccache -s -vv)}")
} else {
ccache_data=("${(fA)$(ccache -s)}")
}

print '### ${{ runner.os }} Ccache Stats (${{ inputs.target }})' >> $GITHUB_STEP_SUMMARY
print '```' >> $GITHUB_STEP_SUMMARY
for line (${ccache_data}) {
print ${line} >> $GITHUB_STEP_SUMMARY
}
print '```' >> $GITHUB_STEP_SUMMARY
Loading
Loading