Changes of Revision 113

obs-studio.changes Changed
x
 
1
@@ -1,4 +1,1992 @@
2
 -------------------------------------------------------------------
3
+Sat Dec 07 00:55:05 UTC 2024 - packman@nordisch.org
4
+
5
+- Update to version 31.0.0:
6
+  * Update translations from Crowdin
7
+  * libobs: Remove relative positioning functions
8
+  * libobs: Fix scale calculation when applying new group transform
9
+  * UI: Fix collision of existing backup files for new scene collections
10
+  * cmake: Fix build directory exclusion for real
11
+  * UI: Add unassigned icon
12
+
13
+-------------------------------------------------------------------
14
+Wed Nov 20 22:38:46 UTC 2024 - packman@nordisch.org
15
+
16
+- Update to version 31.0.0~rc1:
17
+  * obs-ffmpeg: Avoid setting negative bitrate for lossless audio codec
18
+  * UI: Fix broken module paths provided via environment on macOS
19
+  * frontend-tools: Correctly pass settings to modified cb on reload
20
+  * UI: Fix falling back to non-multitrack output after error
21
+  * UI: Fix autoconfig saving signed stream key
22
+  * UI: Forward auto rtmp/rtmps IVS preference
23
+  * UI: Ignore all auto URLs for server selection
24
+  * decklink: Fix string handling causing plugin to not function
25
+  * win-capture: Avoid NULL deref when capture not initialized
26
+  * cmake: Fix build directory exclusion
27
+  * mac-capture: Don't read channels for disconnected audio device
28
+  * obs-qsv11: Remove checks for DX11
29
+  * obs-qsv11: Remove old DX9 code
30
+  * obs-qsv11: Remove unused debug variable
31
+  * obs-qsv11: Move debug code into debug sections
32
+  * obs-qsv11: Remove old MSDK 1.6 code
33
+  * obs-filters: Move nvafx migration to queued task
34
+  * UI: Create YouTube Dock when switching profile
35
+
36
+-------------------------------------------------------------------
37
+Fri Nov  8 11:55:52 UTC 2024 - packman@nordisch.org
38
+
39
+- ok ... this split out obs-x264 needs more work. there is a few
40
+  places where it is hardcoded as a default. and there is no h264
41
+  non-hardware encoder via ffmpeg yet
42
+
43
+-------------------------------------------------------------------
44
+Fri Nov  8 11:35:58 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
45
+
46
+- Add ffmpeg-x11-linking.patch:
47
+  This one is weird ... the ffmpeg-mux plugin isn't actually using
48
+  XOpenDisplay and friends. So it could be a missing library in the
49
+  ffmpeg-7 devel packages in TW compared to packman.
50
+
51
+  I guess a bug in the ffmpeg build system which generates the
52
+  pkg-config files.
53
+
54
+-------------------------------------------------------------------
55
+Fri Nov  8 11:35:34 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
56
+
57
+- Make the build of the x264 plugin optional
58
+  adds libx264-optional.patch
59
+
60
+-------------------------------------------------------------------
61
+Fri Nov  8 11:13:05 UTC 2024 - packman@nordisch.org
62
+
63
+- split out the obs-studio libx264 support into a subpackage as a
64
+  preparation to only build it on packman 
65
+
66
+-------------------------------------------------------------------
67
+Fri Nov  8 11:12:21 UTC 2024 - packman@nordisch.org
68
+
69
+- switch buildrequires for fdk-aac to pkgconfig to make it work
70
+  with different naming of packages
71
+
72
+-------------------------------------------------------------------
73
+Sun Nov  3 02:37:15 UTC 2024 - packman@nordisch.org
74
+
75
+- bump ffnvcodec headers to at least 12.1.14.0 for
76
+  NV_ENC_ERR_NEED_MORE_OUTPUT
77
+
78
+-------------------------------------------------------------------
79
+Fri Nov 01 23:28:55 UTC 2024 - packman@nordisch.org
80
+
81
+- Update to version 31.0.0~beta3:
82
+  * obs-websocket: Update version to 5.5.4
83
+  * UI: Add trash and general icon
84
+  * UI: Add trash icon
85
+  * UI/themes: Fix missing icon in system theme
86
+  * UI/themes: Fix control button pressed color in Rachni theme
87
+  * graphics-hook: Fix null pointer dereference
88
+  * UI: Update profile encoder information after module load
89
+  * UI: Open active profile directory via File menu
90
+  * librtmp: Use /etc/ssl/certs/ path on FreeBSD
91
+  * UI/importers: Translate capture sources depending on WS
92
+  * UI: Add TikTok Live Studio Virtual Camera to DLL blocklist
93
+  * UI: Restore frontend API events being dispatched during initialization
94
+  * UI: Remove LineEditAutoResize widget
95
+  * UI: Remove SendChatMessage from YoutubeApiWrappers
96
+  * UI: Remove custom YouTube chat input
97
+  * linux-pipewire: Fix memory leaks
98
+  * cmake: Install desktop files and icons on FreeBSD
99
+  * cmake/plugins: Enable -Wswitch on GCC
100
+  * UI: Split out Whats New dialog, fix crash on shutdown
101
+  * cmake: Fix target_add_resource ARGN support on Linux
102
+  * UI: Log Twitch 403 error bodies
103
+  * UI: Don't load Restream UI before CEF is ready
104
+  * CI: Enable WebRTC on FreeBSD
105
+  * build-aux: Remove CEF stripping workaround
106
+
107
+-------------------------------------------------------------------
108
+Mon Oct 21 19:14:48 UTC 2024 - packman@nordisch.org
109
+
110
+- Update to version 31.0.0~beta2:
111
+  * obs-nvenc: Force at least 4 b-frames when using UHQ tune
112
+  * UI: Use custom property on QAction to retain profile or collection name
113
+  * UI: Update order of profiles and scene collections in their menus
114
+  * UI: Restore XDG config path update for FreeBSD
115
+  * libobs: Remove non-USE_XDG code
116
+  * obs-browser: Update version to 2.24.4
117
+  * obs-browser: Update version to 2.24.3
118
+  * UI: Remove toolButton styling
119
+  * UI: Replace toolButton property with style class
120
+  * CONTRIBUTING.rst: Update for 120 column limit
121
+  * CI: Bump FreeBSD image to 14.1
122
+  * libobs: Fix items in groups using wrong scale reference
123
+  * libobs: Fix ungrouped transfom calculation in relative mode
124
+  * obs-outputs: Add cast to fix build with Clang 19
125
+  * UI: Catch error from copy in MigrateGlobalSettings
126
+  * obs-qsv11: Update minimum VPL version to 2.9
127
+  * UI: Fix initialization bug when launching without existing profile
128
+  * UI: Set minimum version for nlohmann_json to 3.11
129
+  * UI/themes: Consistently select indicator-mute instead of MuteCheckBox
130
+  * libobs: Add source profiler to public headers
131
+  * UI: Fix crash when providing scene collection or profile via CLI
132
+  * UI: Fix deletion of scene collection backup on collection deletion
133
+  * UI: Fix activation order of profile and scene collections after delete
134
+  * UI/themes: Fix selectors in Yami Light
135
+  * UI: Correctly set Yami border radius for buttons in tables
136
+  * CI: Fix rclone env var formatting in Windows Patches action
137
+
138
+-------------------------------------------------------------------
139
+Wed Oct  9 10:15:12 UTC 2024 - packman@nordisch.org
140
+
141
+- reenable websockets
142
+
143
+-------------------------------------------------------------------
144
+Wed Oct  9 00:40:12 UTC 2024 - packman@nordisch.org
145
+
146
+- needs python 3.8 at least now. forcing 3.11 for leap
147
+- Qt6 only now
148
+- we need at least ffmpeg 6.1, lets force 7 right away 
149
+- leap 15.6 needs a compiler that supports C++ standard 17 at least
150
+  force gcc 13
151
+- pkgconfig(nlohmann_json) is also needed outside of the websocket
152
+  scope
153
+- new general BR:
154
+  rnnoise, ffnvcodec, vpl, uthash-devel
155
+- new websockets BR:
156
+  libdatachannel-devel, qrcodecgencpp
157
+- disable websockets for now until we get qrcodecgencpp
158
+- needs 2 new downgrades of errors to warnings:
159
+  -Wno-error=switch -Wno-error=catch-value=
160
+- drop 0002-Include-diverse-luajit.patch
161
+
162
+-------------------------------------------------------------------
163
+Tue Oct 08 22:41:12 UTC 2024 - packman@nordisch.org
164
+
165
+- Update to version 31.0.0~beta1:
166
+  * CI: Fix sparkle-appcast comment syntax
167
+  * shared/opts-parser: Fix crash when no options were given to the parser
168
+  * libobs/graphics: Remove unused source file graphics-magick.c
169
+  * UI: Avoid path<->string conversion when refreshing profile cache
170
+  * obs-ffmpeg: Fix deadlock on shutting down muxer
171
+  * win-update: Remove legacy CMake file
172
+  * UI: Fix locale key for rename profile text
173
+  * obs-nvenc: Add missing locale text
174
+  * UI: Fix settings mismatch
175
+  * libobs/util: Crash on bmalloc(0)
176
+  * linux-pipewire: Avoid trying to allocate 0 byte
177
+  * linux-capture: Fix potential null pointer dereference
178
+  * libobs/util: Prevent null pointer deref with dstr_cmp
179
+  * cmake: Use fixed SOVERSION everywhere
180
+  * Update translations from Crowdin
181
+  * CI: Fix translation download script bugs
182
+  * plugins: Update translations from Crowdin
183
+  * CI: Use correct commit hash for translation download
184
+  * CI: Bump Crowdin Sync to fix translation download
185
+  * libobs: Update version to 31.0.0
186
+  * .git-blame-ignore-revs: Add change from column limit increase
187
+  * clang-format: Increase column limit from 80 to 120
188
+  * shared/obs-hook-config: Update graphics hook to 1.8.4
189
+  * libobs: Update version to 30.2.3
190
+  * libobs/util: Improve inhibit functions on Linux
191
+  * UI: Enable first-party YouTube Chat features in OBS
192
+  * UI: Use shared cookie manager for YT Control Panel
193
+  * shared/bpm: Fixed crash when using Stream Delay
194
+  * UI: Replace themeID and style hints with class property
195
+  * libobs: Assure large enough buffer in dstr_from_cfstring
196
+  * plugins/test: Remove legacy CMake remnants
197
+  * libobs: Remove unused is_in_bundle() method
198
+  * UI: Set NV12 as preferred format for multitrack video encoders
199
+  * libobs: Do not attempt to reconnect if stop event is set
200
+  * UI: Fix What's New increment settings mismatch
201
obs-studio.spec Changed
201
 
1
@@ -1,21 +1,35 @@
2
 
3
 # Chromium Embedded Framework
4
 %ifarch x86_64
5
-%bcond_without cef
6
+%bcond_with cef
7
 %define cef_binary cef_binary_5060_linux64
8
 %else
9
 %bcond_with cef
10
 %endif
11
 
12
-%if 0%{?suse_version} > 1500
13
-%define qt_version 6
14
+%bcond_without websockets
15
+%bcond_with    split_obs_x264
16
+
17
+# 31.0.0~beta1 wants at least 6.1 lets just use 7 straight away
18
+# zypper info --provides $(zypper se -t package -s ffmpeg-7 | awk -F '|' '/devel/ {print $2}') | grep pkgconfig | perl -p -e 's|^\s+pkgconfig\((^\)+)\) = (\S+)|%%global minimum_$1_version $2|g'
19
+%global minimum_libavcodec_version 61.19.100
20
+%global minimum_libavdevice_version 61.3.100
21
+%global minimum_libavfilter_version 10.4.100
22
+%global minimum_libavformat_version 61.7.100
23
+%global minimum_libavutil_version 59.39.100
24
+%global minimum_libpostproc_version 58.3.100
25
+%global minimum_libswresample_version 5.3.100
26
+%global minimum_libswscale_version 8.3.100
27
+
28
+%if 0%{?suse_version} && 0%{?suse_version} < 1600
29
+%global force_gcc_version 13
30
+%global python_version 311
31
 %else
32
-%define qt_version 5
33
+%global python_version 3
34
 %endif
35
-%bcond_without websockets
36
 
37
 Name:           obs-studio
38
-Version:        29.1.3
39
+Version:        31.0.0
40
 Release:        0
41
 Summary:        A recording/broadcasting program
42
 Group:          Productivity/Multimedia/Video/Editors and Convertors
43
@@ -27,17 +41,17 @@
44
 %if %{with cef}
45
 Source17:       %{cef_binary}.tar.bz2
46
 %endif
47
-Patch0:         0002-Include-diverse-luajit.patch
48
 Patch1:         0001-Prefix-modinfo-with-sbin-since-not-in-normal-path.patch
49
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
50
+Patch2:         libx264-optional.patch
51
+Patch3:         ffmpeg-x11-linking.patch
52
 BuildRequires:  update-desktop-files
53
 BuildRequires:  cmake >= 2.8.12
54
-BuildRequires:  fdk-aac-devel
55
+BuildRequires:  pkgconfig(fdk-aac)
56
 BuildRequires:  fdupes
57
 BuildRequires:  fontconfig-devel
58
 BuildRequires:  freetype2-devel
59
-BuildRequires:  gcc
60
-BuildRequires:  gcc-c++
61
+BuildRequires:  gcc%{?force_gcc_version}
62
+BuildRequires:  gcc%{?force_gcc_version}-c++
63
 BuildRequires:  hicolor-icon-theme
64
 BuildRequires:  libXcomposite-devel
65
 BuildRequires:  libXinerama-devel
66
@@ -47,53 +61,53 @@
67
 BuildRequires:  pciutils-devel
68
 BuildRequires:  pipewire-devel
69
 BuildRequires:  libpulse-devel
70
-%if "%{qt_version}" == "5"
71
-BuildRequires:  libqt5-qtbase-devel >= 5.3
72
-BuildRequires:  libqt5-qtbase-private-headers-devel
73
-BuildRequires:  libqt5-qtsvg-devel
74
-BuildRequires:  libqt5-qtx11extras-devel >= 5.3
75
-%endif
76
-%if "%{qt_version}" == "6"
77
 BuildRequires:  cmake(Qt6Core)
78
 BuildRequires:  cmake(Qt6Svg)
79
 BuildRequires:  qt6-base-private-devel
80
-%endif
81
 BuildRequires:  libudev-devel
82
 BuildRequires:  libv4l-devel
83
+%if %{without split_obs_x264}
84
 BuildRequires:  libx264-devel
85
+%endif
86
 BuildRequires:  mbedtls-devel
87
 BuildRequires:  pipewire-devel
88
 BuildRequires:  pkgconfig
89
 BuildRequires:  pkgconfig(alsa)
90
 BuildRequires:  pkgconfig(jack)
91
-BuildRequires:  pkgconfig(libavcodec)
92
-BuildRequires:  pkgconfig(libavdevice)
93
-BuildRequires:  pkgconfig(libavfilter)
94
-BuildRequires:  pkgconfig(libavformat)
95
-BuildRequires:  pkgconfig(libavutil)
96
+BuildRequires:  pkgconfig(libavcodec)  >= %{minimum_libavcodec_version}
97
+BuildRequires:  pkgconfig(libavdevice) >= %{minimum_libavdevice_version}
98
+BuildRequires:  pkgconfig(libavfilter) >= %{minimum_libavfilter_version}
99
+BuildRequires:  pkgconfig(libavformat) >= %{minimum_libavformat_version}
100
+BuildRequires:  pkgconfig(libavutil)   >= %{minimum_libavutil_version}
101
 %ifarch %{ix86} x86_64
102
 # comment out until resolved: nothing provides pkgconfig(libmfx)
103
 # BuildRequires:  pkgconfig(libmfx)
104
 %endif
105
 BuildRequires:  pkgconfig(librist)
106
-BuildRequires:  pkgconfig(libswresample)
107
-BuildRequires:  pkgconfig(libswscale)
108
+BuildRequires:  pkgconfig(libswresample) >= %{minimum_libswresample_version}
109
+BuildRequires:  pkgconfig(libswscale)    >= %{minimum_libswscale_version}
110
 BuildRequires:  pkgconfig(libva)
111
 BuildRequires:  pkgconfig(lua)
112
 BuildRequires:  pkgconfig(luajit)
113
 BuildRequires:  pkgconfig(srt) >= 1.4
114
 BuildRequires:  pkgconfig(uuid)
115
-%if %{with websockets}
116
+BuildRequires:  pkgconfig(rnnoise)
117
+BuildRequires:  pkgconfig(ffnvcodec) >= 12.1.14.0
118
+BuildRequires:  pkgconfig(vpl)
119
+BuildRequires:  libdatachannel-devel
120
 BuildRequires:  pkgconfig(nlohmann_json) >= 3
121
+%if %{with websockets}
122
 BuildRequires:  pkgconfig(websocketpp) >= 0.8.0
123
 BuildRequires:  pkgconfig(asio) >= 1.12.1
124
+BuildRequires:  pkgconfig(qrcodegencpp)
125
 %endif
126
-BuildRequires:  python3-devel
127
+BuildRequires:  python%{python_version}-devel >= 3.8
128
 %if 0%{?suse_version} != 1315 || 0%{?is_opensuse}
129
 BuildRequires:  speexdsp-devel
130
 %endif
131
 BuildRequires:  sndio-devel
132
 BuildRequires:  swig
133
+BuildRequires:  uthash-devel
134
 BuildRequires:  vlc-devel
135
 %if %{with cef}
136
 BuildRequires:  mozilla-nss
137
@@ -106,6 +120,8 @@
138
 Recommends:     libqt5-qtwayland
139
 ExclusiveArch:  x86_64 aarch64
140
 
141
+Recommends:     obs-studio-x264
142
+
143
 # these are plugins, built as libs and as such should not be mixed up with their originals
144
 %global __provides_exclude_from ^(%{_libdir}/obs-plugins/.*\\.so.*|%{_libdir}/obs-scripting/.*\\.so.*)$
145
 %global __requires_exclude libcef\\.so
146
@@ -113,6 +129,17 @@
147
 %description
148
 Open Broadcaster Software is free and open source software for video recording and live streaming.
149
 
150
+%if %{with split_obs_x264}
151
+%package x264
152
+Summary:        libx264 support for obs-studio
153
+#
154
+Requires:       obs-studio = %{version}-%{release}
155
+%description x264
156
+Open Broadcaster Software is free and open source software for video recording and live streaming.
157
+
158
+This package holds the obs-x264 plugin for obs-studio
159
+%endif
160
+
161
 %package devel
162
 Summary:        A recording/broadcasting program - Development Files
163
 Group:          Development/Multimedia
164
@@ -128,11 +155,16 @@
165
 %endif
166
 
167
 %build
168
+%if 0%{?force_gcc_version}
169
+export CC="gcc-%{?force_gcc_version}"
170
+export CXX="g++-%{?force_gcc_version}"
171
+%endif
172
+
173
 mkdir -p build && cd build
174
 # does not like cmake macro as it fails to link in math.h (-lma
175
 # the compile flags must be relaxed in order to compile obs-studio successfully
176
-export CFLAGS="%{optflags} -Wno-error=type-limits -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-error=return-type -Wno-error=unused-but-set-variable -Wno-error=pointer-sign -Wno-error=reorder"
177
-export CXXFLAGS="%{optflags} -Wno-error=type-limits -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-error=return-type -Wno-error=unused-but-set-variable -Wno-error=pointer-sign -Wno-error=reorder"
178
+export CFLAGS="%{optflags} -Wno-error=type-limits -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-error=return-type -Wno-error=unused-but-set-variable -Wno-error=pointer-sign -Wno-error=reorder -Wno-error=switch -Wno-error=catch-value="
179
+export CXXFLAGS="%{optflags} -Wno-error=type-limits -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-error=return-type -Wno-error=unused-but-set-variable -Wno-error=pointer-sign -Wno-error=reorder -Wno-error=switch -Wno-error=catch-value="
180
 
181
 cmake \
182
   -DCMAKE_CXX_STANDARD=17 \
183
@@ -182,19 +214,32 @@
184
 %files
185
 %{_bindir}/obs
186
 %{_bindir}/obs-ffmpeg-mux
187
+%{_bindir}/obs-nvenc-test
188
 # Upstream forces libs dir regardless of arch and building plugins is encumbered
189
 # by moving them to the proper directory.
190
 %{_libdir}/obs-plugins/
191
+%if %{with split_obs_x264}
192
+%exclude %{_libdir}/obs-plugins/obs-x264.so
193
+%endif
194
 %{_libdir}/libobs.so.*
195
 %{_libdir}/libobs-frontend-api.so.*
196
 %{_libdir}/libobs-opengl.so.*
197
 %{_libdir}/libobs-scripting.so.*
198
 %{_libdir}/obs-scripting/
199
 %dir %{_datadir}/metainfo
200
-%{_datadir}/metainfo/com.obsproject.Studio.appdata.xml
201
0002-Include-diverse-luajit.patch Deleted
20
 
1
@@ -1,18 +0,0 @@
2
-Index: b/cmake/Modules/FindLuajit.cmake
3
-===================================================================
4
---- a/cmake/Modules/FindLuajit.cmake
5
-+++ b/cmake/Modules/FindLuajit.cmake
6
-@@ -37,7 +37,12 @@ find_path(
7
-     luajit-2.1
8
-     include/luajit-2.1
9
-     luajit2.1
10
--    include/luajit2.1)
11
-+    include/luajit2.1
12
-+    luajit5.1
13
-+    include/luajit-5_1-2.1
14
-+    moonjit-2.2
15
-+    include/moonjit-2.2
16
-+)
17
- 
18
- find_library(
19
-   LUAJIT_LIB
20
8376.patch Deleted
98
 
1
@@ -1,96 +0,0 @@
2
-From 1603aaf4a2ef16b7aabb3cf330c7b3fde77ad8ca Mon Sep 17 00:00:00 2001
3
-From: pkv <pkv@obsproject.com>
4
-Date: Tue, 28 Feb 2023 17:28:38 +0100
5
-Subject: PATCH obs-ffmpeg: Fix for FFmpeg 6 deprecating a flag
6
-
7
-Also modifies libobs & deps/media-playback.
8
-AV_CODEC_CAP_TRUNCATED was removed in avcodec 60 1.
9
-We ifdef the code depending on it to allow compilation.
10
-
11
-1 avcodec: remove FF_API_FLAG_TRUNCATED
12
-https://github.com/FFmpeg/FFmpeg/commit/3ceffe783965767e62d59e8e68ecd265c98460ec
13
-
14
-Signed-off-by: pkv <pkv@obsproject.com>
15
----
16
- deps/media-playback/media-playback/decode.c | 2 ++
17
- deps/media-playback/media-playback/decode.h | 2 ++
18
- libobs/obs-ffmpeg-compat.h                  | 2 ++
19
- plugins/obs-ffmpeg/obs-ffmpeg-compat.h      | 2 ++
20
- plugins/win-dshow/ffmpeg-decode.c           | 2 ++
21
- 5 files changed, 10 insertions(+)
22
-
23
-diff --git a/deps/media-playback/media-playback/decode.c b/deps/media-playback/media-playback/decode.c
24
-index 05d6afcc649a2..e1aa9aec0577b 100644
25
---- a/deps/media-playback/media-playback/decode.c
26
-+++ b/deps/media-playback/media-playback/decode.c
27
-@@ -230,8 +230,10 @@ bool mp_decode_init(mp_media_t *m, enum AVMediaType type, bool hw)
28
-       d->in_frame = d->sw_frame;
29
-   }
30
- 
31
-+#if LIBAVCODEC_VERSION_MAJOR < 60
32
-   if (d->codec->capabilities & CODEC_CAP_TRUNC)
33
-       d->decoder->flags |= CODEC_FLAG_TRUNC;
34
-+#endif
35
- 
36
-   d->orig_pkt = av_packet_alloc();
37
-   d->pkt = av_packet_alloc();
38
-diff --git a/deps/media-playback/media-playback/decode.h b/deps/media-playback/media-playback/decode.h
39
-index 1ca271b419fbd..6da34061b3dee 100644
40
---- a/deps/media-playback/media-playback/decode.h
41
-+++ b/deps/media-playback/media-playback/decode.h
42
-@@ -37,8 +37,10 @@ extern "C" {
43
- #endif
44
- 
45
- #if LIBAVCODEC_VERSION_MAJOR >= 58
46
-+#if LIBAVCODEC_VERSION_MAJOR < 60
47
- #define CODEC_CAP_TRUNC AV_CODEC_CAP_TRUNCATED
48
- #define CODEC_FLAG_TRUNC AV_CODEC_FLAG_TRUNCATED
49
-+#endif
50
- #else
51
- #define CODEC_CAP_TRUNC CODEC_CAP_TRUNCATED
52
- #define CODEC_FLAG_TRUNC CODEC_FLAG_TRUNCATED
53
-diff --git a/libobs/obs-ffmpeg-compat.h b/libobs/obs-ffmpeg-compat.h
54
-index c4e23b9851242..ad633521e3b0b 100644
55
---- a/libobs/obs-ffmpeg-compat.h
56
-+++ b/libobs/obs-ffmpeg-compat.h
57
-@@ -23,8 +23,10 @@
58
- #endif
59
- 
60
- #if LIBAVCODEC_VERSION_MAJOR >= 58
61
-+#if LIBAVCODEC_VERSION_MAJOR < 60
62
- #define CODEC_CAP_TRUNC AV_CODEC_CAP_TRUNCATED
63
- #define CODEC_FLAG_TRUNC AV_CODEC_FLAG_TRUNCATED
64
-+#endif
65
- #define INPUT_BUFFER_PADDING_SIZE AV_INPUT_BUFFER_PADDING_SIZE
66
- #else
67
- #define CODEC_CAP_TRUNC CODEC_CAP_TRUNCATED
68
-diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-compat.h b/plugins/obs-ffmpeg/obs-ffmpeg-compat.h
69
-index 181167aff383d..39efa00c774b3 100644
70
---- a/plugins/obs-ffmpeg/obs-ffmpeg-compat.h
71
-+++ b/plugins/obs-ffmpeg/obs-ffmpeg-compat.h
72
-@@ -27,8 +27,10 @@
73
- #endif
74
- 
75
- #if LIBAVCODEC_VERSION_MAJOR >= 58
76
-+#if LIBAVCODEC_VERSION_MAJOR < 60
77
- #define CODEC_CAP_TRUNC AV_CODEC_CAP_TRUNCATED
78
- #define CODEC_FLAG_TRUNC AV_CODEC_FLAG_TRUNCATED
79
-+#endif
80
- #define CODEC_FLAG_GLOBAL_H AV_CODEC_FLAG_GLOBAL_HEADER
81
- #else
82
- #define CODEC_CAP_TRUNC CODEC_CAP_TRUNCATED
83
-diff --git a/plugins/win-dshow/ffmpeg-decode.c b/plugins/win-dshow/ffmpeg-decode.c
84
-index d27c98441da15..49df62b7a79f2 100644
85
---- a/plugins/win-dshow/ffmpeg-decode.c
86
-+++ b/plugins/win-dshow/ffmpeg-decode.c
87
-@@ -105,8 +105,10 @@ int ffmpeg_decode_init(struct ffmpeg_decode *decode, enum AVCodecID id,
88
-       return ret;
89
-   }
90
- 
91
-+#if LIBAVCODEC_VERSION_MAJOR < 60
92
-   if (decode->codec->capabilities & CODEC_CAP_TRUNC)
93
-       decode->decoder->flags |= CODEC_FLAG_TRUNC;
94
-+#endif
95
- 
96
-   return 0;
97
- }
98
ffmpeg-x11-linking.patch Added
15
 
1
@@ -0,0 +1,13 @@
2
+diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt b/plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt
3
+index c1f95297f..58835df26 100644
4
+--- a/plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt
5
++++ b/plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt
6
+@@ -11,7 +11,7 @@ target_sources(obs-ffmpeg-mux PRIVATE ffmpeg-mux.c ffmpeg-mux.h)
7
+ 
8
+ target_link_libraries(
9
+   obs-ffmpeg-mux
10
+-  PRIVATE OBS::libobs FFmpeg::avcodec FFmpeg::avutil FFmpeg::avformat $<$<PLATFORM_ID:Windows>:OBS::w32-pthreads>
11
++  PRIVATE OBS::libobs X11::X11 FFmpeg::avcodec FFmpeg::avutil FFmpeg::avformat $<$<PLATFORM_ID:Windows>:OBS::w32-pthreads>
12
+ )
13
+ 
14
+ target_compile_definitions(obs-ffmpeg-mux PRIVATE $<$<BOOL:${ENABLE_FFMPEG_MUX_DEBUG}>:ENABLE_FFMPEG_MUX_DEBUG>)
15
libx264-optional.patch Added
21
 
1
@@ -0,0 +1,19 @@
2
+diff --git a/plugins/obs-x264/CMakeLists.txt b/plugins/obs-x264/CMakeLists.txt
3
+index 958d553c8..59ea67205 100644
4
+--- a/plugins/obs-x264/CMakeLists.txt
5
++++ b/plugins/obs-x264/CMakeLists.txt
6
+@@ -1,7 +1,8 @@
7
+ cmake_minimum_required(VERSION 3.28...3.30)
8
+ 
9
+-find_package(Libx264 REQUIRED)
10
++find_package(Libx264)
11
+ 
12
++if(Libx264_FOUND)
13
+ if(NOT TARGET OBS::opts-parser)
14
+   add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser")
15
+ endif()
16
+@@ -20,3 +21,4 @@ endif()
17
+ set_target_properties_obs(obs-x264 PROPERTIES FOLDER plugins/obs-x264 PREFIX "")
18
+ 
19
+ include(cmake/x264-test.cmake)
20
++endif()
21
_service Changed
13
 
1
@@ -1,8 +1,10 @@
2
 <services>
3
   <service name="tar_scm" mode="disabled">
4
     <param name="versionformat">@PARENT_TAG@</param>
5
-    <param name="revision">refs/tags/29.1.3</param>
6
+    <param name="revision">31.0.0</param>
7
     <param name="url">https://github.com/obsproject/obs-studio.git</param>
8
+    <param name="versionrewrite-pattern">(\.\d+)-(a-z.*)</param>
9
+    <param name="versionrewrite-replacement">\1~\2</param>
10
     <param name="scm">git</param>
11
     <param name="changesgenerate">enable</param>
12
   </service>
13
_servicedata Changed
10
 
1
@@ -1,6 +1,6 @@
2
 <servicedata>
3
   <service name="tar_scm">
4
     <param name="url">https://github.com/obsproject/obs-studio.git</param>
5
-    <param name="changesrevision">c58e511813c33e93da7637d50aa431ae0cddda0c</param>
6
+    <param name="changesrevision">0b2c85845e20f41c612cfe2583e380bd436b6b3c</param>
7
   </service>
8
 </servicedata>
9
\ No newline at end of file
10
cef_binary_5060_linux64.tar.bz2 Deleted
obs-studio-29.1.3.tar.xz -> obs-studio-31.0.0.tar.xz Changed