forked from ports/contrib
obs-studio: fixed build with ffmpeg 6.0
This commit is contained in:
parent
a14f5e3dfd
commit
58559059a4
@ -1,6 +1,7 @@
|
|||||||
untrusted comment: verify with /etc/ports/contrib.pub
|
untrusted comment: verify with /etc/ports/contrib.pub
|
||||||
RWSagIOpLGJF307WxHl9ouZ7bCZDgdz8fvG0T5kjp8Mz2+F/q05AwXYCa0ctzjfJelnIsFA1di0BNu0ynA+Ps7C6wOl0kpN3NQY=
|
RWSagIOpLGJF34LRC0u7GDdAsC60JkUeW9XTiLreJ3RcO2Ti/dmLIfv/mdSCNA1DcUYXYIYhaBbs9cErtxT8pnIFBj8BnIEqcwA=
|
||||||
SHA256 (Pkgfile) = a4e5fb21119b3d652032c11b4c43328207940803289df087f2424181b01479a2
|
SHA256 (Pkgfile) = 6b19e363f28fd30edef928071cc4b675bac94965b82ba2f982843dc3a297f7ea
|
||||||
SHA256 (.footprint) = 1383720d49474c2ed5186845ca48cd3436901f5d772f5598e4af49e1a8070c4b
|
SHA256 (.footprint) = 1383720d49474c2ed5186845ca48cd3436901f5d772f5598e4af49e1a8070c4b
|
||||||
SHA256 (obs-studio-29.0.2.tar.gz) = 0e6260800b80c3fc9f67c4c3fb12ffae740ab1dd188e526a55e0fc8949168db2
|
SHA256 (obs-studio-29.0.2.tar.gz) = 0e6260800b80c3fc9f67c4c3fb12ffae740ab1dd188e526a55e0fc8949168db2
|
||||||
SHA256 (disable-some-plugins.patch) = fee180ca12a1831e1e8c09f90db25776abb77daa9befebf7c3f153cc43f99b91
|
SHA256 (disable-some-plugins.patch) = fee180ca12a1831e1e8c09f90db25776abb77daa9befebf7c3f153cc43f99b91
|
||||||
|
SHA256 (2e79d4c9.patch) = 96ea913149377b324d132aa56964a72e5263e06a8b8d2103c1708b04752f3b9d
|
||||||
|
96
obs-studio/2e79d4c9.patch
Normal file
96
obs-studio/2e79d4c9.patch
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
From 2e79d4c902abf3e6bb4ad1b5bf779c0cc22a6fd0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: pkv <pkv@obsproject.com>
|
||||||
|
Date: Tue, 28 Feb 2023 17:28:38 +0100
|
||||||
|
Subject: [PATCH] obs-ffmpeg: Fix for FFmpeg 6 deprecating a flag
|
||||||
|
|
||||||
|
Also modifies libobs & deps/media-playback.
|
||||||
|
AV_CODEC_CAP_TRUNCATED was removed in avcodec 60 [1].
|
||||||
|
We ifdef the code depending on it to allow compilation.
|
||||||
|
|
||||||
|
[1] avcodec: remove FF_API_FLAG_TRUNCATED
|
||||||
|
https://github.com/FFmpeg/FFmpeg/commit/3ceffe783965767e62d59e8e68ecd265c98460ec
|
||||||
|
|
||||||
|
Signed-off-by: pkv <pkv@obsproject.com>
|
||||||
|
---
|
||||||
|
deps/media-playback/media-playback/decode.c | 2 ++
|
||||||
|
deps/media-playback/media-playback/decode.h | 2 ++
|
||||||
|
libobs/obs-ffmpeg-compat.h | 2 ++
|
||||||
|
plugins/obs-ffmpeg/obs-ffmpeg-compat.h | 2 ++
|
||||||
|
plugins/win-dshow/ffmpeg-decode.c | 2 ++
|
||||||
|
5 files changed, 10 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/deps/media-playback/media-playback/decode.c b/deps/media-playback/media-playback/decode.c
|
||||||
|
index 05d6afcc649a2..e1aa9aec0577b 100644
|
||||||
|
--- a/deps/media-playback/media-playback/decode.c
|
||||||
|
+++ b/deps/media-playback/media-playback/decode.c
|
||||||
|
@@ -230,8 +230,10 @@ bool mp_decode_init(mp_media_t *m, enum AVMediaType type, bool hw)
|
||||||
|
d->in_frame = d->sw_frame;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR < 60
|
||||||
|
if (d->codec->capabilities & CODEC_CAP_TRUNC)
|
||||||
|
d->decoder->flags |= CODEC_FLAG_TRUNC;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
d->orig_pkt = av_packet_alloc();
|
||||||
|
d->pkt = av_packet_alloc();
|
||||||
|
diff --git a/deps/media-playback/media-playback/decode.h b/deps/media-playback/media-playback/decode.h
|
||||||
|
index 1ca271b419fbd..6da34061b3dee 100644
|
||||||
|
--- a/deps/media-playback/media-playback/decode.h
|
||||||
|
+++ b/deps/media-playback/media-playback/decode.h
|
||||||
|
@@ -37,8 +37,10 @@ extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if LIBAVCODEC_VERSION_MAJOR >= 58
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR < 60
|
||||||
|
#define CODEC_CAP_TRUNC AV_CODEC_CAP_TRUNCATED
|
||||||
|
#define CODEC_FLAG_TRUNC AV_CODEC_FLAG_TRUNCATED
|
||||||
|
+#endif
|
||||||
|
#else
|
||||||
|
#define CODEC_CAP_TRUNC CODEC_CAP_TRUNCATED
|
||||||
|
#define CODEC_FLAG_TRUNC CODEC_FLAG_TRUNCATED
|
||||||
|
diff --git a/libobs/obs-ffmpeg-compat.h b/libobs/obs-ffmpeg-compat.h
|
||||||
|
index c4e23b9851242..ad633521e3b0b 100644
|
||||||
|
--- a/libobs/obs-ffmpeg-compat.h
|
||||||
|
+++ b/libobs/obs-ffmpeg-compat.h
|
||||||
|
@@ -23,8 +23,10 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if LIBAVCODEC_VERSION_MAJOR >= 58
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR < 60
|
||||||
|
#define CODEC_CAP_TRUNC AV_CODEC_CAP_TRUNCATED
|
||||||
|
#define CODEC_FLAG_TRUNC AV_CODEC_FLAG_TRUNCATED
|
||||||
|
+#endif
|
||||||
|
#define INPUT_BUFFER_PADDING_SIZE AV_INPUT_BUFFER_PADDING_SIZE
|
||||||
|
#else
|
||||||
|
#define CODEC_CAP_TRUNC CODEC_CAP_TRUNCATED
|
||||||
|
diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-compat.h b/plugins/obs-ffmpeg/obs-ffmpeg-compat.h
|
||||||
|
index 181167aff383d..39efa00c774b3 100644
|
||||||
|
--- a/plugins/obs-ffmpeg/obs-ffmpeg-compat.h
|
||||||
|
+++ b/plugins/obs-ffmpeg/obs-ffmpeg-compat.h
|
||||||
|
@@ -27,8 +27,10 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if LIBAVCODEC_VERSION_MAJOR >= 58
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR < 60
|
||||||
|
#define CODEC_CAP_TRUNC AV_CODEC_CAP_TRUNCATED
|
||||||
|
#define CODEC_FLAG_TRUNC AV_CODEC_FLAG_TRUNCATED
|
||||||
|
+#endif
|
||||||
|
#define CODEC_FLAG_GLOBAL_H AV_CODEC_FLAG_GLOBAL_HEADER
|
||||||
|
#else
|
||||||
|
#define CODEC_CAP_TRUNC CODEC_CAP_TRUNCATED
|
||||||
|
diff --git a/plugins/win-dshow/ffmpeg-decode.c b/plugins/win-dshow/ffmpeg-decode.c
|
||||||
|
index d27c98441da15..49df62b7a79f2 100644
|
||||||
|
--- a/plugins/win-dshow/ffmpeg-decode.c
|
||||||
|
+++ b/plugins/win-dshow/ffmpeg-decode.c
|
||||||
|
@@ -105,8 +105,10 @@ int ffmpeg_decode_init(struct ffmpeg_decode *decode, enum AVCodecID id,
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if LIBAVCODEC_VERSION_MAJOR < 60
|
||||||
|
if (decode->codec->capabilities & CODEC_CAP_TRUNC)
|
||||||
|
decode->decoder->flags |= CODEC_FLAG_TRUNC;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
@ -6,9 +6,10 @@
|
|||||||
|
|
||||||
name=obs-studio
|
name=obs-studio
|
||||||
version=29.0.2
|
version=29.0.2
|
||||||
release=1
|
release=2
|
||||||
source=(https://github.com/obsproject/$name/archive/$version/$name-$version.tar.gz
|
source=(https://github.com/obsproject/$name/archive/$version/$name-$version.tar.gz
|
||||||
disable-some-plugins.patch)
|
disable-some-plugins.patch
|
||||||
|
2e79d4c9.patch)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
prt-get isinst luajit || PKGMK_OBS+=' -D ENABLE_SCRIPTING_LUA=OFF'
|
prt-get isinst luajit || PKGMK_OBS+=' -D ENABLE_SCRIPTING_LUA=OFF'
|
||||||
@ -22,6 +23,7 @@ build() {
|
|||||||
-v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')"
|
-v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')"
|
||||||
|
|
||||||
patch -Np1 -d $name-$version -i $SRC/disable-some-plugins.patch
|
patch -Np1 -d $name-$version -i $SRC/disable-some-plugins.patch
|
||||||
|
patch -Np1 -d $name-$version -i $SRC/2e79d4c9.patch
|
||||||
|
|
||||||
export QT_QPA_PLATFORMTHEME="qt6ct"
|
export QT_QPA_PLATFORMTHEME="qt6ct"
|
||||||
cmake -S $name-$version -B build -G Ninja $PKGMK_OBS \
|
cmake -S $name-$version -B build -G Ninja $PKGMK_OBS \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user