Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
Neal Gompa | 0a4faab0aa | |
Neal Gompa | 0163430c5b | |
Jan Grulich | aa1f473364 |
|
@ -1,7 +1,7 @@
|
|||
From 04d3a21c6e72cd5574f7333adf548012d912c1ee Mon Sep 17 00:00:00 2001
|
||||
From dfa857eceb0deaf1a273fbd3423364fd7268ea90 Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <neal@gompa.dev>
|
||||
Date: Sat, 7 Jan 2023 23:15:13 -0500
|
||||
Subject: [PATCH 1/3] UI: Consistently reference the software H264 encoder
|
||||
Subject: [PATCH 101/103] UI: Consistently reference the software H264 encoder
|
||||
properly
|
||||
|
||||
The code here assumes that the only software encoder is the x264-based
|
||||
|
@ -15,10 +15,10 @@ 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 4c03aa7db..e44d99660 100644
|
||||
index e62f38a26..339ac4d86 100644
|
||||
--- a/UI/data/locale/en-US.ini
|
||||
+++ b/UI/data/locale/en-US.ini
|
||||
@@ -980,7 +980,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
|
||||
@@ -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."
|
||||
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!"
|
||||
|
@ -27,7 +27,7 @@ index 4c03aa7db..e44d99660 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)"
|
||||
@@ -991,7 +991,7 @@ Basic.Settings.Output.Simple.Encoder.Hardware.NVENC.AV1="Hardware (NVENC, AV1)"
|
||||
@@ -1007,7 +1007,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)"
|
||||
|
@ -37,10 +37,10 @@ index 4c03aa7db..e44d99660 100644
|
|||
Basic.Settings.Output.Simple.Codec.AAC.Default="AAC (Default)"
|
||||
Basic.Settings.Output.Simple.Codec.Opus="Opus"
|
||||
diff --git a/UI/window-basic-auto-config-test.cpp b/UI/window-basic-auto-config-test.cpp
|
||||
index 2d89d7347..09979c031 100644
|
||||
index 7d7c4278e..a8b5d884a 100644
|
||||
--- a/UI/window-basic-auto-config-test.cpp
|
||||
+++ b/UI/window-basic-auto-config-test.cpp
|
||||
@@ -993,7 +993,7 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
|
||||
@@ -1010,7 +1010,7 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
|
||||
}
|
||||
|
||||
#define ENCODER_TEXT(x) "Basic.Settings.Output.Simple.Encoder." x
|
||||
|
@ -49,7 +49,7 @@ index 2d89d7347..09979c031 100644
|
|||
#define ENCODER_NVENC ENCODER_TEXT("Hardware.NVENC.H264")
|
||||
#define ENCODER_QSV ENCODER_TEXT("Hardware.QSV.H264")
|
||||
#define ENCODER_AMD ENCODER_TEXT("Hardware.AMD.H264")
|
||||
@@ -1033,7 +1033,7 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
@@ -1050,7 +1050,7 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
auto encName = [](AutoConfig::Encoder enc) -> QString {
|
||||
switch (enc) {
|
||||
case AutoConfig::Encoder::x264:
|
||||
|
@ -58,7 +58,7 @@ index 2d89d7347..09979c031 100644
|
|||
case AutoConfig::Encoder::NVENC:
|
||||
return QTStr(ENCODER_NVENC);
|
||||
case AutoConfig::Encoder::QSV:
|
||||
@@ -1046,7 +1046,7 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
@@ -1063,7 +1063,7 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
return QTStr(QUALITY_SAME);
|
||||
}
|
||||
|
||||
|
@ -68,23 +68,23 @@ index 2d89d7347..09979c031 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 f6e0817a0..b056938e7 100644
|
||||
index 2ad275a44..e2ba4b677 100644
|
||||
--- a/UI/window-basic-settings-stream.cpp
|
||||
+++ b/UI/window-basic-settings-stream.cpp
|
||||
@@ -1585,7 +1585,7 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
|
||||
@@ -1670,7 +1670,7 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
|
||||
|
||||
#define ENCODER_STR(str) QTStr("Basic.Settings.Output.Simple.Encoder." str)
|
||||
|
||||
- ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software"),
|
||||
+ ui->simpleOutStrEncoder->addItem(ENCODER_STR("Software.X264.H264"),
|
||||
QString(SIMPLE_ENCODER_X264));
|
||||
#ifdef _WIN32
|
||||
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 fb170bfc1..48bb4bac6 100644
|
||||
index b1e6bd6fb..ddf0adc56 100644
|
||||
--- a/UI/window-basic-settings.cpp
|
||||
+++ b/UI/window-basic-settings.cpp
|
||||
@@ -5286,10 +5286,11 @@ void OBSBasicSettings::FillSimpleRecordingValues()
|
||||
@@ -5237,10 +5237,11 @@ void OBSBasicSettings::FillSimpleRecordingValues()
|
||||
ADD_QUALITY("HQ");
|
||||
ADD_QUALITY("Lossless");
|
||||
|
||||
|
@ -100,5 +100,5 @@ index fb170bfc1..48bb4bac6 100644
|
|||
ui->simpleOutRecEncoder->addItem(
|
||||
ENCODER_STR("Hardware.QSV.H264"),
|
||||
--
|
||||
2.39.2
|
||||
2.41.0
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
From 4517d8d8bb4c43af1f5b757773a5f9550bd23d37 Mon Sep 17 00:00:00 2001
|
||||
From 939db8edca8161f4518900e750551814c2c6088e Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <neal@gompa.dev>
|
||||
Date: Sun, 26 Mar 2023 06:06:31 -0400
|
||||
Subject: [PATCH 2/3] obs-ffmpeg: Add initial support for the OpenH264 H.264
|
||||
software codec
|
||||
Subject: [PATCH 102/103] obs-ffmpeg: Add initial support for the OpenH264
|
||||
H.264 software codec
|
||||
|
||||
This allows users to leverage the OpenH264 codec from Cisco to encode
|
||||
H.264 video content. It is significantly reduced in capability from
|
||||
|
@ -20,19 +20,19 @@ 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 3eba00932..f97622c22 100644
|
||||
index 04530ef39..b77f6366f 100644
|
||||
--- a/plugins/obs-ffmpeg/CMakeLists.txt
|
||||
+++ b/plugins/obs-ffmpeg/CMakeLists.txt
|
||||
@@ -34,6 +34,7 @@ target_sources(
|
||||
obs-ffmpeg-video-encoders.c
|
||||
obs-ffmpeg-audio-encoders.c
|
||||
@@ -36,6 +36,7 @@ target_sources(
|
||||
obs-ffmpeg-av1.c
|
||||
obs-ffmpeg-compat.h
|
||||
obs-ffmpeg-formats.h
|
||||
+ obs-ffmpeg-h264.c
|
||||
obs-ffmpeg-nvenc.c
|
||||
obs-ffmpeg-output.c
|
||||
obs-ffmpeg-hls-mux.c
|
||||
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 5540676ea..62f2cc7a1 100644
|
||||
index 4cc75b341..d2e11965d 100644
|
||||
--- a/plugins/obs-ffmpeg/cmake/legacy.cmake
|
||||
+++ b/plugins/obs-ffmpeg/cmake/legacy.cmake
|
||||
@@ -40,6 +40,7 @@ target_sources(
|
||||
|
@ -44,10 +44,10 @@ index 5540676ea..62f2cc7a1 100644
|
|||
obs-ffmpeg-output.c
|
||||
obs-ffmpeg-mux.c
|
||||
diff --git a/plugins/obs-ffmpeg/data/locale/en-US.ini b/plugins/obs-ffmpeg/data/locale/en-US.ini
|
||||
index 55bbe919d..0363ed82b 100644
|
||||
index 9652be160..e18e39f5a 100644
|
||||
--- a/plugins/obs-ffmpeg/data/locale/en-US.ini
|
||||
+++ b/plugins/obs-ffmpeg/data/locale/en-US.ini
|
||||
@@ -109,4 +109,7 @@ NVENC.CheckDrivers="Try installing the latest <a href=\"https://obsproject.com/g
|
||||
@@ -120,4 +120,7 @@ NVENC.CheckDrivers="Try installing the latest <a href=\"https://obsproject.com/g
|
||||
|
||||
AV1.8bitUnsupportedHdr="OBS does not support 8-bit output of Rec. 2100."
|
||||
|
||||
|
@ -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 da0b2c2b4..a01a729c8 100644
|
||||
index 7eb9a876d..fcce8ec3b 100644
|
||||
--- a/plugins/obs-ffmpeg/obs-ffmpeg.c
|
||||
+++ b/plugins/obs-ffmpeg/obs-ffmpeg.c
|
||||
@@ -39,6 +39,7 @@ extern struct obs_encoder_info pcm24_encoder_info;
|
||||
@@ -38,6 +38,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 da0b2c2b4..a01a729c8 100644
|
|||
extern struct obs_encoder_info h264_nvenc_encoder_info;
|
||||
#ifdef ENABLE_HEVC
|
||||
extern struct obs_encoder_info hevc_nvenc_encoder_info;
|
||||
@@ -387,6 +388,7 @@ bool obs_module_load(void)
|
||||
@@ -382,6 +383,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 da0b2c2b4..a01a729c8 100644
|
|||
register_encoder_if_available(&aom_av1_encoder_info, "libaom-av1");
|
||||
obs_register_encoder(&opus_encoder_info);
|
||||
--
|
||||
2.39.2
|
||||
2.41.0
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
From 30f84455969071ff9aa826a44438a0402dd15123 Mon Sep 17 00:00:00 2001
|
||||
From f26c32b97117273550b9dddea01b5b92684c6886 Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <neal@gompa.dev>
|
||||
Date: Tue, 28 Mar 2023 05:08:49 -0400
|
||||
Subject: [PATCH 3/3] UI: Add support for OpenH264 as the worst-case fallback
|
||||
Subject: [PATCH 103/103] UI: Add support for OpenH264 as the worst-case
|
||||
fallback
|
||||
|
||||
OpenH264 exists as the codec of last resort, so it is implemented
|
||||
such that it is only used as the software codec if x264 is not
|
||||
|
@ -20,10 +21,10 @@ 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 e44d99660..a5ba5d661 100644
|
||||
index 339ac4d86..ff8c649da 100644
|
||||
--- a/UI/data/locale/en-US.ini
|
||||
+++ b/UI/data/locale/en-US.ini
|
||||
@@ -980,6 +980,7 @@ Basic.Settings.Output.Simple.Warn.Encoder="Warning: Recording with a software en
|
||||
@@ -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."
|
||||
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!"
|
||||
|
@ -32,7 +33,7 @@ index e44d99660..a5ba5d661 100644
|
|||
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.H264="Hardware (QSV, H.264)"
|
||||
Basic.Settings.Output.Simple.Encoder.Hardware.QSV.AV1="Hardware (QSV, AV1)"
|
||||
diff --git a/UI/window-basic-auto-config-test.cpp b/UI/window-basic-auto-config-test.cpp
|
||||
index 09979c031..c791c8b8b 100644
|
||||
index a8b5d884a..e68a33bb5 100644
|
||||
--- a/UI/window-basic-auto-config-test.cpp
|
||||
+++ b/UI/window-basic-auto-config-test.cpp
|
||||
@@ -199,7 +199,8 @@ void AutoConfigTestPage::TestBandwidthThread()
|
||||
|
@ -61,7 +62,7 @@ index 09979c031..c791c8b8b 100644
|
|||
obs_data_set_int(aencoder_settings, "bitrate", 32);
|
||||
|
||||
OBSBasic *main = reinterpret_cast<OBSBasic *>(App()->GetMainWindow());
|
||||
@@ -567,7 +569,8 @@ bool AutoConfigTestPage::TestSoftwareEncoding()
|
||||
@@ -574,7 +576,8 @@ bool AutoConfigTestPage::TestSoftwareEncoding()
|
||||
/* create obs objects */
|
||||
|
||||
OBSEncoderAutoRelease vencoder = obs_video_encoder_create(
|
||||
|
@ -71,7 +72,7 @@ index 09979c031..c791c8b8b 100644
|
|||
OBSEncoderAutoRelease aencoder = obs_audio_encoder_create(
|
||||
"ffmpeg_aac", "test_aac", nullptr, 0, nullptr);
|
||||
OBSOutputAutoRelease output =
|
||||
@@ -581,17 +584,25 @@ bool AutoConfigTestPage::TestSoftwareEncoding()
|
||||
@@ -588,17 +591,25 @@ bool AutoConfigTestPage::TestSoftwareEncoding()
|
||||
obs_data_set_int(aencoder_settings, "bitrate", 32);
|
||||
|
||||
if (wiz->type != AutoConfig::Type::Recording) {
|
||||
|
@ -103,7 +104,7 @@ index 09979c031..c791c8b8b 100644
|
|||
}
|
||||
|
||||
/* -----------------------------------*/
|
||||
@@ -944,7 +955,10 @@ void AutoConfigTestPage::TestStreamEncoderThread()
|
||||
@@ -951,7 +962,10 @@ void AutoConfigTestPage::TestStreamEncoderThread()
|
||||
else
|
||||
wiz->streamingEncoder = AutoConfig::Encoder::AMD;
|
||||
} else {
|
||||
|
@ -114,8 +115,8 @@ index 09979c031..c791c8b8b 100644
|
|||
+ wiz->streamingEncoder = AutoConfig::Encoder::OpenH264;
|
||||
}
|
||||
|
||||
if (preferHardware && !softwareTested && wiz->hardwareEncodingAvailable)
|
||||
@@ -979,7 +993,10 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
|
||||
#ifdef __linux__
|
||||
@@ -996,7 +1010,10 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
|
||||
else
|
||||
wiz->recordingEncoder = AutoConfig::Encoder::AMD;
|
||||
} else {
|
||||
|
@ -127,7 +128,7 @@ index 09979c031..c791c8b8b 100644
|
|||
}
|
||||
|
||||
if (wiz->recordingEncoder != AutoConfig::Encoder::NVENC) {
|
||||
@@ -993,6 +1010,7 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
|
||||
@@ -1010,6 +1027,7 @@ void AutoConfigTestPage::TestRecordingEncoderThread()
|
||||
}
|
||||
|
||||
#define ENCODER_TEXT(x) "Basic.Settings.Output.Simple.Encoder." x
|
||||
|
@ -135,7 +136,7 @@ index 09979c031..c791c8b8b 100644
|
|||
#define ENCODER_X264 ENCODER_TEXT("Software.X264.H264")
|
||||
#define ENCODER_NVENC ENCODER_TEXT("Hardware.NVENC.H264")
|
||||
#define ENCODER_QSV ENCODER_TEXT("Hardware.QSV.H264")
|
||||
@@ -1032,6 +1050,8 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
@@ -1049,6 +1067,8 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
|
||||
auto encName = [](AutoConfig::Encoder enc) -> QString {
|
||||
switch (enc) {
|
||||
|
@ -144,7 +145,7 @@ index 09979c031..c791c8b8b 100644
|
|||
case AutoConfig::Encoder::x264:
|
||||
return QTStr(ENCODER_X264);
|
||||
case AutoConfig::Encoder::NVENC:
|
||||
@@ -1046,7 +1066,7 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
@@ -1063,7 +1083,7 @@ void AutoConfigTestPage::FinalizeResults()
|
||||
return QTStr(QUALITY_SAME);
|
||||
}
|
||||
|
||||
|
@ -154,10 +155,10 @@ index 09979c031..c791c8b8b 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 3e9c36685..eace18067 100644
|
||||
index d8ddbfa44..4707a5644 100644
|
||||
--- a/UI/window-basic-auto-config.cpp
|
||||
+++ b/UI/window-basic-auto-config.cpp
|
||||
@@ -961,6 +961,7 @@ AutoConfig::AutoConfig(QWidget *parent) : QWizard(parent)
|
||||
@@ -979,6 +979,7 @@ AutoConfig::AutoConfig(QWidget *parent) : QWizard(parent)
|
||||
streamPage->ui->bitrate->setValue(bitrate);
|
||||
streamPage->ServiceChanged();
|
||||
|
||||
|
@ -165,7 +166,7 @@ index 3e9c36685..eace18067 100644
|
|||
TestHardwareEncoding();
|
||||
if (!hardwareEncodingAvailable) {
|
||||
delete streamPage->ui->preferHardware;
|
||||
@@ -989,6 +990,16 @@ AutoConfig::~AutoConfig()
|
||||
@@ -1007,6 +1008,16 @@ AutoConfig::~AutoConfig()
|
||||
EnableThreadedMessageBoxes(false);
|
||||
}
|
||||
|
||||
|
@ -182,7 +183,7 @@ index 3e9c36685..eace18067 100644
|
|||
void AutoConfig::TestHardwareEncoding()
|
||||
{
|
||||
size_t idx = 0;
|
||||
@@ -1061,8 +1072,10 @@ inline const char *AutoConfig::GetEncoderId(Encoder enc)
|
||||
@@ -1086,8 +1097,10 @@ inline const char *AutoConfig::GetEncoderId(Encoder enc)
|
||||
return SIMPLE_ENCODER_AMD;
|
||||
case Encoder::Apple:
|
||||
return SIMPLE_ENCODER_APPLE_H264;
|
||||
|
@ -195,7 +196,7 @@ index 3e9c36685..eace18067 100644
|
|||
};
|
||||
|
||||
diff --git a/UI/window-basic-auto-config.hpp b/UI/window-basic-auto-config.hpp
|
||||
index eb50701ff..e581791dd 100644
|
||||
index 5d966c795..c17e32a85 100644
|
||||
--- a/UI/window-basic-auto-config.hpp
|
||||
+++ b/UI/window-basic-auto-config.hpp
|
||||
@@ -43,6 +43,7 @@ class AutoConfig : public QWizard {
|
||||
|
@ -223,10 +224,10 @@ index eb50701ff..e581791dd 100644
|
|||
bool CanTestServer(const char *server);
|
||||
|
||||
diff --git a/UI/window-basic-main-outputs.cpp b/UI/window-basic-main-outputs.cpp
|
||||
index 737ab966d..a4df630c4 100644
|
||||
index a283d0fcc..4b3f25371 100644
|
||||
--- a/UI/window-basic-main-outputs.cpp
|
||||
+++ b/UI/window-basic-main-outputs.cpp
|
||||
@@ -515,7 +515,9 @@ void SimpleOutput::LoadStreamingPreset_Lossy(const char *encoderId)
|
||||
@@ -547,7 +547,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)
|
||||
{
|
||||
|
@ -237,7 +238,7 @@ index 737ab966d..a4df630c4 100644
|
|||
return "obs_x264";
|
||||
} else if (strcmp(encoder, SIMPLE_ENCODER_X264_LOWCPU) == 0) {
|
||||
return "obs_x264";
|
||||
@@ -549,7 +551,7 @@ const char *get_simple_output_encoder(const char *encoder)
|
||||
@@ -581,7 +583,7 @@ const char *get_simple_output_encoder(const char *encoder)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -247,19 +248,19 @@ index 737ab966d..a4df630c4 100644
|
|||
|
||||
void SimpleOutput::LoadRecordingPreset()
|
||||
diff --git a/UI/window-basic-main-profiles.cpp b/UI/window-basic-main-profiles.cpp
|
||||
index 4941359ea..1f3ffdc1d 100644
|
||||
index f9d3f4ea1..27899efc4 100644
|
||||
--- a/UI/window-basic-main-profiles.cpp
|
||||
+++ b/UI/window-basic-main-profiles.cpp
|
||||
@@ -794,7 +794,7 @@ void OBSBasic::ChangeProfile()
|
||||
|
||||
Auth::Load();
|
||||
@@ -806,7 +806,7 @@ void OBSBasic::ChangeProfile()
|
||||
NewYouTubeAppDock();
|
||||
#endif
|
||||
|
||||
- CheckForSimpleModeX264Fallback();
|
||||
+ CheckForSimpleModeH264Fallback();
|
||||
|
||||
blog(LOG_INFO, "Switched to profile '%s' (%s)", newName, newDir);
|
||||
blog(LOG_INFO, "------------------------------------------------");
|
||||
@@ -815,12 +815,13 @@ void OBSBasic::ChangeProfile()
|
||||
@@ -827,12 +827,13 @@ void OBSBasic::ChangeProfile()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -274,18 +275,18 @@ index 4941359ea..1f3ffdc1d 100644
|
|||
bool qsv_supported = false;
|
||||
bool qsv_av1_supported = false;
|
||||
bool amd_supported = false;
|
||||
@@ -837,7 +838,9 @@ void OBSBasic::CheckForSimpleModeX264Fallback()
|
||||
@@ -849,7 +850,9 @@ void OBSBasic::CheckForSimpleModeX264Fallback()
|
||||
const char *id;
|
||||
|
||||
while (obs_enum_encoder_types(idx++, &id)) {
|
||||
- if (strcmp(id, "amd_amf_h264") == 0)
|
||||
- if (strcmp(id, "h264_texture_amf") == 0)
|
||||
+ if (strcmp(id, "obs_x264") == 0)
|
||||
+ x264_supported = true;
|
||||
+ else if (strcmp(id, "amd_amf_h264") == 0)
|
||||
+ else if (strcmp(id, "h264_texture_amf") == 0)
|
||||
amd_supported = true;
|
||||
else if (strcmp(id, "obs_qsv11") == 0)
|
||||
qsv_supported = true;
|
||||
@@ -865,68 +868,73 @@ void OBSBasic::CheckForSimpleModeX264Fallback()
|
||||
@@ -877,68 +880,73 @@ void OBSBasic::CheckForSimpleModeX264Fallback()
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -370,10 +371,10 @@ index 4941359ea..1f3ffdc1d 100644
|
|||
}
|
||||
#endif
|
||||
diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
|
||||
index 6d9375eb4..c6aae8c7b 100644
|
||||
index 943e8cac1..09251de75 100644
|
||||
--- a/UI/window-basic-main.cpp
|
||||
+++ b/UI/window-basic-main.cpp
|
||||
@@ -1379,6 +1379,8 @@ extern void CheckExistingCookieId();
|
||||
@@ -1449,6 +1449,8 @@ extern void CheckExistingCookieId();
|
||||
#define DEFAULT_CONTAINER "fragmented_mp4"
|
||||
#endif
|
||||
|
||||
|
@ -382,7 +383,7 @@ index 6d9375eb4..c6aae8c7b 100644
|
|||
bool OBSBasic::InitBasicConfigDefaults()
|
||||
{
|
||||
QList<QScreen *> screens = QGuiApplication::screens();
|
||||
@@ -1549,7 +1551,10 @@ bool OBSBasic::InitBasicConfigDefaults()
|
||||
@@ -1619,7 +1621,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);
|
||||
|
@ -394,7 +395,7 @@ index 6d9375eb4..c6aae8c7b 100644
|
|||
|
||||
config_set_default_string(basicConfig, "AdvOut", "RecType", "Standard");
|
||||
|
||||
@@ -1672,7 +1677,6 @@ bool OBSBasic::InitBasicConfigDefaults()
|
||||
@@ -1744,7 +1749,6 @@ bool OBSBasic::InitBasicConfigDefaults()
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -402,7 +403,7 @@ index 6d9375eb4..c6aae8c7b 100644
|
|||
extern bool update_nvenc_presets(ConfigFile &config);
|
||||
|
||||
void OBSBasic::InitBasicConfigDefaults2()
|
||||
@@ -1681,12 +1685,14 @@ void OBSBasic::InitBasicConfigDefaults2()
|
||||
@@ -1753,12 +1757,14 @@ void OBSBasic::InitBasicConfigDefaults2()
|
||||
"Pre23Defaults");
|
||||
bool useNV = EncoderAvailable("ffmpeg_nvenc") && !oldEncDefaults;
|
||||
|
||||
|
@ -421,7 +422,7 @@ index 6d9375eb4..c6aae8c7b 100644
|
|||
|
||||
const char *aac_default = "ffmpeg_aac";
|
||||
if (EncoderAvailable("CoreAudio_AAC"))
|
||||
@@ -1967,7 +1973,7 @@ void OBSBasic::OBSInit()
|
||||
@@ -2040,7 +2046,7 @@ void OBSBasic::OBSInit()
|
||||
|
||||
InitBasicConfigDefaults2();
|
||||
|
||||
|
@ -431,10 +432,10 @@ index 6d9375eb4..c6aae8c7b 100644
|
|||
blog(LOG_INFO, STARTUP_SEPARATOR);
|
||||
|
||||
diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp
|
||||
index cbce69832..74c6eb144 100644
|
||||
index b1eb39592..7d9e8d286 100644
|
||||
--- a/UI/window-basic-main.hpp
|
||||
+++ b/UI/window-basic-main.hpp
|
||||
@@ -66,6 +66,7 @@ class OBSBasicVCamConfig;
|
||||
@@ -69,6 +69,7 @@ class OBSBasicVCamConfig;
|
||||
|
||||
#define SIMPLE_ENCODER_X264 "x264"
|
||||
#define SIMPLE_ENCODER_X264_LOWCPU "x264_lowcpu"
|
||||
|
@ -442,7 +443,7 @@ index cbce69832..74c6eb144 100644
|
|||
#define SIMPLE_ENCODER_QSV "qsv"
|
||||
#define SIMPLE_ENCODER_QSV_AV1 "qsv_av1"
|
||||
#define SIMPLE_ENCODER_NVENC "nvenc"
|
||||
@@ -434,7 +435,7 @@ private:
|
||||
@@ -446,7 +447,7 @@ private:
|
||||
void DeleteProfile(const char *profile_name, const char *profile_dir);
|
||||
void RefreshProfiles();
|
||||
void ChangeProfile();
|
||||
|
@ -452,10 +453,10 @@ index cbce69832..74c6eb144 100644
|
|||
void SaveProjectNow();
|
||||
|
||||
diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp
|
||||
index b056938e7..548e5f45f 100644
|
||||
index e2ba4b677..a08c697d4 100644
|
||||
--- a/UI/window-basic-settings-stream.cpp
|
||||
+++ b/UI/window-basic-settings-stream.cpp
|
||||
@@ -1362,7 +1362,9 @@ static QString get_adv_fallback(const QString &enc)
|
||||
@@ -1437,7 +1437,9 @@ static QString get_adv_fallback(const QString &enc)
|
||||
return "com.apple.videotoolbox.videoencoder.ave.avc";
|
||||
if (enc == "obs_qsv11_av1")
|
||||
return "obs_qsv11";
|
||||
|
@ -466,7 +467,7 @@ index b056938e7..548e5f45f 100644
|
|||
}
|
||||
|
||||
static QString get_adv_audio_fallback(const QString &enc)
|
||||
@@ -1391,7 +1393,9 @@ static QString get_simple_fallback(const QString &enc)
|
||||
@@ -1466,7 +1468,9 @@ static QString get_simple_fallback(const QString &enc)
|
||||
return SIMPLE_ENCODER_APPLE_H264;
|
||||
if (enc == SIMPLE_ENCODER_QSV_AV1)
|
||||
return SIMPLE_ENCODER_QSV;
|
||||
|
@ -477,7 +478,7 @@ index b056938e7..548e5f45f 100644
|
|||
}
|
||||
|
||||
bool OBSBasicSettings::ServiceSupportsCodecCheck()
|
||||
@@ -1585,8 +1589,12 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
|
||||
@@ -1670,8 +1674,12 @@ void OBSBasicSettings::ResetEncoders(bool streamOnly)
|
||||
|
||||
#define ENCODER_STR(str) QTStr("Basic.Settings.Output.Simple.Encoder." str)
|
||||
|
||||
|
@ -489,14 +490,14 @@ index b056938e7..548e5f45f 100644
|
|||
+ ui->simpleOutStrEncoder->addItem(
|
||||
+ ENCODER_STR("Software.X264.H264"),
|
||||
+ QString(SIMPLE_ENCODER_X264));
|
||||
#ifdef _WIN32
|
||||
if (service_supports_encoder(vcodecs, "obs_qsv11"))
|
||||
ui->simpleOutStrEncoder->addItem(
|
||||
ENCODER_STR("Hardware.QSV.H264"),
|
||||
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
|
||||
index 48bb4bac6..51fe280db 100644
|
||||
index ddf0adc56..9b7324ab9 100644
|
||||
--- a/UI/window-basic-settings.cpp
|
||||
+++ b/UI/window-basic-settings.cpp
|
||||
@@ -3831,6 +3831,11 @@ void OBSBasicSettings::SaveOutputSettings()
|
||||
@@ -3779,6 +3779,11 @@ void OBSBasicSettings::SaveOutputSettings()
|
||||
do. This only exists to make sure that the x264 preset doesn't
|
||||
get overwritten with empty data. */
|
||||
presetType = "ApplePreset";
|
||||
|
@ -508,7 +509,7 @@ index 48bb4bac6..51fe280db 100644
|
|||
else
|
||||
presetType = "Preset";
|
||||
|
||||
@@ -5286,11 +5291,16 @@ void OBSBasicSettings::FillSimpleRecordingValues()
|
||||
@@ -5237,11 +5242,16 @@ void OBSBasicSettings::FillSimpleRecordingValues()
|
||||
ADD_QUALITY("HQ");
|
||||
ADD_QUALITY("Lossless");
|
||||
|
||||
|
@ -530,7 +531,7 @@ index 48bb4bac6..51fe280db 100644
|
|||
if (EncoderAvailable("obs_qsv11"))
|
||||
ui->simpleOutRecEncoder->addItem(
|
||||
ENCODER_STR("Hardware.QSV.H264"),
|
||||
@@ -5463,6 +5473,9 @@ void OBSBasicSettings::SimpleStreamingEncoderChanged()
|
||||
@@ -5414,6 +5424,9 @@ void OBSBasicSettings::SimpleStreamingEncoderChanged()
|
||||
|
||||
defaultPreset = "balanced";
|
||||
preset = curAMDAV1Preset;
|
||||
|
@ -541,5 +542,5 @@ index 48bb4bac6..51fe280db 100644
|
|||
|
||||
#define PRESET_STR(val) \
|
||||
--
|
||||
2.39.2
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,423 @@
|
|||
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
|
||||
|
|
@ -1,218 +0,0 @@
|
|||
From b6be0b4bf5b0b2f26c8143641881cde23ac8ba9c Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <neal@gompa.dev>
|
||||
Date: Wed, 26 Apr 2023 07:56:35 -0400
|
||||
Subject: [PATCH 1/2] deps: Add license declaration files
|
||||
|
||||
---
|
||||
deps/blake2/LICENSE.blake2 | 19 ++++++++++
|
||||
deps/libff/LICENSE.libff | 18 ++++++++++
|
||||
deps/media-playback/LICENSE.media-playback | 19 ++++++++++
|
||||
libobs/graphics/libnsgif/LICENSE.libnsgif | 33 ++++++++++++++++++
|
||||
libobs/util/simde/LICENSE.simde | 40 ++++++++++++++++++++++
|
||||
plugins/decklink/LICENSE.decklink-sdk | 30 ++++++++++++++++
|
||||
6 files changed, 159 insertions(+)
|
||||
create mode 100644 deps/blake2/LICENSE.blake2
|
||||
create mode 100644 deps/libff/LICENSE.libff
|
||||
create mode 100644 deps/media-playback/LICENSE.media-playback
|
||||
create mode 100644 libobs/graphics/libnsgif/LICENSE.libnsgif
|
||||
create mode 100644 libobs/util/simde/LICENSE.simde
|
||||
create mode 100644 plugins/decklink/LICENSE.decklink-sdk
|
||||
|
||||
diff --git a/deps/blake2/LICENSE.blake2 b/deps/blake2/LICENSE.blake2
|
||||
new file mode 100644
|
||||
index 000000000..3a8abc787
|
||||
--- /dev/null
|
||||
+++ b/deps/blake2/LICENSE.blake2
|
||||
@@ -0,0 +1,19 @@
|
||||
+BLAKE2 is licensed to permit usage under the terms of the CC0, the OpenSSL License,
|
||||
+ or the Apache Public License 2.0 at the user's option.
|
||||
+
|
||||
+The license grant is reproduced in full below.
|
||||
+
|
||||
+/*
|
||||
+ BLAKE2 reference source code package - reference C implementations
|
||||
+
|
||||
+ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the
|
||||
+ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
|
||||
+ your option. The terms of these licenses can be found at:
|
||||
+
|
||||
+ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
|
||||
+ - OpenSSL license : https://www.openssl.org/source/license.html
|
||||
+ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
|
||||
+
|
||||
+ More information about the BLAKE2 hash function can be found at
|
||||
+ https://blake2.net.
|
||||
+*/
|
||||
diff --git a/deps/libff/LICENSE.libff b/deps/libff/LICENSE.libff
|
||||
new file mode 100644
|
||||
index 000000000..b6f51157a
|
||||
--- /dev/null
|
||||
+++ b/deps/libff/LICENSE.libff
|
||||
@@ -0,0 +1,18 @@
|
||||
+libff is licensed under the ISC license. The license terms are fully
|
||||
+reproduced below:
|
||||
+
|
||||
+/*
|
||||
+ * Copyright (c) 2015 John R. Bradley <jrb@turrettech.com>
|
||||
+ *
|
||||
+ * Permission to use, copy, modify, and distribute this software for any
|
||||
+ * purpose with or without fee is hereby granted, provided that the above
|
||||
+ * copyright notice and this permission notice appear in all copies.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
+ */
|
||||
diff --git a/deps/media-playback/LICENSE.media-playback b/deps/media-playback/LICENSE.media-playback
|
||||
new file mode 100644
|
||||
index 000000000..17d74f4b3
|
||||
--- /dev/null
|
||||
+++ b/deps/media-playback/LICENSE.media-playback
|
||||
@@ -0,0 +1,19 @@
|
||||
+media-playback is licensed under the ISC license. The license terms are fully
|
||||
+reproduced below:
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ * Copyright (c) 2023 Hugh Bailey <obs.jim@gmail.com>
|
||||
+ *
|
||||
+ * Permission to use, copy, modify, and distribute this software for any
|
||||
+ * purpose with or without fee is hereby granted, provided that the above
|
||||
+ * copyright notice and this permission notice appear in all copies.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
+ */
|
||||
diff --git a/libobs/graphics/libnsgif/LICENSE.libnsgif b/libobs/graphics/libnsgif/LICENSE.libnsgif
|
||||
new file mode 100644
|
||||
index 000000000..9b28c0b45
|
||||
--- /dev/null
|
||||
+++ b/libobs/graphics/libnsgif/LICENSE.libnsgif
|
||||
@@ -0,0 +1,33 @@
|
||||
+libnsgif is licensed under the MIT license. The licensing statement
|
||||
+and the full license are reproduced below.
|
||||
+
|
||||
+/*
|
||||
+ * Copyright 2003 James Bursa <bursa@users.sourceforge.net>
|
||||
+ * Copyright 2004 John Tytgat <John.Tytgat@aaug.net>
|
||||
+ * Copyright 2004 Richard Wilson <richard.wilson@netsurf-browser.org>
|
||||
+ * Copyright 2008 Sean Fox <dyntryx@gmail.com>
|
||||
+ *
|
||||
+ * This file is part of NetSurf's libnsgif, http://www.netsurf-browser.org/
|
||||
+ * Licenced under the MIT License,
|
||||
+ * http://www.opensource.org/licenses/mit-license.php
|
||||
+ */
|
||||
+
|
||||
+The MIT License
|
||||
+
|
||||
+Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
+of this software and associated documentation files (the "Software"), to deal
|
||||
+in the Software without restriction, including without limitation the rights
|
||||
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
+copies of the Software, and to permit persons to whom the Software is
|
||||
+furnished to do so, subject to the following conditions:
|
||||
+
|
||||
+The above copyright notice and this permission notice shall be included in
|
||||
+all copies or substantial portions of the Software.
|
||||
+
|
||||
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
+THE SOFTWARE.
|
||||
diff --git a/libobs/util/simde/LICENSE.simde b/libobs/util/simde/LICENSE.simde
|
||||
new file mode 100644
|
||||
index 000000000..78d482e75
|
||||
--- /dev/null
|
||||
+++ b/libobs/util/simde/LICENSE.simde
|
||||
@@ -0,0 +1,40 @@
|
||||
+simde is licensed as a combination of MIT and CC0 code.
|
||||
+
|
||||
+License notices for both are reproduced below:
|
||||
+
|
||||
+/* SPDX-License-Identifier: MIT
|
||||
+ *
|
||||
+ * Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use, copy,
|
||||
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
+ * of the Software, and to permit persons to whom the Software is
|
||||
+ * furnished to do so, subject to the following conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
+ * SOFTWARE.
|
||||
+ *
|
||||
+ * Copyright:
|
||||
+ * 2017-2020 Evan Nemerson <evan@nemerson.com>
|
||||
+ */
|
||||
+
|
||||
+/* Portable Snippets - https://gitub.com/nemequ/portable-snippets
|
||||
+ * Created by Evan Nemerson <evan@nemerson.com>
|
||||
+ *
|
||||
+ * To the extent possible under law, the authors have waived all
|
||||
+ * copyright and related or neighboring rights to this code. For
|
||||
+ * details, see the Creative Commons Zero 1.0 Universal license at
|
||||
+ * https://creativecommons.org/publicdomain/zero/1.0/
|
||||
+ *
|
||||
+ * SPDX-License-Identifier: CC0-1.0
|
||||
+ */
|
||||
diff --git a/plugins/decklink/LICENSE.decklink-sdk b/plugins/decklink/LICENSE.decklink-sdk
|
||||
new file mode 100644
|
||||
index 000000000..d320d805b
|
||||
--- /dev/null
|
||||
+++ b/plugins/decklink/LICENSE.decklink-sdk
|
||||
@@ -0,0 +1,30 @@
|
||||
+decklink-sdk is licensed under to Boost Software License 1.0 (BSL-1.0).
|
||||
+
|
||||
+The license text is reproduced in full below:
|
||||
+
|
||||
+/* -LICENSE-START-
|
||||
+** Copyright (c) 2020 Blackmagic Design
|
||||
+**
|
||||
+** Permission is hereby granted, free of charge, to any person or organization
|
||||
+** obtaining a copy of the software and accompanying documentation covered by
|
||||
+** this license (the "Software") to use, reproduce, display, distribute,
|
||||
+** execute, and transmit the Software, and to prepare derivative works of the
|
||||
+** Software, and to permit third-parties to whom the Software is furnished to
|
||||
+** do so, all subject to the following:
|
||||
+**
|
||||
+** The copyright notices in the Software and this entire statement, including
|
||||
+** the above license grant, this restriction and the following disclaimer,
|
||||
+** must be included in all copies of the Software, in whole or in part, and
|
||||
+** all derivative works of the Software, unless such copies or derivative
|
||||
+** works are solely in the form of machine-executable object code generated by
|
||||
+** a source language processor.
|
||||
+**
|
||||
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
+** DEALINGS IN THE SOFTWARE.
|
||||
+** -LICENSE-END-
|
||||
+*/
|
||||
--
|
||||
2.40.0
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
From fbfa25ade86c26088333b3c5e6c39d4a61fc748f Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <neal@gompa.dev>
|
||||
Date: Wed, 26 Apr 2023 07:56:42 -0400
|
||||
Subject: [PATCH 2/2] obs-qsv11: Add license declaration file
|
||||
|
||||
---
|
||||
plugins/obs-qsv11/obs-qsv11-LICENSE.txt | 60 +++++++++++++++++++++++++
|
||||
1 file changed, 60 insertions(+)
|
||||
create mode 100644 plugins/obs-qsv11/obs-qsv11-LICENSE.txt
|
||||
|
||||
diff --git a/plugins/obs-qsv11/obs-qsv11-LICENSE.txt b/plugins/obs-qsv11/obs-qsv11-LICENSE.txt
|
||||
new file mode 100644
|
||||
index 000000000..2e4f30941
|
||||
--- /dev/null
|
||||
+++ b/plugins/obs-qsv11/obs-qsv11-LICENSE.txt
|
||||
@@ -0,0 +1,60 @@
|
||||
+The OBS QSV plugin is licensed under either the BSD-3-Clause or GPL-2.0-only licenses.
|
||||
+
|
||||
+The license declaration is reproduced below:
|
||||
+
|
||||
+/*
|
||||
+
|
||||
+This is provided under a dual BSD/GPLv2 license. When using or
|
||||
+redistributing this, you may do so under either license.
|
||||
+
|
||||
+GPL LICENSE SUMMARY
|
||||
+
|
||||
+Copyright(c) Oct. 2015 Intel Corporation.
|
||||
+
|
||||
+This program is free software; you can redistribute it and/or modify
|
||||
+it under the terms of version 2 of the GNU General Public License as
|
||||
+published by the Free Software Foundation.
|
||||
+
|
||||
+This program is distributed in the hope that it will be useful, but
|
||||
+WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+General Public License for more details.
|
||||
+
|
||||
+Contact Information:
|
||||
+
|
||||
+Seung-Woo Kim, seung-woo.kim@intel.com
|
||||
+705 5th Ave S #500, Seattle, WA 98104
|
||||
+
|
||||
+BSD LICENSE
|
||||
+
|
||||
+Copyright(c) <date> Intel Corporation.
|
||||
+
|
||||
+Redistribution and use in source and binary forms, with or without
|
||||
+modification, are permitted provided that the following conditions
|
||||
+are met:
|
||||
+
|
||||
+* Redistributions of source code must retain the above copyright
|
||||
+notice, this list of conditions and the following disclaimer.
|
||||
+
|
||||
+* Redistributions in binary form must reproduce the above copyright
|
||||
+notice, this list of conditions and the following disclaimer in
|
||||
+the documentation and/or other materials provided with the
|
||||
+distribution.
|
||||
+
|
||||
+* Neither the name of Intel Corporation nor the names of its
|
||||
+contributors may be used to endorse or promote products derived
|
||||
+from this software without specific prior written permission.
|
||||
+
|
||||
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+*/
|
||||
+
|
||||
--
|
||||
2.40.0
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
From 1e2fc3ade587a7a7c24e4238996ca382c4c0f719 Mon Sep 17 00:00:00 2001
|
||||
From: Neal Gompa <ngompa@fedoraproject.org>
|
||||
Date: Tue, 27 Dec 2022 09:15:08 -0500
|
||||
Subject: [PATCH] CMake: Use the system version of QRCodeGenCPP dependency
|
||||
|
||||
---
|
||||
CMakeLists.txt | 9 +++++++--
|
||||
cmake/legacy.cmake | 12 ++++++++----
|
||||
src/forms/ConnectInfo.cpp | 2 +-
|
||||
3 files changed, 16 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/plugins/obs-websocket/CMakeLists.txt b/plugins/obs-websocket/CMakeLists.txt
|
||||
index 871f92b..288cc87 100644
|
||||
--- a/plugins/obs-websocket/CMakeLists.txt
|
||||
+++ b/plugins/obs-websocket/CMakeLists.txt
|
||||
@@ -13,7 +13,7 @@ endif()
|
||||
|
||||
# Submodule deps check
|
||||
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/deps/qr/cpp/QrCode.hpp")
|
||||
- message(FATAL_ERROR "obs-websocket submodule deps not available.")
|
||||
+ message(INFO "obs-websocket submodule deps not available.")
|
||||
endif()
|
||||
|
||||
# Find Qt
|
||||
@@ -22,6 +22,9 @@ find_qt(COMPONENTS Core Widgets Svg Network)
|
||||
# Find nlohmann JSON
|
||||
find_package(nlohmann_json 3 REQUIRED)
|
||||
|
||||
+# Find qrcodegencpp
|
||||
+find_package(qrcodegencpp REQUIRED)
|
||||
+
|
||||
# Find WebSocket++
|
||||
find_package(Websocketpp 0.8 REQUIRED)
|
||||
|
||||
@@ -157,7 +160,9 @@ target_link_libraries(
|
||||
Qt::Network
|
||||
nlohmann_json::nlohmann_json
|
||||
Websocketpp::Websocketpp
|
||||
- Asio::Asio)
|
||||
+ Asio::Asio
|
||||
+ qrcodegencpp
|
||||
+ )
|
||||
|
||||
set_target_properties_obs(
|
||||
obs-websocket
|
||||
diff --git a/plugins/obs-websocket/cmake/legacy.cmake b/plugins/obs-websocket/cmake/legacy.cmake
|
||||
index ab25ec7..98ca704 100644
|
||||
--- a/plugins/obs-websocket/cmake/legacy.cmake
|
||||
+++ b/plugins/obs-websocket/cmake/legacy.cmake
|
||||
@@ -10,7 +10,7 @@ endif()
|
||||
|
||||
# Submodule deps check
|
||||
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/deps/qr/cpp/QrCode.hpp)
|
||||
- obs_status(FATAL_ERROR "obs-websocket submodule deps not available.")
|
||||
+ obs_status(INFO "obs-websocket submodule deps not available.")
|
||||
endif()
|
||||
|
||||
# Plugin tests flag
|
||||
@@ -22,6 +22,9 @@ find_qt(COMPONENTS Core Widgets Svg Network)
|
||||
# Find nlohmann JSON
|
||||
find_package(nlohmann_json 3 REQUIRED)
|
||||
|
||||
+# Find qrcodegencpp
|
||||
+find_package(qrcodegencpp REQUIRED)
|
||||
+
|
||||
# Find WebSocket++
|
||||
find_package(Websocketpp 0.8 REQUIRED)
|
||||
|
||||
@@ -129,8 +132,7 @@ target_sources(
|
||||
src/utils/Compat.cpp
|
||||
src/utils/Compat.h
|
||||
src/utils/Utils.h
|
||||
- deps/qr/cpp/QrCode.cpp
|
||||
- deps/qr/cpp/QrCode.hpp)
|
||||
+ )
|
||||
|
||||
target_link_libraries(
|
||||
obs-websocket
|
||||
@@ -142,7 +144,9 @@ target_link_libraries(
|
||||
Qt::Network
|
||||
nlohmann_json::nlohmann_json
|
||||
Websocketpp::Websocketpp
|
||||
- Asio::Asio)
|
||||
+ Asio::Asio
|
||||
+ qrcodegencpp
|
||||
+ )
|
||||
|
||||
target_compile_features(obs-websocket PRIVATE cxx_std_17)
|
||||
|
||||
diff --git a/plugins/obs-websocket/src/forms/ConnectInfo.cpp b/plugins/obs-websocket/src/forms/ConnectInfo.cpp
|
||||
index ddb979d..89a04c4 100644
|
||||
--- a/plugins/obs-websocket/src/forms/ConnectInfo.cpp
|
||||
+++ b/plugins/obs-websocket/src/forms/ConnectInfo.cpp
|
||||
@@ -21,9 +21,9 @@ with this program. If not, see <https://www.gnu.org/licenses/>
|
||||
#include <QPainter>
|
||||
#include <QUrl>
|
||||
#include <obs-module.h>
|
||||
+#include <qrcodegencpp/QrCode.hpp>
|
||||
|
||||
#include "ConnectInfo.h"
|
||||
-#include "../../deps/qr/cpp/QrCode.hpp"
|
||||
#include "../obs-websocket.h"
|
||||
#include "../Config.h"
|
||||
#include "../utils/Platform.h"
|
||||
--
|
||||
2.39.2
|
||||
|
|
@ -5,6 +5,13 @@
|
|||
%bcond_without lua_scripting
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
# VPL/QSV is only available on x86_64
|
||||
%bcond_without vpl
|
||||
%else
|
||||
%bcond_with vpl
|
||||
%endif
|
||||
|
||||
# VLC is not yet in Fedora
|
||||
%bcond_with vlc
|
||||
# x264 is not in Fedora
|
||||
|
@ -16,20 +23,20 @@
|
|||
%global openh264_soversion 7
|
||||
|
||||
|
||||
%global obswebsocket_version 5.2.3
|
||||
%global obswebsocket_version 5.3.3
|
||||
|
||||
#global commit ad859a3f66daac0d30eebcc9b07b0c2004fb6040
|
||||
#global snapdate 202303261743
|
||||
#global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: obs-studio
|
||||
Version: 29.1.3
|
||||
Release: 4%{?dist}
|
||||
Version: 30.0.0
|
||||
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
|
||||
# The licenses for those dependencies are captured with the bundled provides statements
|
||||
License: GPL-2.0-or-later and ISC and MIT and BSD-1-Clause and BSD-2-Clause and BSD-3-Clause and BSL-1.0 and LGPL-2.1-or-later and CC0-1.0 and (CC0-1.0 or OpenSSL or Apache-2.0) and LicenseRef-Fedora-Public-Domain and (BSD-3-Clause or GPL-2.0-only)
|
||||
License: GPL-2.0-or-later and MIT and BSD-1-Clause and BSD-2-Clause and BSD-3-Clause and BSL-1.0 and LGPL-2.1-or-later and CC0-1.0 and (CC0-1.0 or OpenSSL or Apache-2.0) and LicenseRef-Fedora-Public-Domain and (BSD-3-Clause or GPL-2.0-only)
|
||||
URL: https://obsproject.com/
|
||||
%if 0%{?snapdate}
|
||||
Source0: https://github.com/obsproject/obs-studio/archive/%{commit}/%{name}-%{commit}.tar.gz
|
||||
|
@ -42,24 +49,19 @@ Source1: https://github.com/obsproject/obs-websocket/archive/%{obswebsock
|
|||
|
||||
# Proposed upstream
|
||||
## From: https://github.com/obsproject/obs-studio/pull/8529
|
||||
Patch0101: 0001-UI-Consistently-reference-the-software-H264-encoder-.patch
|
||||
Patch0102: 0002-obs-ffmpeg-Add-initial-support-for-the-OpenH264-H.26.patch
|
||||
Patch0103: 0003-UI-Add-support-for-OpenH264-as-the-worst-case-fallba.patch
|
||||
|
||||
Patch0101: 0101-UI-Consistently-reference-the-software-H264-encoder-.patch
|
||||
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
|
||||
## Use system qrcodegencpp
|
||||
Patch1001: obs-studio-websocket-use-system-qrcodegencpp.patch
|
||||
## 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
|
||||
## Add license declarations for bundled deps
|
||||
Patch9001: obs-studio-deps-Add-license-declaration-files.patch
|
||||
## Add license declaration for obs-qsv11
|
||||
Patch9002: obs-studio-obs-qsv11-Add-license-declaration-file.patch
|
||||
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: cmake >= 3.16
|
||||
BuildRequires: cmake >= 3.20
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
|
@ -73,6 +75,7 @@ BuildRequires: freetype-devel
|
|||
BuildRequires: jansson-devel >= 2.5
|
||||
BuildRequires: json-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libdatachannel-devel
|
||||
BuildRequires: libdrm-devel
|
||||
BuildRequires: libGL-devel
|
||||
BuildRequires: libglvnd-devel
|
||||
|
@ -90,6 +93,9 @@ BuildRequires: libxkbcommon-devel
|
|||
BuildRequires: luajit-devel
|
||||
%endif
|
||||
BuildRequires: mbedtls-devel
|
||||
%if %{with vpl}
|
||||
BuildRequires: oneVPL-devel
|
||||
%endif
|
||||
BuildRequires: pciutils-devel
|
||||
BuildRequires: pipewire-devel
|
||||
BuildRequires: pipewire-jack-audio-connection-kit-devel
|
||||
|
@ -141,8 +147,6 @@ Provides: bundled(blake2)
|
|||
Provides: bundled(json11)
|
||||
## License: MIT
|
||||
Provides: bundled(libcaption)
|
||||
## License: ISC
|
||||
Provides: bundled(libff)
|
||||
## License: BSD-1-Clause
|
||||
Provides: bundled(uthash)
|
||||
## License: BSD-3-Clause
|
||||
|
@ -199,6 +203,12 @@ mv plugins/obs-x264/CMakeLists.txt plugins/obs-x264/CMakeLists.txt.disabled
|
|||
touch plugins/obs-x264/CMakeLists.txt
|
||||
%endif
|
||||
|
||||
%if ! %{with vpl}
|
||||
# disable unusable qsv plugin
|
||||
mv plugins/obs-qsv11/CMakeLists.txt plugins/obs-qsv11/CMakeLists.txt.disabled
|
||||
touch plugins/obs-qsv11/CMakeLists.txt
|
||||
%endif
|
||||
|
||||
# remove -Werror flag to mitigate FTBFS with ffmpeg 5.1
|
||||
sed -e 's|-Werror-implicit-function-declaration||g' -i cmake/Modules/CompilerConfig.cmake
|
||||
sed -e '/-Werror/d' -i cmake/Modules/CompilerConfig.cmake
|
||||
|
@ -223,7 +233,6 @@ cp deps/libcaption/LICENSE.txt .fedora-rpm/licenses/deps/libcaption-LICENSE.txt
|
|||
cp plugins/obs-qsv11/QSV11-License-Clarification-Email.txt .fedora-rpm/licenses/plugins/QSV11-License-Clarification-Email.txt
|
||||
cp deps/uthash/uthash/LICENSE .fedora-rpm/licenses/deps/uthash-LICENSE
|
||||
cp deps/blake2/LICENSE.blake2 .fedora-rpm/licenses/deps/
|
||||
cp deps/libff/LICENSE.libff .fedora-rpm/licenses/deps/
|
||||
cp deps/media-playback/LICENSE.media-playback .fedora-rpm/licenses/deps/
|
||||
cp libobs/graphics/libnsgif/LICENSE.libnsgif .fedora-rpm/licenses/deps/
|
||||
cp libobs/util/simde/LICENSE.simde .fedora-rpm/licenses/deps/
|
||||
|
@ -252,10 +261,6 @@ cp plugins/obs-qsv11/obs-qsv11-LICENSE.txt .fedora-rpm/licenses/plugins/
|
|||
%install
|
||||
%cmake_install
|
||||
|
||||
# Add missing files to enable the build of obs-ndi
|
||||
install -Dm644 UI/obs-frontend-api/obs-frontend-api.h %{buildroot}%{_includedir}/obs/
|
||||
install -Dm644 cmake/external/ObsPluginHelpers.cmake %{buildroot}%{_libdir}/cmake/libobs/
|
||||
|
||||
# Work around broken libobs.pc file...
|
||||
# Cf. https://github.com/obsproject/obs-studio/issues/7972
|
||||
sed -e 's|^Cflags: .*|Cflags: -I${includedir} -DHAVE_OBSCONFIG_H|' -i %{buildroot}%{_libdir}/pkgconfig/libobs.pc
|
||||
|
@ -302,6 +307,12 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata
|
|||
|
||||
|
||||
%changelog
|
||||
* Mon Nov 13 2023 Neal Gompa <ngompa@fedoraproject.org> - 30.0.0-1
|
||||
- Update to 30.0.0
|
||||
|
||||
* Mon Nov 06 2023 Jan Grulich <jgrulich@redhat.com> - 29.1.3-5
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Fri Sep 08 2023 Neal Gompa <ngompa@fedoraproject.org> - 29.1.3-4
|
||||
- Add obs-plugins libexecdir to libs subpackage
|
||||
|
||||
|
|
4
sources
4
sources
|
@ -1,2 +1,2 @@
|
|||
SHA512 (obs-studio-29.1.3.tar.gz) = 563a9b71ebe273b604807b9c43be8bde58fb326e8a0b741afb84a481a99176c96bf63da2aa26b6dcc026573b7fb0bf53e0a296e2db0b93c28f0d4710cd7cf019
|
||||
SHA512 (obs-websocket-5.2.3.tar.gz) = 76e25bc0a3eb3f6d11b123b5b193544e409cd794b4b38de4ddd634a34cfbdba023c181b81b467fb31d7b4dff17d9b66781be6f1cf0e7e66042868078022d03af
|
||||
SHA512 (obs-studio-30.0.0.tar.gz) = a99ec286dddea46e95a90b16b52bfb8033ce017faae039128509c561fef9bc71e02a9e55d1fee428c456dc48ce03ba7939e2488eaec35f791116ab4dfd1f34d0
|
||||
SHA512 (obs-websocket-5.3.3.tar.gz) = 5726bd81a366940ab3b33f4997d5d66e8ff1bb7d456a6fbb1ebddbcc0bc847026294f74908b06460a358488abe9bf7372ff5076c48d06714813295cfbf6f4ad8
|
||||
|
|
Loading…
Reference in New Issue