Update to 30.1.1

This commit is contained in:
Neal Gompa 2024-04-02 05:16:23 -04:00
parent 721effc0d9
commit a9ff648a91
6 changed files with 62 additions and 484 deletions

View File

@ -1,4 +1,4 @@
From dfa857eceb0deaf1a273fbd3423364fd7268ea90 Mon Sep 17 00:00:00 2001
From f6bc114c7d80f6344353619f51d9584ad022d91b Mon Sep 17 00:00:00 2001
From: Neal Gompa <neal@gompa.dev>
Date: Sat, 7 Jan 2023 23:15:13 -0500
Subject: [PATCH 101/103] UI: Consistently reference the software H264 encoder
@ -15,11 +15,11 @@ the encoder string to indicate that it's an H.264 encoder from x264.
4 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini
index e62f38a26..339ac4d86 100644
index 9c3f38777..dd8f20f69 100644
--- a/UI/data/locale/en-US.ini
+++ b/UI/data/locale/en-US.ini
@@ -996,7 +996,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
Basic.Settings.Output.Simple.Warn.Lossless="Warning: Lossless quality generates tremendously large file sizes! Lossless quality can use upward of 7 gigabytes of disk space per minute at high resolutions and framerates. Lossless is not recommended for long recordings unless you have a very large amount of disk space available."
@@ -997,7 +997,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
Basic.Settings.Output.Simple.Warn.Lossless="Warning: Lossless quality generates tremendously large file sizes! Lossless quality can use upward of 7 gigabytes of disk space per minute at high resolutions and framerates. Lossless is not recommended for long recordings unless you have a very large amount of disk space available. Replay buffer is unavailable when using lossless quality."
Basic.Settings.Output.Simple.Warn.Lossless.Msg="Are you sure you want to use lossless quality?"
Basic.Settings.Output.Simple.Warn.Lossless.Title="Lossless quality warning!"
-Basic.Settings.Output.Simple.Encoder.Software="Software (x264)"
@ -27,7 +27,7 @@ index e62f38a26..339ac4d86 100644
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.H264="Hardware (QSV, H.264)"
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.AV1="Hardware (QSV, AV1)"
Basic.Settings.Output.Simple.Encoder.Hardware.AMD.H264="Hardware (AMD, H.264)"
@@ -1007,7 +1007,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hardware (NVENC, AV1)"
@@ -1008,7 +1008,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hardware (NVENC, AV1)"
Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.HEVC="Hardware (NVENC, HEVC)"
Basic.Settings.Output.Simple.Encoder.Hardware.Apple.H264="Hardware (Apple, H.264)"
Basic.Settings.Output.Simple.Encoder.Hardware.Apple.HEVC="Hardware (Apple, HEVC)"
@ -68,10 +68,10 @@ index 7d7c4278e..a8b5d884a 100644
auto newLabel = [this](const char *str) -> QLabel * {
diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp
index 2ad275a44..e2ba4b677 100644
index e28c5b189..de306efa9 100644
--- a/UI/window-basic-settings-stream.cpp
+++ b/UI/window-basic-settings-stream.cpp
@@ -1670,7 +1670,7 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
@@ -1704,7 +1704,7 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
#define ENCODER_STR(str) QTStr("Basic.Settings.Output.Simple.Encoder." str)
@ -81,10 +81,10 @@ index 2ad275a44..e2ba4b677 100644
#ifdef _WIN32
if (service_supports_encoder(vcodecs, "obs_qsv11"))
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
index b1e6bd6fb..ddf0adc56 100644
index bee2c86ed..efb98c4ef 100644
--- a/UI/window-basic-settings.cpp
+++ b/UI/window-basic-settings.cpp
@@ -5237,10 +5237,11 @@ void OBSBasicSettings::FillSimpleRecordingValues()
@@ -5303,10 +5303,11 @@ void OBSBasicSettings::FillSimpleRecordingValues()
ADD_QUALITY("HQ");
ADD_QUALITY("Lossless");
@ -100,5 +100,5 @@ index b1e6bd6fb..ddf0adc56 100644
ui->simpleOutRecEncoder->addItem(
ENCODER_STR("Hardware.QSV.H264"),
--
2.41.0
2.44.0

View File

@ -1,4 +1,4 @@
From 939db8edca8161f4518900e750551814c2c6088e Mon Sep 17 00:00:00 2001
From 7e13a4f5b407650b0eeacbc2322ec9fa7825828c Mon Sep 17 00:00:00 2001
From: Neal Gompa <neal@gompa.dev>
Date: Sun, 26 Mar 2023 06:06:31 -0400
Subject: [PATCH 102/103] obs-ffmpeg: Add initial support for the OpenH264
@ -20,10 +20,10 @@ software codecs provided through FFmpeg.
create mode 100644 plugins/obs-ffmpeg/obs-ffmpeg-h264.c
diff --git a/plugins/obs-ffmpeg/CMakeLists.txt b/plugins/obs-ffmpeg/CMakeLists.txt
index 04530ef39..b77f6366f 100644
index 77c5ad8e4..81b847889 100644
--- a/plugins/obs-ffmpeg/CMakeLists.txt
+++ b/plugins/obs-ffmpeg/CMakeLists.txt
@@ -36,6 +36,7 @@ target_sources(
@@ -32,6 +32,7 @@ target_sources(
obs-ffmpeg-av1.c
obs-ffmpeg-compat.h
obs-ffmpeg-formats.h
@ -32,17 +32,17 @@ index 04530ef39..b77f6366f 100644
obs-ffmpeg-mux.c
obs-ffmpeg-mux.h
diff --git a/plugins/obs-ffmpeg/cmake/legacy.cmake b/plugins/obs-ffmpeg/cmake/legacy.cmake
index 4cc75b341..d2e11965d 100644
index 0b3491a07..d22734264 100644
--- a/plugins/obs-ffmpeg/cmake/legacy.cmake
+++ b/plugins/obs-ffmpeg/cmake/legacy.cmake
@@ -40,6 +40,7 @@ target_sources(
@@ -41,6 +41,7 @@ target_sources(
obs-ffmpeg-video-encoders.c
obs-ffmpeg-audio-encoders.c
obs-ffmpeg-av1.c
+ obs-ffmpeg-h264.c
obs-ffmpeg-nvenc.c
obs-ffmpeg-output.c
obs-ffmpeg-mux.c
obs-ffmpeg-output.h
diff --git a/plugins/obs-ffmpeg/data/locale/en-US.ini b/plugins/obs-ffmpeg/data/locale/en-US.ini
index 9652be160..e18e39f5a 100644
--- a/plugins/obs-ffmpeg/data/locale/en-US.ini
@ -322,10 +322,10 @@ index 000000000..179a61ccf
+ .get_video_info = h264_video_info,
+};
diff --git a/plugins/obs-ffmpeg/obs-ffmpeg.c b/plugins/obs-ffmpeg/obs-ffmpeg.c
index 7eb9a876d..fcce8ec3b 100644
index 451b4f022..ee2e378bf 100644
--- a/plugins/obs-ffmpeg/obs-ffmpeg.c
+++ b/plugins/obs-ffmpeg/obs-ffmpeg.c
@@ -38,6 +38,7 @@ extern struct obs_encoder_info pcm24_encoder_info;
@@ -41,6 +41,7 @@ extern struct obs_encoder_info pcm24_encoder_info;
extern struct obs_encoder_info pcm32_encoder_info;
extern struct obs_encoder_info alac_encoder_info;
extern struct obs_encoder_info flac_encoder_info;
@ -333,7 +333,7 @@ index 7eb9a876d..fcce8ec3b 100644
extern struct obs_encoder_info h264_nvenc_encoder_info;
#ifdef ENABLE_HEVC
extern struct obs_encoder_info hevc_nvenc_encoder_info;
@@ -382,6 +383,7 @@ bool obs_module_load(void)
@@ -364,6 +365,7 @@ bool obs_module_load(void)
obs_register_output(&ffmpeg_hls_muxer);
obs_register_output(&replay_buffer);
obs_register_encoder(&aac_encoder_info);
@ -342,5 +342,5 @@ index 7eb9a876d..fcce8ec3b 100644
register_encoder_if_available(&aom_av1_encoder_info, "libaom-av1");
obs_register_encoder(&opus_encoder_info);
--
2.41.0
2.44.0

View File

@ -1,4 +1,4 @@
From f26c32b97117273550b9dddea01b5b92684c6886 Mon Sep 17 00:00:00 2001
From d5d1837245fb9a2f0dfc863c27f8ac77ea9625cd Mon Sep 17 00:00:00 2001
From: Neal Gompa <neal@gompa.dev>
Date: Tue, 28 Mar 2023 05:08:49 -0400
Subject: [PATCH 103/103] UI: Add support for OpenH264 as the worst-case
@ -21,11 +21,11 @@ available.
10 files changed, 123 insertions(+), 48 deletions(-)
diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini
index 339ac4d86..ff8c649da 100644
index dd8f20f69..6a8e4e1e7 100644
--- a/UI/data/locale/en-US.ini
+++ b/UI/data/locale/en-US.ini
@@ -996,6 +996,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
Basic.Settings.Output.Simple.Warn.Lossless="Warning: Lossless quality generates tremendously large file sizes! Lossless quality can use upward of 7 gigabytes of disk space per minute at high resolutions and framerates. Lossless is not recommended for long recordings unless you have a very large amount of disk space available."
@@ -997,6 +997,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
Basic.Settings.Output.Simple.Warn.Lossless="Warning: Lossless quality generates tremendously large file sizes! Lossless quality can use upward of 7 gigabytes of disk space per minute at high resolutions and framerates. Lossless is not recommended for long recordings unless you have a very large amount of disk space available. Replay buffer is unavailable when using lossless quality."
Basic.Settings.Output.Simple.Warn.Lossless.Msg="Are you sure you want to use lossless quality?"
Basic.Settings.Output.Simple.Warn.Lossless.Title="Lossless quality warning!"
+Basic.Settings.Output.Simple.Encoder.Software.OpenH264.H264="Software (OpenH264)"
@ -155,10 +155,10 @@ index a8b5d884a..e68a33bb5 100644
auto newLabel = [this](const char *str) -> QLabel * {
diff --git a/UI/window-basic-auto-config.cpp b/UI/window-basic-auto-config.cpp
index d8ddbfa44..4707a5644 100644
index f992c0719..d97a188f5 100644
--- a/UI/window-basic-auto-config.cpp
+++ b/UI/window-basic-auto-config.cpp
@@ -979,6 +979,7 @@ AutoConfig::AutoConfig(QWidget *parent) : QWizard(parent)
@@ -982,6 +982,7 @@ AutoConfig::AutoConfig(QWidget *parent) : QWizard(parent)
streamPage->ui->bitrate->setValue(bitrate);
streamPage->ServiceChanged();
@ -166,7 +166,7 @@ index d8ddbfa44..4707a5644 100644
TestHardwareEncoding();
if (!hardwareEncodingAvailable) {
delete streamPage->ui->preferHardware;
@@ -1007,6 +1008,16 @@ AutoConfig::~AutoConfig()
@@ -1010,6 +1011,16 @@ AutoConfig::~AutoConfig()
EnableThreadedMessageBoxes(false);
}
@ -183,7 +183,7 @@ index d8ddbfa44..4707a5644 100644
void AutoConfig::TestHardwareEncoding()
{
size_t idx = 0;
@@ -1086,8 +1097,10 @@ inline const char *AutoConfig::GetEncoderId(Encoder enc)
@@ -1089,8 +1100,10 @@ inline const char *AutoConfig::GetEncoderId(Encoder enc)
return SIMPLE_ENCODER_AMD;
case Encoder::Apple:
return SIMPLE_ENCODER_APPLE_H264;
@ -224,10 +224,10 @@ index 5d966c795..c17e32a85 100644
bool CanTestServer(const char *server);
diff --git a/UI/window-basic-main-outputs.cpp b/UI/window-basic-main-outputs.cpp
index a283d0fcc..4b3f25371 100644
index f87e16dcd..0466cdff6 100644
--- a/UI/window-basic-main-outputs.cpp
+++ b/UI/window-basic-main-outputs.cpp
@@ -547,7 +547,9 @@ void SimpleOutput::LoadStreamingPreset_Lossy(const char *encoderId)
@@ -552,7 +552,9 @@ void SimpleOutput::LoadStreamingPreset_Lossy(const char *encoderId)
/* mistakes have been made to lead us to this. */
const char *get_simple_output_encoder(const char *encoder)
{
@ -238,7 +238,7 @@ index a283d0fcc..4b3f25371 100644
return "obs_x264";
} else if (strcmp(encoder, SIMPLE_ENCODER_X264_LOWCPU) == 0) {
return "obs_x264";
@@ -581,7 +583,7 @@ const char *get_simple_output_encoder(const char *encoder)
@@ -586,7 +588,7 @@ const char *get_simple_output_encoder(const char *encoder)
#endif
}
@ -371,10 +371,10 @@ index f9d3f4ea1..27899efc4 100644
}
#endif
diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
index 943e8cac1..09251de75 100644
index 0621d039c..c39266e9f 100644
--- a/UI/window-basic-main.cpp
+++ b/UI/window-basic-main.cpp
@@ -1449,6 +1449,8 @@ extern void CheckExistingCookieId();
@@ -1469,6 +1469,8 @@ extern void CheckExistingCookieId();
#define DEFAULT_CONTAINER "fragmented_mp4"
#endif
@ -383,7 +383,7 @@ index 943e8cac1..09251de75 100644
bool OBSBasic::InitBasicConfigDefaults()
{
QList<QScreen *> screens = QGuiApplication::screens();
@@ -1619,7 +1621,10 @@ bool OBSBasic::InitBasicConfigDefaults()
@@ -1654,7 +1656,10 @@ bool OBSBasic::InitBasicConfigDefaults()
config_set_default_bool(basicConfig, "AdvOut", "UseRescale", false);
config_set_default_uint(basicConfig, "AdvOut", "TrackIndex", 1);
config_set_default_uint(basicConfig, "AdvOut", "VodTrackIndex", 2);
@ -395,7 +395,7 @@ index 943e8cac1..09251de75 100644
config_set_default_string(basicConfig, "AdvOut", "RecType", "Standard");
@@ -1744,7 +1749,6 @@ bool OBSBasic::InitBasicConfigDefaults()
@@ -1780,7 +1785,6 @@ bool OBSBasic::InitBasicConfigDefaults()
return true;
}
@ -403,7 +403,7 @@ index 943e8cac1..09251de75 100644
extern bool update_nvenc_presets(ConfigFile &config);
void OBSBasic::InitBasicConfigDefaults2()
@@ -1753,12 +1757,14 @@ void OBSBasic::InitBasicConfigDefaults2()
@@ -1789,12 +1793,14 @@ void OBSBasic::InitBasicConfigDefaults2()
"Pre23Defaults");
bool useNV = EncoderAvailable("ffmpeg_nvenc") && !oldEncDefaults;
@ -422,7 +422,7 @@ index 943e8cac1..09251de75 100644
const char *aac_default = "ffmpeg_aac";
if (EncoderAvailable("CoreAudio_AAC"))
@@ -2040,7 +2046,7 @@ void OBSBasic::OBSInit()
@@ -2076,7 +2082,7 @@ void OBSBasic::OBSInit()
InitBasicConfigDefaults2();
@ -432,7 +432,7 @@ index 943e8cac1..09251de75 100644
blog(LOG_INFO, STARTUP_SEPARATOR);
diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp
index b1eb39592..7d9e8d286 100644
index 8c4104c11..2349d791a 100644
--- a/UI/window-basic-main.hpp
+++ b/UI/window-basic-main.hpp
@@ -69,6 +69,7 @@ class OBSBasicVCamConfig;
@ -443,7 +443,7 @@ index b1eb39592..7d9e8d286 100644
#define SIMPLE_ENCODER_QSV "qsv"
#define SIMPLE_ENCODER_QSV_AV1 "qsv_av1"
#define SIMPLE_ENCODER_NVENC "nvenc"
@@ -446,7 +447,7 @@ private:
@@ -448,7 +449,7 @@ private:
void DeleteProfile(const char *profile_name, const char *profile_dir);
void RefreshProfiles();
void ChangeProfile();
@ -453,10 +453,10 @@ index b1eb39592..7d9e8d286 100644
void SaveProjectNow();
diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp
index e2ba4b677..a08c697d4 100644
index de306efa9..64e6c4b14 100644
--- a/UI/window-basic-settings-stream.cpp
+++ b/UI/window-basic-settings-stream.cpp
@@ -1437,7 +1437,9 @@ static QString get_adv_fallback(const QString &enc)
@@ -1471,7 +1471,9 @@ static QString get_adv_fallback(const QString &enc)
return "com.apple.videotoolbox.videoencoder.ave.avc";
if (enc == "obs_qsv11_av1")
return "obs_qsv11";
@ -467,7 +467,7 @@ index e2ba4b677..a08c697d4 100644
}
static QString get_adv_audio_fallback(const QString &enc)
@@ -1466,7 +1468,9 @@ static QString get_simple_fallback(const QString &enc)
@@ -1500,7 +1502,9 @@ static QString get_simple_fallback(const QString &enc)
return SIMPLE_ENCODER_APPLE_H264;
if (enc == SIMPLE_ENCODER_QSV_AV1)
return SIMPLE_ENCODER_QSV;
@ -478,7 +478,7 @@ index e2ba4b677..a08c697d4 100644
}
bool OBSBasicSettings::ServiceSupportsCodecCheck()
@@ -1670,8 +1674,12 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
@@ -1704,8 +1708,12 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
#define ENCODER_STR(str) QTStr("Basic.Settings.Output.Simple.Encoder." str)
@ -494,10 +494,10 @@ index e2ba4b677..a08c697d4 100644
if (service_supports_encoder(vcodecs, "obs_qsv11"))
ui->simpleOutStrEncoder->addItem(
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
index ddf0adc56..9b7324ab9 100644
index efb98c4ef..65d173caf 100644
--- a/UI/window-basic-settings.cpp
+++ b/UI/window-basic-settings.cpp
@@ -3779,6 +3779,11 @@ void OBSBasicSettings::SaveOutputSettings()
@@ -3843,6 +3843,11 @@ void OBSBasicSettings::SaveOutputSettings()
do. This only exists to make sure that the x264 preset doesn't
get overwritten with empty data. */
presetType = "ApplePreset";
@ -509,7 +509,7 @@ index ddf0adc56..9b7324ab9 100644
else
presetType = "Preset";
@@ -5237,11 +5242,16 @@ void OBSBasicSettings::FillSimpleRecordingValues()
@@ -5303,11 +5308,16 @@ void OBSBasicSettings::FillSimpleRecordingValues()
ADD_QUALITY("HQ");
ADD_QUALITY("Lossless");
@ -531,7 +531,7 @@ index ddf0adc56..9b7324ab9 100644
if (EncoderAvailable("obs_qsv11"))
ui->simpleOutRecEncoder->addItem(
ENCODER_STR("Hardware.QSV.H264"),
@@ -5414,6 +5424,9 @@ void OBSBasicSettings::SimpleStreamingEncoderChanged()
@@ -5480,6 +5490,9 @@ void OBSBasicSettings::SimpleStreamingEncoderChanged()
defaultPreset = "balanced";
preset = curAMDAV1Preset;
@ -542,5 +542,5 @@ index ddf0adc56..9b7324ab9 100644
#define PRESET_STR(val) \
--
2.41.0
2.44.0

View File

@ -1,423 +0,0 @@
From 09fbac02fa36e945480edb1cf8547ba8ce4d08ff Mon Sep 17 00:00:00 2001
From: Neal Gompa <neal@gompa.dev>
Date: Mon, 11 Sep 2023 15:50:55 -0400
Subject: [PATCH] cmake: Allow CMake 3.20 and 3.21 to be used to build OBS
CentOS Stream 9 (and thus Red Hat Enterprise Linux 9) have CMake 3.20.
There does not appear to be anything preventing it from building
on CMake 3.20, so let's permit it so that it can still be built
for Fedora Extra Packages for Enterprise Linux 9.
---
CMakeLists.txt | 2 +-
UI/CMakeLists.txt | 2 +-
UI/frontend-plugins/aja-output-ui/CMakeLists.txt | 2 +-
UI/frontend-plugins/decklink-captions/CMakeLists.txt | 2 +-
UI/frontend-plugins/decklink-output-ui/CMakeLists.txt | 2 +-
UI/frontend-plugins/frontend-tools/CMakeLists.txt | 2 +-
UI/obs-frontend-api/CMakeLists.txt | 2 +-
deps/blake2/CMakeLists.txt | 2 +-
deps/file-updater/CMakeLists.txt | 2 +-
deps/glad/CMakeLists.txt | 2 +-
deps/happy-eyeballs/CMakeLists.txt | 2 +-
deps/json11/CMakeLists.txt | 2 +-
deps/libcaption/CMakeLists.txt | 2 +-
deps/media-playback/CMakeLists.txt | 2 +-
deps/obs-scripting/CMakeLists.txt | 2 +-
deps/obs-scripting/obslua/CMakeLists.txt | 2 +-
deps/obs-scripting/obspython/CMakeLists.txt | 2 +-
deps/opts-parser/CMakeLists.txt | 2 +-
deps/uthash/CMakeLists.txt | 2 +-
libobs-opengl/CMakeLists.txt | 2 +-
libobs/CMakeLists.txt | 2 +-
plugins/CMakeLists.txt | 2 +-
plugins/aja/CMakeLists.txt | 2 +-
plugins/decklink/CMakeLists.txt | 2 +-
plugins/image-source/CMakeLists.txt | 2 +-
plugins/obs-ffmpeg/CMakeLists.txt | 2 +-
plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt | 2 +-
plugins/obs-filters/CMakeLists.txt | 2 +-
plugins/obs-outputs/CMakeLists.txt | 2 +-
plugins/obs-qsv11/CMakeLists.txt | 2 +-
plugins/obs-transitions/CMakeLists.txt | 2 +-
plugins/obs-vst/CMakeLists.txt | 2 +-
plugins/obs-webrtc/CMakeLists.txt | 2 +-
plugins/obs-x264/CMakeLists.txt | 2 +-
plugins/rtmp-services/CMakeLists.txt | 2 +-
plugins/text-freetype2/CMakeLists.txt | 2 +-
plugins/vlc-video/CMakeLists.txt | 2 +-
37 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b6f157fbe..3e628c792 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
if(CMAKE_HOST_SYSTEM_NAME MATCHES "(Darwin)" OR OBS_CMAKE_VERSION VERSION_GREATER_EQUAL 3.0.0)
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/common/bootstrap.cmake" NO_POLICY_SCOPE)
diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt
index cbebcd84d..b5660e662 100644
--- a/UI/CMakeLists.txt
+++ b/UI/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt
index 3555192e6..e9b9ed0ba 100644
--- a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt
+++ b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/UI/frontend-plugins/decklink-captions/CMakeLists.txt b/UI/frontend-plugins/decklink-captions/CMakeLists.txt
index 3fc910b6c..0969dd7b0 100644
--- a/UI/frontend-plugins/decklink-captions/CMakeLists.txt
+++ b/UI/frontend-plugins/decklink-captions/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt
index a5e697e88..1fc0af541 100644
--- a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt
+++ b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/UI/frontend-plugins/frontend-tools/CMakeLists.txt b/UI/frontend-plugins/frontend-tools/CMakeLists.txt
index 5a0eeba45..b29d335a3 100644
--- a/UI/frontend-plugins/frontend-tools/CMakeLists.txt
+++ b/UI/frontend-plugins/frontend-tools/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/UI/obs-frontend-api/CMakeLists.txt b/UI/obs-frontend-api/CMakeLists.txt
index ca4eae513..fd7c9433b 100644
--- a/UI/obs-frontend-api/CMakeLists.txt
+++ b/UI/obs-frontend-api/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/deps/blake2/CMakeLists.txt b/deps/blake2/CMakeLists.txt
index b9fb338a8..6e31ec857 100644
--- a/deps/blake2/CMakeLists.txt
+++ b/deps/blake2/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
add_library(blake2 STATIC EXCLUDE_FROM_ALL )
add_library(OBS::blake2 ALIAS blake2)
diff --git a/deps/file-updater/CMakeLists.txt b/deps/file-updater/CMakeLists.txt
index e07cd2f0f..fbb358110 100644
--- a/deps/file-updater/CMakeLists.txt
+++ b/deps/file-updater/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
find_package(CURL REQUIRED)
diff --git a/deps/glad/CMakeLists.txt b/deps/glad/CMakeLists.txt
index 64b05a2cc..c6d7ea19c 100644
--- a/deps/glad/CMakeLists.txt
+++ b/deps/glad/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
find_package(OpenGL REQUIRED)
diff --git a/deps/happy-eyeballs/CMakeLists.txt b/deps/happy-eyeballs/CMakeLists.txt
index b3a5692cd..ff3be48ff 100644
--- a/deps/happy-eyeballs/CMakeLists.txt
+++ b/deps/happy-eyeballs/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
add_library(happy-eyeballs INTERFACE)
add_library(OBS::happy-eyeballs ALIAS happy-eyeballs)
diff --git a/deps/json11/CMakeLists.txt b/deps/json11/CMakeLists.txt
index 78cb7c94a..82d0a063b 100644
--- a/deps/json11/CMakeLists.txt
+++ b/deps/json11/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
add_library(json11 INTERFACE)
add_library(OBS::json11 ALIAS json11)
diff --git a/deps/libcaption/CMakeLists.txt b/deps/libcaption/CMakeLists.txt
index 53cd79196..2770b6746 100644
--- a/deps/libcaption/CMakeLists.txt
+++ b/deps/libcaption/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
add_library(caption STATIC EXCLUDE_FROM_ALL )
add_library(OBS::caption ALIAS caption)
diff --git a/deps/media-playback/CMakeLists.txt b/deps/media-playback/CMakeLists.txt
index a84900e47..351f4bb42 100644
--- a/deps/media-playback/CMakeLists.txt
+++ b/deps/media-playback/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
find_package(FFmpeg REQUIRED COMPONENTS avcodec avdevice avutil avformat)
diff --git a/deps/obs-scripting/CMakeLists.txt b/deps/obs-scripting/CMakeLists.txt
index 9096e4b27..988d2235c 100644
--- a/deps/obs-scripting/CMakeLists.txt
+++ b/deps/obs-scripting/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/deps/obs-scripting/obslua/CMakeLists.txt b/deps/obs-scripting/obslua/CMakeLists.txt
index 98517ee7d..22edd1e1c 100644
--- a/deps/obs-scripting/obslua/CMakeLists.txt
+++ b/deps/obs-scripting/obslua/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/deps/obs-scripting/obspython/CMakeLists.txt b/deps/obs-scripting/obspython/CMakeLists.txt
index f0db72f75..f0a07f66c 100644
--- a/deps/obs-scripting/obspython/CMakeLists.txt
+++ b/deps/obs-scripting/obspython/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/deps/opts-parser/CMakeLists.txt b/deps/opts-parser/CMakeLists.txt
index a87ee641e..72d61be53 100644
--- a/deps/opts-parser/CMakeLists.txt
+++ b/deps/opts-parser/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
add_library(opts-parser INTERFACE)
add_library(OBS::opts-parser ALIAS opts-parser)
diff --git a/deps/uthash/CMakeLists.txt b/deps/uthash/CMakeLists.txt
index aecb0d74e..7ebb524f0 100644
--- a/deps/uthash/CMakeLists.txt
+++ b/deps/uthash/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
add_library(uthash INTERFACE)
add_library(OBS::uthash ALIAS uthash)
diff --git a/libobs-opengl/CMakeLists.txt b/libobs-opengl/CMakeLists.txt
index 7ee9478ea..51751719d 100644
--- a/libobs-opengl/CMakeLists.txt
+++ b/libobs-opengl/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
index 46112abe7..28551f61d 100644
--- a/libobs/CMakeLists.txt
+++ b/libobs/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
index 90bea35be..26e6b57ec 100644
--- a/plugins/CMakeLists.txt
+++ b/plugins/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
option(ENABLE_PLUGINS "Enable building OBS plugins" ON)
diff --git a/plugins/aja/CMakeLists.txt b/plugins/aja/CMakeLists.txt
index 423d9d099..daaa57f51 100644
--- a/plugins/aja/CMakeLists.txt
+++ b/plugins/aja/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/decklink/CMakeLists.txt b/plugins/decklink/CMakeLists.txt
index e93c7c772..8423fe52a 100644
--- a/plugins/decklink/CMakeLists.txt
+++ b/plugins/decklink/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/image-source/CMakeLists.txt b/plugins/image-source/CMakeLists.txt
index a7682454e..2f5fd3790 100644
--- a/plugins/image-source/CMakeLists.txt
+++ b/plugins/image-source/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/obs-ffmpeg/CMakeLists.txt b/plugins/obs-ffmpeg/CMakeLists.txt
index 04530ef39..16c4d1e1a 100644
--- a/plugins/obs-ffmpeg/CMakeLists.txt
+++ b/plugins/obs-ffmpeg/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt b/plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt
index afa22b7a5..5644f8213 100644
--- a/plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt
+++ b/plugins/obs-ffmpeg/ffmpeg-mux/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/obs-filters/CMakeLists.txt b/plugins/obs-filters/CMakeLists.txt
index 22d79388c..84b337c40 100644
--- a/plugins/obs-filters/CMakeLists.txt
+++ b/plugins/obs-filters/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/obs-outputs/CMakeLists.txt b/plugins/obs-outputs/CMakeLists.txt
index cedc77da0..f131ca671 100644
--- a/plugins/obs-outputs/CMakeLists.txt
+++ b/plugins/obs-outputs/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/obs-qsv11/CMakeLists.txt b/plugins/obs-qsv11/CMakeLists.txt
index cae152765..f1c39cc6a 100644
--- a/plugins/obs-qsv11/CMakeLists.txt
+++ b/plugins/obs-qsv11/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/obs-transitions/CMakeLists.txt b/plugins/obs-transitions/CMakeLists.txt
index 65e3b13ac..c18ac96ed 100644
--- a/plugins/obs-transitions/CMakeLists.txt
+++ b/plugins/obs-transitions/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/obs-vst/CMakeLists.txt b/plugins/obs-vst/CMakeLists.txt
index bb5c32a00..78530783b 100644
--- a/plugins/obs-vst/CMakeLists.txt
+++ b/plugins/obs-vst/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/obs-webrtc/CMakeLists.txt b/plugins/obs-webrtc/CMakeLists.txt
index de943062f..84b0f1aa5 100644
--- a/plugins/obs-webrtc/CMakeLists.txt
+++ b/plugins/obs-webrtc/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/obs-x264/CMakeLists.txt b/plugins/obs-x264/CMakeLists.txt
index 4c293fb33..c75491a51 100644
--- a/plugins/obs-x264/CMakeLists.txt
+++ b/plugins/obs-x264/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/rtmp-services/CMakeLists.txt b/plugins/rtmp-services/CMakeLists.txt
index e8d304ae0..9dc0b2396 100644
--- a/plugins/rtmp-services/CMakeLists.txt
+++ b/plugins/rtmp-services/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/text-freetype2/CMakeLists.txt b/plugins/text-freetype2/CMakeLists.txt
index bb30f99a7..b19b0cd57 100644
--- a/plugins/text-freetype2/CMakeLists.txt
+++ b/plugins/text-freetype2/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
diff --git a/plugins/vlc-video/CMakeLists.txt b/plugins/vlc-video/CMakeLists.txt
index 0a35ae284..40a62b076 100644
--- a/plugins/vlc-video/CMakeLists.txt
+++ b/plugins/vlc-video/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.22...3.25)
+cmake_minimum_required(VERSION 3.20...3.25)
legacy_check()
--
2.41.0

View File

@ -29,8 +29,8 @@
%global libvlc_soversion 5
%global obswebsocket_version 5.3.3
%global obsbrowser_commit e397df52e70392ebb9146e0ab6317c0d1a30bce4
%global obswebsocket_version 5.4.2
%global obsbrowser_commit 996b5a7bc43d912f1f4992e0032d4f263ac8b060
%global cef_version 5060
#global commit ad859a3f66daac0d30eebcc9b07b0c2004fb6040
@ -38,8 +38,8 @@
#global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: obs-studio
Version: 30.0.0
Release: 9%{?dist}
Version: 30.1.1
Release: 1%{?dist}
Summary: Open Broadcaster Software Studio
# OBS itself is GPL-2.0-or-later, while various plugin dependencies are of various other licenses
@ -65,17 +65,15 @@ Patch0102: 0102-obs-ffmpeg-Add-initial-support-for-the-OpenH264-H.26.patch
Patch0103: 0103-UI-Add-support-for-OpenH264-as-the-worst-case-fallba.patch
# Downstream Fedora patches
## Downgrade to CMake 3.20 for RHEL 9 compatibility
Patch1001: obs-studio-30-cmake-3.20.patch
## Use fdk-aac by default
Patch1002: obs-studio-UI-use-fdk-aac-by-default.patch
Patch1001: obs-studio-UI-use-fdk-aac-by-default.patch
## Fix error: passing argument 4 of query_dmabuf_modifiers from
## incompatible pointer type [-Wincompatible-pointer-types]
Patch1003: obs-studio-fix-incompatible-pointer-type.patch
BuildRequires: gcc
BuildRequires: cmake >= 3.20
BuildRequires: cmake >= 3.22
BuildRequires: ninja-build
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
@ -182,7 +180,7 @@ software for video recording and live streaming.
%license COPYING
%{_bindir}/obs
%{_bindir}/obs-ffmpeg-mux
%{_datadir}/metainfo/com.obsproject.Studio.appdata.xml
%{_datadir}/metainfo/com.obsproject.Studio.metainfo.xml
%{_datadir}/applications/com.obsproject.Studio.desktop
%{_datadir}/icons/hicolor/*/apps/com.obsproject.Studio.*
%{_datadir}/obs/
@ -375,10 +373,13 @@ find %{buildroot} -name ".gitkeep" -delete
%check
desktop-file-validate %{buildroot}/%{_datadir}/applications/com.obsproject.Studio.desktop
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.metainfo.xml
%changelog
* Tue Apr 02 2024 Neal Gompa <ngompa@fedoraproject.org> - 30.1.1-1
- Update to 30.1.1
* Fri Feb 16 2024 Jan Grulich <jgrulich@redhat.com> - 30.0.0-9
- Rebuild (qt6)

View File

@ -1,3 +1,3 @@
SHA512 (obs-studio-30.0.0.tar.gz) = a99ec286dddea46e95a90b16b52bfb8033ce017faae039128509c561fef9bc71e02a9e55d1fee428c456dc48ce03ba7939e2488eaec35f791116ab4dfd1f34d0
SHA512 (obs-websocket-5.3.3.tar.gz) = 5726bd81a366940ab3b33f4997d5d66e8ff1bb7d456a6fbb1ebddbcc0bc847026294f74908b06460a358488abe9bf7372ff5076c48d06714813295cfbf6f4ad8
SHA512 (obs-browser-e397df52e70392ebb9146e0ab6317c0d1a30bce4.tar.gz) = a9b9406ff9371b40ef3257bf51cceac02ff6e0a38864c7b656d9b4c1072eb322cad385f25ee8cac179b401482c59c93bd35a4b8ff1274b449fec2393dd53473d
SHA512 (obs-studio-30.1.1.tar.gz) = 31aba14cf9db6b6c41d87ea0b814d38e1ba2794d07f1aff025c810e9dda32b0915d3f6d2679383755d0a4e47fc26c2aef981e26a80b792cf7fb893e672b6609a
SHA512 (obs-websocket-5.4.2.tar.gz) = 639cdc3a53e4b6296c91b0105a36f37fb372526bdc218a4cadf3c790542a77046734a1941014f029785ebb3e39872e0083ad4bead34d838938b14f66e74fa8ae
SHA512 (obs-browser-996b5a7bc43d912f1f4992e0032d4f263ac8b060.tar.gz) = f6f7dbeb1d28b6c47663f36cb119cbc90a18c46fc6e81ca6db87e901ae4cee1fafd4a4a8c3f8cae94619d2f8f92baf1c52ca5c7df182f3df7521397638b0660d