Gentoo Archives: gentoo-commits

From: Ionen Wolkens <ionen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/obs-studio/files/, media-video/obs-studio/
Date: Fri, 01 Apr 2022 19:43:52
Message-Id: 1648842171.7dcedc667ad80443fc894f4f8aee62ec44785fa0.ionen@gentoo
1 commit: 7dcedc667ad80443fc894f4f8aee62ec44785fa0
2 Author: Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 1 18:24:03 2022 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 1 19:42:51 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7dcedc66
7
8 media-video/obs-studio: remove version 27.1.3
9
10 Also remove no longer needed patches.
11
12 Package-Manager: Portage-3.0.30, Repoman-3.0.3
13 Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
14 Closes: https://github.com/gentoo/gentoo/pull/24853
15 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
16
17 media-video/obs-studio/Manifest | 3 -
18 .../files/obs-studio-26.1.2-python-3.8.patch | 18 --
19 .../files/obs-studio-27.1.3-ffmpeg-5.0.patch | 314 ---------------------
20 media-video/obs-studio/obs-studio-27.1.3-r2.ebuild | 214 --------------
21 4 files changed, 549 deletions(-)
22
23 diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
24 index e6d41f708a76..86c897e4d5f3 100644
25 --- a/media-video/obs-studio/Manifest
26 +++ b/media-video/obs-studio/Manifest
27 @@ -1,7 +1,4 @@
28 -DIST cef_binary_4280_linux64.tar.bz2 79740715 BLAKE2B c648a9a4205094450f9eae407e98cbc3da2b7cd81b3c19c4f52cfa3efcca01dce40528018996c65f026eb97520d78040165d1906b0d19236a86e76ec39c58c26 SHA512 060a5a8716a75b4b96dfb6ac28c132e22b93107915d680311c1b9d4fd12c7712a9e3497338eac6d2b9f4e74f2dc005a75d195c597bba049e4731fe3724f519ba
29 DIST cef_binary_4638_linux64.tar.bz2 104578246 BLAKE2B 13ee05d4a2fbf27290506297416b298c786954450c19183b493d13aa691db409c22b30870fbc55adf814ff30142a666eb8b172f16ccc48e6cf01135c72e5d6d6 SHA512 2eb01151e07adf332affce36a659c6e87da1fbc403c65db7e7c53472ff418df6cd04300a7c6ebc8789c094926429cc70d829e556e5de3127da230f8258fabe49
30 DIST obs-browser-915761778ec1eae99e740ad4bf63b40db3142ee2.tar.gz 100021 BLAKE2B d72df588aaeaf199c6ea5a7e419bb4792ef8b4c4237e700f75064d96caaec83ed2be2ea4ab34ba31e30a87ec6cbf1f267dd7b100c3a6cfec36e46b2eca8c4b2e SHA512 3ab6118a9509054ea4e8aed14dade7f374495ba25fcb5295a3ef7ed29e6e3305b0ae2f12ba2c0d27fcd6886822c98ab44a48fa9a4b66ae0507ab2bf1001157cb
31 -DIST obs-browser-aee43000bd994022cd73e32dc50938ab777d4a06.tar.gz 89603 BLAKE2B a51b92f829ecb7055dcf969d6d5bdc4632b51288f0bc7e2ab66fda087da608869ddffccda83aa925f049c79e745a6f67e70ec72303184b970f5009fe37b34054 SHA512 8159ca02b5c30d2733ce8e566f21d6b77d6b7beabd0a5898049ee83b0b4d720b967fc55fcf876cd772fdaa12ca08163a0f8cabf249a9b3b6eb56b7666d1192c7
32 -DIST obs-studio-27.1.3.tar.gz 15994678 BLAKE2B 5544a1ecdb04dca7f6422936ea5499a206b4beb8e5332605c18cd72a91ce73aa74ff06c49a106931822c1c413ee94d383942f173a71f2b21168a00495b4e301f SHA512 04c11c79e3b091aa9ea8fc6674c9fbcaa1c924fe049f68e9be63f63724c31305d6e4fb33aecdd4d0095d20013e2ee188983f6938b175257368d2260681c2fb39
33 DIST obs-studio-27.2.3.tar.gz 16383685 BLAKE2B 76802ba67dcebccabd9b2a1f09f505a4aea83887b445093c51a2c7a49fbaa064549b6212bd1b2f3200674a78349b2de4bfa54d14871c76be248cd62139d98a56 SHA512 c34e850e1a83e55aed952611257446a39d7ba4456b94f74d91c85d09d77361af2f76848f7d3f3d8ba7ae76c926129adad555e2f54d632658832596d0f2696a3c
34 DIST obs-studio-27.2.4.tar.gz 16385399 BLAKE2B 00c05ecd055d707b7132ca4b20e1c4946b682c0f79f1477167ae55aba3ec367c97b05aac190b07260f936e68f79f2d58e19dcc0602f70408f4c056eb733a6fdd SHA512 575341dd3d9240b21881517a16d01ca11f833e08b40ca7990f0360b4cd1076e8217a9bb8dddf174eca5429e6eadaadb6cfdbd61d24e0eb13ebeaa7f29cfad8bf
35
36 diff --git a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch b/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch
37 deleted file mode 100644
38 index d9e328ea4efb..000000000000
39 --- a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch
40 +++ /dev/null
41 @@ -1,18 +0,0 @@
42 -https://bugs.gentoo.org/754006
43 -
44 -https://github.com/obsproject/obs-studio/pull/3335
45 -From: Matt Gajownik <matt@××××××××××.com>
46 -Date: Tue, 25 Aug 2020 19:28:26 +1000
47 -Subject: [PATCH] libobs/util: Fix loading Python binary modules on *nix
48 ---- a/libobs/util/platform-nix.c
49 -+++ b/libobs/util/platform-nix.c
50 -@@ -71,7 +71,8 @@ void *os_dlopen(const char *path)
51 - #ifdef __APPLE__
52 - void *res = dlopen(dylib_name.array, RTLD_LAZY | RTLD_FIRST);
53 - #else
54 -- void *res = dlopen(dylib_name.array, RTLD_LAZY);
55 -+ void *res = dlopen(dylib_name.array,
56 -+ RTLD_LAZY | RTLD_DEEPBIND | RTLD_GLOBAL);
57 - #endif
58 - if (!res)
59 - blog(LOG_ERROR, "os_dlopen(%s->%s): %s\n", path,
60
61 diff --git a/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch b/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch
62 deleted file mode 100644
63 index a529dca715a9..000000000000
64 --- a/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch
65 +++ /dev/null
66 @@ -1,314 +0,0 @@
67 -# https://git.exherbo.org/media.git/commit/?id=10c891cb37f4f7e42e95a00b27a5d4636266353e
68 -# https://git.exherbo.org/media.git/commit/?id=e888c31724357431dbd0e73014ca87a552850d45
69 -
70 -From 08547a1696fa381d0bda18aed57b9f87a6b1b334 Mon Sep 17 00:00:00 2001
71 -From: Ryan Foster <RytoEX@×××××.com>
72 -Date: Sat, 6 Nov 2021 18:57:35 -0400
73 -Subject: [PATCH] obs-ffmpeg: Include avcodec header for AVCodecContext
74 -
75 -FFmpeg commit e67e02d15672 [1] drops avcodec.h from avformat.h includes.
76 -Therefore we need to include it explicitly.
77 -
78 -[1]: https://github.com/FFmpeg/FFmpeg/commit/e67e02d15672a87da1b0566e197a1e19dc7e1e33
79 - lavf/avformat.h: drop the avcodec.h include
80 ----
81 - plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 1 +
82 - plugins/obs-ffmpeg/obs-ffmpeg-formats.h | 2 ++
83 - plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c | 1 +
84 - plugins/obs-ffmpeg/obs-ffmpeg-output.h | 1 +
85 - 4 files changed, 5 insertions(+)
86 -
87 -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
88 -index 1c160ced4b1f..e4c6cdb9fa2f 100644
89 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
90 -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
91 -@@ -27,6 +27,7 @@
92 - #include "ffmpeg-mux.h"
93 -
94 - #include <util/dstr.h>
95 -+#include <libavcodec/avcodec.h>
96 - #include <libavformat/avformat.h>
97 -
98 - #define ANSI_COLOR_RED "\x1b[0;91m"
99 -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-formats.h b/plugins/obs-ffmpeg/obs-ffmpeg-formats.h
100 -index 62e3866d037a..b40ef37293b4 100644
101 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-formats.h
102 -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-formats.h
103 -@@ -1,5 +1,7 @@
104 - #pragma once
105 -
106 -+#include <libavcodec/avcodec.h>
107 -+
108 - static inline int64_t rescale_ts(int64_t val, AVCodecContext *context,
109 - AVRational new_base)
110 - {
111 -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c
112 -index f2d93d2def89..e66010ce5f9c 100644
113 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c
114 -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c
115 -@@ -24,6 +24,7 @@
116 -
117 - #include <libavutil/opt.h>
118 - #include <libavutil/pixdesc.h>
119 -+#include <libavcodec/avcodec.h>
120 - #include <libavformat/avformat.h>
121 -
122 - #include "obs-ffmpeg-formats.h"
123 -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.h b/plugins/obs-ffmpeg/obs-ffmpeg-output.h
124 -index 99f4dcd13b44..72d89dfacc4c 100644
125 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.h
126 -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.h
127 -@@ -2,6 +2,7 @@
128 -
129 - #include <libavutil/opt.h>
130 - #include <libavutil/pixdesc.h>
131 -+#include <libavcodec/avcodec.h>
132 - #include <libavformat/avformat.h>
133 - #include <libswscale/swscale.h>
134 -
135 -From abf1d609d29196921df8f09ab6e07340b7cf9660 Mon Sep 17 00:00:00 2001
136 -From: Ryan Foster <RytoEX@×××××.com>
137 -Date: Sat, 6 Nov 2021 18:58:05 -0400
138 -Subject: [PATCH] obs-ffmpeg: Include channel_layout.h
139 -
140 -avcodec.h stopped including channel_layout.h per FFmpeg commit
141 -1be3d8a0cb77 [1]. avformat.h stopped including avcodec.h per FFmpeg
142 -commit e67e02d15672 [2]. As a result, we need to explicitly include
143 -avutil/channel_layout.h when needed. Fixes compilation error against
144 -FFmpeg later than the two mentioned commits.
145 -
146 -[1]: https://github.com/FFmpeg/FFmpeg/commit/1be3d8a0cb77f8d34c1f39b47bf5328fe10c82d7
147 -[2]: https://github.com/FFmpeg/FFmpeg/commit/e67e02d15672a87da1b0566e197a1e19dc7e1e33
148 ----
149 - plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c | 1 +
150 - 1 file changed, 1 insertion(+)
151 -
152 -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c
153 -index 2e3899464362..cbcb9ac31bcb 100644
154 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c
155 -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c
156 -@@ -21,6 +21,7 @@
157 - #include <util/dstr.h>
158 - #include <obs-module.h>
159 -
160 -+#include <libavutil/channel_layout.h>
161 - #include <libavutil/opt.h>
162 - #include <libavformat/avformat.h>
163 -
164 -From ce734366bc0b95ff91930f463e7ebe528cf8eabf Mon Sep 17 00:00:00 2001
165 -From: Ryan Foster <RytoEX@×××××.com>
166 -Date: Sat, 6 Nov 2021 18:58:36 -0400
167 -Subject: [PATCH] obs-ffmpeg: Respect AVFormatContext and AVOutputFormat
168 - constness
169 -
170 -AVFormatContext::oformat was made const on April 27, 2021 [1]. If we
171 -respect the constness of AVOutputFormat and do not cast results from
172 -FFmpeg functions to non-const, we cannot modify the results after the
173 -fact. Our choices are either to cast them to non-const (and presumably
174 -have them implicitly casted back to const on later function calls), or
175 -only try to modify the results in versions of FFmpeg where these are not
176 -expected to be const.
177 -
178 -Instead of relying on casts, we can set the encoder values in the
179 -ffmpeg_cfg struct, which are later passed to new_stream.
180 -
181 -Also modifies deps/media-playback. Removes compiler warnings.
182 -Some avformat functions return const AV(In/Out)putFormat per [1], so
183 -ifdef as needed.
184 -
185 -[1]: https://github.com/FFmpeg/FFmpeg/commit/56450a0ee4fdda160f4039fc2ae33edfd27765c9
186 - lavf 59.0.100 avformat.h
187 - avformat: Constify the API wrt AV(In|Out)putFormat
188 -
189 - Also constify AVProbeData.
190 ----
191 - deps/media-playback/media-playback/media.c | 4 ++++
192 - plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 10 ++++++++++
193 - plugins/obs-ffmpeg/obs-ffmpeg-output.c | 19 ++++++++++++++++++-
194 - 3 files changed, 32 insertions(+), 1 deletion(-)
195 -
196 -diff --git a/deps/media-playback/media-playback/media.c b/deps/media-playback/media-playback/media.c
197 -index 9041b62e9cdd..a09b58ed5d10 100644
198 ---- a/deps/media-playback/media-playback/media.c
199 -+++ b/deps/media-playback/media-playback/media.c
200 -@@ -608,7 +608,11 @@ static int interrupt_callback(void *data)
201 -
202 - static bool init_avformat(mp_media_t *m)
203 - {
204 -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
205 - AVInputFormat *format = NULL;
206 -+#else
207 -+ const AVInputFormat *format = NULL;
208 -+#endif
209 -
210 - if (m->format_name && *m->format_name) {
211 - format = av_find_input_format(m->format_name);
212 -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
213 -index e4c6cdb9fa2f..ffce3ee33eec 100644
214 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
215 -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
216 -@@ -565,7 +565,11 @@ static inline bool ffmpeg_mux_get_extra_data(struct ffmpeg_mux *ffm)
217 -
218 - static inline int open_output_file(struct ffmpeg_mux *ffm)
219 - {
220 -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
221 - AVOutputFormat *format = ffm->output->oformat;
222 -+#else
223 -+ const AVOutputFormat *format = ffm->output->oformat;
224 -+#endif
225 - int ret;
226 -
227 - if ((format->flags & AVFMT_NOFILE) == 0) {
228 -@@ -631,7 +635,11 @@ static bool ffmpeg_mux_is_network(struct ffmpeg_mux *ffm)
229 -
230 - static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm)
231 - {
232 -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
233 - AVOutputFormat *output_format;
234 -+#else
235 -+ const AVOutputFormat *output_format;
236 -+#endif
237 - int ret;
238 - bool is_http = false;
239 - is_http = (strncmp(ffm->params.file, HTTP_PROTO,
240 -@@ -665,8 +673,10 @@ static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm)
241 - return FFM_ERROR;
242 - }
243 -
244 -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
245 - ffm->output->oformat->video_codec = AV_CODEC_ID_NONE;
246 - ffm->output->oformat->audio_codec = AV_CODEC_ID_NONE;
247 -+#endif
248 -
249 - if (!init_streams(ffm)) {
250 - free_avformat(ffm);
251 -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c
252 -index 6bc1637b1796..7447e952b9c2 100644
253 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c
254 -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c
255 -@@ -543,6 +543,7 @@ static enum AVCodecID get_codec_id(const char *name, int id)
256 - return codec->id;
257 - }
258 -
259 -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
260 - static void set_encoder_ids(struct ffmpeg_data *data)
261 - {
262 - data->output->oformat->video_codec = get_codec_id(
263 -@@ -551,6 +552,7 @@ static void set_encoder_ids(struct ffmpeg_data *data)
264 - data->output->oformat->audio_codec = get_codec_id(
265 - data->config.audio_encoder, data->config.audio_encoder_id);
266 - }
267 -+#endif
268 -
269 - bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config)
270 - {
271 -@@ -570,7 +572,13 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config)
272 -
273 - is_rtmp = (astrcmpi_n(config->url, "rtmp://", 7) == 0);
274 -
275 -- AVOutputFormat *output_format = av_guess_format(
276 -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
277 -+ AVOutputFormat *output_format;
278 -+#else
279 -+ const AVOutputFormat *output_format;
280 -+#endif
281 -+
282 -+ output_format = av_guess_format(
283 - is_rtmp ? "flv" : data->config.format_name, data->config.url,
284 - is_rtmp ? NULL : data->config.format_mime_type);
285 -
286 -@@ -596,6 +604,7 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config)
287 - goto fail;
288 - }
289 -
290 -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100)
291 - if (is_rtmp) {
292 - data->output->oformat->video_codec = AV_CODEC_ID_H264;
293 - data->output->oformat->audio_codec = AV_CODEC_ID_AAC;
294 -@@ -603,6 +612,14 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config)
295 - if (data->config.format_name)
296 - set_encoder_ids(data);
297 - }
298 -+#else
299 -+ if (is_rtmp) {
300 -+ data->config.audio_encoder = "aac";
301 -+ data->config.audio_encoder_id = AV_CODEC_ID_AAC;
302 -+ data->config.video_encoder = "libx264";
303 -+ data->config.video_encoder_id = AV_CODEC_ID_H264;
304 -+ }
305 -+#endif
306 -
307 - if (!init_streams(data))
308 - goto fail;
309 -
310 -From d78971b4db34d5fffbd11d2acabf37a65e11cd58 Mon Sep 17 00:00:00 2001
311 -From: pkv <pkv@××××××××××.com>
312 -Date: Fri, 17 Dec 2021 20:52:11 +0100
313 -Subject: [PATCH] obs-ffmpeg: Further FFmpeg deprecations fixes for FFmpeg 4.4+
314 -
315 -avcodec.h stopped including channel_layout.h per FFmpeg commit
316 -1be3d8a0cb77 [1]. Fixes compilation error on macOS against
317 -FFmpeg later than the mentioned commit.
318 -[1] https://github.com/FFmpeg/FFmpeg/commit/1be3d8a0cb77f8d34c1f39b47bf5328fe10c82d7
319 ----
320 - plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 1 +
321 - plugins/obs-ffmpeg/obs-ffmpeg-output.c | 1 +
322 - 2 files changed, 2 insertions(+)
323 -
324 -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
325 -index c07e22abe266..db26cb425ce5 100644
326 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
327 -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c
328 -@@ -29,6 +29,7 @@
329 - #include <util/dstr.h>
330 - #include <libavcodec/avcodec.h>
331 - #include <libavformat/avformat.h>
332 -+#include <libavutil/channel_layout.h>
333 -
334 - #define ANSI_COLOR_RED "\x1b[0;91m"
335 - #define ANSI_COLOR_MAGENTA "\x1b[0;95m"
336 -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c
337 -index d3637ebbb59b..7d1f12a60393 100644
338 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c
339 -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c
340 -@@ -25,6 +25,7 @@
341 - #include "obs-ffmpeg-output.h"
342 - #include "obs-ffmpeg-formats.h"
343 - #include "obs-ffmpeg-compat.h"
344 -+#include <libavutil/channel_layout.h>
345 -
346 - struct ffmpeg_output {
347 - obs_output_t *output;
348 -
349 -From c398ac9739a82bc95632eef9544dd0fb5bc5f0cf Mon Sep 17 00:00:00 2001
350 -From: pkv <pkv@××××××××××.com>
351 -Date: Sat, 6 Nov 2021 18:59:37 -0400
352 -Subject: [PATCH] obs-ffmpeg: Fix NVENC old codec naming removed in FFmpeg
353 -
354 -Per FFmpeg commit 337f777f378c [1], FFmpeg removed nvenc_h264_encoder
355 -and nvenc_hevc_encoder after deprecation in FFmpeg commit 888a5c794778
356 -[2]. The names to be used are ff_h264_nvenc_encoder and
357 -ff_hevc_nvenc_encoder. So we must allow alternative search of codec as
358 -h264_nvenc or nvenc_h264 in obs-ffmpeg.c.
359 -
360 -[1]: https://github.com/FFmpeg/FFmpeg/commit/337f777f378cfcc0d6f0d01fb7125905e8b0da55
361 -[2]: https://github.com/FFmpeg/FFmpeg/commit/888a5c794778a2f2aad22e9b4a3952dff92b11fa
362 ----
363 - plugins/obs-ffmpeg/obs-ffmpeg.c | 4 +++-
364 - 1 file changed, 3 insertions(+), 1 deletion(-)
365 -
366 -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg.c b/plugins/obs-ffmpeg/obs-ffmpeg.c
367 -index 7330b2273544..399c5bfa64b6 100644
368 ---- a/plugins/obs-ffmpeg/obs-ffmpeg.c
369 -+++ b/plugins/obs-ffmpeg/obs-ffmpeg.c
370 -@@ -180,7 +180,9 @@ static bool nvenc_supported(void)
371 - bool success = false;
372 -
373 - if (!nvenc) {
374 -- goto cleanup;
375 -+ nvenc = avcodec_find_encoder_by_name("h264_nvenc");
376 -+ if (!nvenc)
377 -+ goto cleanup;
378 - }
379 -
380 - #if defined(_WIN32)
381
382 diff --git a/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild b/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild
383 deleted file mode 100644
384 index a018ce0e7966..000000000000
385 --- a/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild
386 +++ /dev/null
387 @@ -1,214 +0,0 @@
388 -# Copyright 1999-2022 Gentoo Authors
389 -# Distributed under the terms of the GNU General Public License v2
390 -
391 -EAPI=8
392 -
393 -CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
394 -LUA_COMPAT=( luajit )
395 -PYTHON_COMPAT=( python3_{8..10} )
396 -
397 -inherit cmake lua-single python-single-r1 xdg
398 -
399 -OBS_BROWSER_COMMIT="aee43000bd994022cd73e32dc50938ab777d4a06"
400 -CEF_DIR="cef_binary_4280_linux64"
401 -
402 -if [[ ${PV} == 9999 ]]; then
403 - inherit git-r3
404 - EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
405 - EGIT_SUBMODULES=( plugins/obs-browser )
406 -else
407 - SRC_URI="https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
408 - SRC_URI+=" browser? ( https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz )"
409 - KEYWORDS="~amd64 ~ppc64 ~x86"
410 -fi
411 -SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )"
412 -
413 -DESCRIPTION="Software for Recording and Streaming Live Video Content"
414 -HOMEPAGE="https://obsproject.com"
415 -
416 -LICENSE="GPL-2"
417 -SLOT="0"
418 -IUSE="
419 - +alsa browser decklink fdk jack lua nvenc pipewire
420 - pulseaudio python speex +ssl truetype v4l vlc wayland
421 -"
422 -REQUIRED_USE="
423 - browser? ( || ( alsa pulseaudio ) )
424 - lua? ( ${LUA_REQUIRED_USE} )
425 - python? ( ${PYTHON_REQUIRED_USE} )
426 -"
427 -
428 -BDEPEND="
429 - lua? ( dev-lang/swig )
430 - python? ( dev-lang/swig )
431 -"
432 -DEPEND="
433 - dev-libs/glib:2
434 - dev-libs/jansson:=
435 - dev-qt/qtcore:5
436 - dev-qt/qtdeclarative:5
437 - dev-qt/qtgui:5[wayland?]
438 - dev-qt/qtmultimedia:5
439 - dev-qt/qtnetwork:5
440 - dev-qt/qtquickcontrols:5
441 - dev-qt/qtsql:5
442 - dev-qt/qtsvg:5
443 - dev-qt/qtwidgets:5
444 - dev-qt/qtx11extras:5
445 - dev-qt/qtxml:5
446 - media-libs/libglvnd
447 - media-libs/x264:=
448 - media-video/ffmpeg:=[nvenc?,x264]
449 - net-misc/curl
450 - sys-apps/dbus
451 - sys-libs/zlib:=
452 - virtual/udev
453 - x11-libs/libX11
454 - x11-libs/libXcomposite
455 - x11-libs/libXfixes
456 - x11-libs/libXinerama
457 - x11-libs/libXrandr
458 - x11-libs/libxcb:=
459 - alsa? ( media-libs/alsa-lib )
460 - browser? (
461 - app-accessibility/at-spi2-atk
462 - app-accessibility/at-spi2-core:2
463 - dev-libs/atk
464 - dev-libs/expat
465 - dev-libs/glib
466 - dev-libs/nspr
467 - dev-libs/nss
468 - media-libs/alsa-lib
469 - media-libs/fontconfig
470 - media-libs/mesa[gbm(+)]
471 - net-print/cups
472 - x11-libs/libdrm
473 - x11-libs/libXScrnSaver
474 - x11-libs/libXcursor
475 - x11-libs/libXdamage
476 - x11-libs/libXext
477 - x11-libs/libXi
478 - x11-libs/libXrender
479 - x11-libs/libXtst
480 - )
481 - fdk? ( media-libs/fdk-aac:= )
482 - jack? ( virtual/jack )
483 - lua? ( ${LUA_DEPS} )
484 - pipewire? ( media-video/pipewire:= )
485 - pulseaudio? ( media-sound/pulseaudio )
486 - python? ( ${PYTHON_DEPS} )
487 - speex? ( media-libs/speexdsp )
488 - ssl? ( net-libs/mbedtls:= )
489 - truetype? (
490 - media-libs/fontconfig
491 - media-libs/freetype
492 - )
493 - v4l? ( media-libs/libv4l )
494 - vlc? ( media-video/vlc:= )
495 - wayland? ( dev-libs/wayland )
496 -"
497 -RDEPEND="${DEPEND}"
498 -
499 -QA_PREBUILT="
500 - usr/lib*/obs-plugins/chrome-sandbox
501 - usr/lib*/obs-plugins/libEGL.so
502 - usr/lib*/obs-plugins/libGLESv2.so
503 - usr/lib*/obs-plugins/libcef.so
504 - usr/lib*/obs-plugins/swiftshader/libEGL.so
505 - usr/lib*/obs-plugins/swiftshader/libGLESv2.so
506 -"
507 -
508 -PATCHES=(
509 - "${FILESDIR}/${PN}-26.1.2-python-3.8.patch"
510 - "${FILESDIR}/${PN}-27.1.3-ffmpeg-5.0.patch"
511 -)
512 -
513 -pkg_setup() {
514 - use lua && lua-single_pkg_setup
515 - use python && python-single-r1_pkg_setup
516 -}
517 -
518 -src_unpack() {
519 - default
520 -
521 - if [[ ${PV} == 9999 ]]; then
522 - git-r3_src_unpack
523 - elif use browser; then
524 - rm -d ${P}/plugins/obs-browser || die
525 - mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die
526 - fi
527 -}
528 -
529 -src_configure() {
530 - local libdir=$(get_libdir)
531 - local mycmakeargs=(
532 - $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
533 - -DBUILD_BROWSER=$(usex browser)
534 - -DBUILD_VST=no
535 - -DENABLE_WAYLAND=$(usex wayland)
536 - -DDISABLE_ALSA=$(usex !alsa)
537 - -DDISABLE_DECKLINK=$(usex !decklink)
538 - -DDISABLE_FREETYPE=$(usex !truetype)
539 - -DDISABLE_JACK=$(usex !jack)
540 - -DDISABLE_LIBFDK=$(usex !fdk)
541 - -DENABLE_PIPEWIRE=$(usex pipewire)
542 - -DDISABLE_PULSEAUDIO=$(usex !pulseaudio)
543 - $(cmake_use_find_package pulseaudio PulseAudio)
544 - -DDISABLE_SPEEXDSP=$(usex !speex)
545 - -DDISABLE_V4L2=$(usex !v4l)
546 - -DDISABLE_VLC=$(usex !vlc)
547 - -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
548 - -DUNIX_STRUCTURE=1
549 - -DWITH_RTMPS=$(usex ssl)
550 -
551 - # deprecated and currently cause issues
552 - # https://github.com/obsproject/obs-studio/pull/4560#issuecomment-826345608
553 - -DLIBOBS_PREFER_IMAGEMAGICK=no
554 - )
555 -
556 - if [[ ${PV} != 9999 ]]; then
557 - mycmakeargs+=(
558 - -DOBS_VERSION_OVERRIDE=${PV}
559 - )
560 - fi
561 -
562 - if use lua || use python; then
563 - mycmakeargs+=(
564 - -DDISABLE_LUA=$(usex !lua)
565 - -DDISABLE_PYTHON=$(usex !python)
566 - -DENABLE_SCRIPTING=yes
567 - )
568 - else
569 - mycmakeargs+=( -DENABLE_SCRIPTING=no )
570 - fi
571 -
572 - cmake_src_configure
573 -}
574 -
575 -src_install() {
576 - cmake_src_install
577 -
578 - # external plugins may need some things not installed by default, install them here
579 - insinto /usr/include/obs/UI/obs-frontend-api
580 - doins UI/obs-frontend-api/obs-frontend-api.h
581 -}
582 -
583 -pkg_postinst() {
584 - xdg_pkg_postinst
585 -
586 - if ! use alsa && ! use pulseaudio; then
587 - elog
588 - elog "For the audio capture features to be available,"
589 - elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to"
590 - elog "be enabled."
591 - elog
592 - fi
593 -
594 - if use python; then
595 - ewarn "This ebuild applies a patch that is not yet accepted upstream,"
596 - ewarn "and while it fixes Python support at least to some extent, it"
597 - ewarn "may cause other issues."
598 - ewarn ""
599 - ewarn "Please report any such issues to the Gentoo maintainer."
600 - fi
601 -}