[obs-studio-freeworld/f37] (6 commits) ...fix
by Leigh Scott
Summary of changes:
a4967ff... Update to 30.0.0 (*)
127bc10... Rebase patches (*)
d840ffb... rebase patch (*)
5b67dce... Drop patches (or need rebase (*)
12a4f65... Merge fedora bits (*)
e146a3d... fix (*)
(*) This commit already existed in another branch; no separate mail sent
1 year
[obs-studio-freeworld/f38] (6 commits) ...fix
by Leigh Scott
Summary of changes:
a4967ff... Update to 30.0.0 (*)
127bc10... Rebase patches (*)
d840ffb... rebase patch (*)
5b67dce... Drop patches (or need rebase (*)
12a4f65... Merge fedora bits (*)
e146a3d... fix (*)
(*) This commit already existed in another branch; no separate mail sent
1 year
[obs-studio-freeworld/f39] (6 commits) ...fix
by Leigh Scott
Summary of changes:
a4967ff... Update to 30.0.0 (*)
127bc10... Rebase patches (*)
d840ffb... rebase patch (*)
5b67dce... Drop patches (or need rebase (*)
12a4f65... Merge fedora bits (*)
e146a3d... fix (*)
(*) This commit already existed in another branch; no separate mail sent
1 year
[obs-studio-freeworld] fix
by Leigh Scott
commit e146a3d75709c383d52e324bd036dce105b91db5
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Wed Nov 15 22:19:49 2023 +0000
fix
obs-studio-freeworld.spec | 6 ++++++
1 file changed, 6 insertions(+)
---
diff --git a/obs-studio-freeworld.spec b/obs-studio-freeworld.spec
index 506ab85..6013aec 100644
--- a/obs-studio-freeworld.spec
+++ b/obs-studio-freeworld.spec
@@ -218,6 +218,12 @@ sed -e '\|set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${OBS_LIBRARY_DESTINA
# touch the missing submodules
touch plugins/obs-browser/CMakeLists.txt
+%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
1 year
[obs-studio-freeworld] Merge fedora bits
by Nicolas Chauvet
commit 12a4f65d48ff31885b057aa8cb73691262de1129
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Wed Nov 15 22:29:14 2023 +0100
Merge fedora bits
obs-studio-freeworld.spec | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
---
diff --git a/obs-studio-freeworld.spec b/obs-studio-freeworld.spec
index 3a0ddc1..506ab85 100644
--- a/obs-studio-freeworld.spec
+++ b/obs-studio-freeworld.spec
@@ -5,6 +5,16 @@
%bcond_without lua_scripting
%endif
+%ifarch x86_64
+# VPL/QSV is only available on x86_64
+%bcond_without vpl
+%else
+%bcond_with vpl
+%endif
+
+%bcond_without vlc
+%bcond_without x264
+
%global obswebsocket_version 5.3.3
%global origname obs-studio
@@ -62,6 +72,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
@@ -79,6 +90,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
@@ -92,8 +106,15 @@ BuildRequires: qt6-qtwayland-devel
BuildRequires: speexdsp-devel
BuildRequires: swig
BuildRequires: systemd-devel
+%if %{with vlc}
+BuildRequires: vlc-devel
+%endif
BuildRequires: wayland-devel
BuildRequires: websocketpp-devel
+%if %{with x264}
+BuildRequires: x264-devel
+%endif
+
# Ensure QtWayland is installed when libwayland-client is installed
Requires: (qt6-qtwayland%{?_isa} if libwayland-client%{?_isa})
@@ -234,6 +255,9 @@ cp plugins/obs-qsv11/obs-qsv11-LICENSE.txt .fedora-rpm/licenses/plugins/
-DUNIX_STRUCTURE=1 -GNinja \
-DCMAKE_SKIP_RPATH=1 \
-DBUILD_BROWSER=OFF \
+%if ! %{with vlc}
+ -DENABLE_VLC=OFF \
+%endif
-DENABLE_JACK=ON \
-DENABLE_LIBFDK=ON \
-DENABLE_AJA=OFF \
1 year
[obs-studio-freeworld] Drop patches (or need rebase
by Nicolas Chauvet
commit 5b67dceb11e5ebec708ada11f42fe25fa0ee2e1c
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Wed Nov 15 22:07:58 2023 +0100
Drop patches (or need rebase
obs-studio-freeworld.spec | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/obs-studio-freeworld.spec b/obs-studio-freeworld.spec
index 488d95d..3a0ddc1 100644
--- a/obs-studio-freeworld.spec
+++ b/obs-studio-freeworld.spec
@@ -40,11 +40,11 @@ Patch0103: 0003-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
+#Patch1001: obs-studio-websocket-use-system-qrcodegencpp.patch
## Add license declarations for bundled deps
-Patch9001: obs-studio-deps-Add-license-declaration-files.patch
+#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
+#Patch9002: obs-studio-obs-qsv11-Add-license-declaration-file.patch
BuildRequires: gcc
@@ -221,7 +221,7 @@ 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/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/
1 year
[obs-studio-freeworld] rebase patch
by Nicolas Chauvet
commit d840ffbce04ae4dbfb49f4c4b04b01eb874d12fc
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Wed Nov 15 22:07:31 2023 +0100
rebase patch
...ntly-reference-the-software-H264-encoder-.patch | 30 +++++++++++-----------
1 file changed, 15 insertions(+), 15 deletions(-)
---
diff --git a/0001-UI-Consistently-reference-the-software-H264-encoder-.patch b/0001-UI-Consistently-reference-the-software-H264-encoder-.patch
index e976f5c..2d5992e 100644
--- a/0001-UI-Consistently-reference-the-software-H264-encoder-.patch
+++ b/0001-UI-Consistently-reference-the-software-H264-encoder-.patch
@@ -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(a)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 year
[obs-studio-freeworld] Rebase patches
by Nicolas Chauvet
commit 127bc10571687da128f6f4a59f8289dafbf42577
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Wed Nov 15 22:01:52 2023 +0100
Rebase patches
...Add-initial-support-for-the-OpenH264-H.26.patch | 32 +++----
...ort-for-OpenH264-as-the-worst-case-fallba.patch | 99 +++++++++++-----------
2 files changed, 66 insertions(+), 65 deletions(-)
---
diff --git a/0002-obs-ffmpeg-Add-initial-support-for-the-OpenH264-H.26.patch b/0002-obs-ffmpeg-Add-initial-support-for-the-OpenH264-H.26.patch
index 0a80a79..519c5ea 100644
--- a/0002-obs-ffmpeg-Add-initial-support-for-the-OpenH264-H.26.patch
+++ b/0002-obs-ffmpeg-Add-initial-support-for-the-OpenH264-H.26.patch
@@ -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(a)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
diff --git a/0003-UI-Add-support-for-OpenH264-as-the-worst-case-fallba.patch b/0003-UI-Add-support-for-OpenH264-as-the-worst-case-fallba.patch
index cb52514..c8a3074 100644
--- a/0003-UI-Add-support-for-OpenH264-as-the-worst-case-fallba.patch
+++ b/0003-UI-Add-support-for-OpenH264-as-the-worst-case-fallba.patch
@@ -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(a)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
1 year
[obs-studio-freeworld] Update to 30.0.0
by Nicolas Chauvet
commit a4967ff4de222d1dbf838c09a1948ba42a8aa5a6
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Wed Nov 15 21:51:05 2023 +0100
Update to 30.0.0
obs-studio-freeworld.spec | 7 +++++--
sources | 4 ++--
2 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/obs-studio-freeworld.spec b/obs-studio-freeworld.spec
index c365c56..488d95d 100644
--- a/obs-studio-freeworld.spec
+++ b/obs-studio-freeworld.spec
@@ -5,7 +5,7 @@
%bcond_without lua_scripting
%endif
-%global obswebsocket_version 5.2.3
+%global obswebsocket_version 5.3.3
%global origname obs-studio
%if "%{__isa_bits}" == "64"
@@ -14,7 +14,7 @@
%global libvlc_soversion 5
Name: obs-studio-freeworld
-Version: 29.1.3
+Version: 30.0.0
Release: 1%{?dist}
Summary: Open Broadcaster Software Studio -- Freeworld plugins
@@ -264,6 +264,9 @@ mv preserve/%{_prefix} %{buildroot}
%changelog
+* Wed Nov 15 2023 Nicolas Chauvet <kwizart(a)gmail.com> - 30.0.0-1
+- Update to 30.0.0
+
* Tue Jul 25 2023 Dominik Mierzejewski <dominik(a)greysector.net> - 29.1.3-1
- Update to 29.1.3
diff --git a/sources b/sources
index c635c9c..ef030c5 100644
--- a/sources
+++ b/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-websocket-5.3.3.tar.gz) = 5726bd81a366940ab3b33f4997d5d66e8ff1bb7d456a6fbb1ebddbcc0bc847026294f74908b06460a358488abe9bf7372ff5076c48d06714813295cfbf6f4ad8
+SHA512 (obs-studio-30.0.0.tar.gz) = a99ec286dddea46e95a90b16b52bfb8033ce017faae039128509c561fef9bc71e02a9e55d1fee428c456dc48ce03ba7939e2488eaec35f791116ab4dfd1f34d0
1 year
[ffmpeg/f37] Update ffmpeg-chromium.patch for FFmpeg-5.x
by Nicolas Chauvet
commit 746d49cfdc64e8fbfe0256969ad6572608ae2e51
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Wed Nov 15 21:46:56 2023 +0100
Update ffmpeg-chromium.patch for FFmpeg-5.x
ffmpeg-chromium.patch | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/ffmpeg-chromium.patch b/ffmpeg-chromium.patch
index 2160609..6625e2d 100644
--- a/ffmpeg-chromium.patch
+++ b/ffmpeg-chromium.patch
@@ -1,4 +1,4 @@
-From d32aacab65a322b66d6a1b48f6cdb03e42bde0f9 Mon Sep 17 00:00:00 2001
+From 4464ecf750bb9440e2571a8d810627cdec85ae02 Mon Sep 17 00:00:00 2001
From: Frank Liberato <liberato(a)chromium.org>
Date: Wed, 7 Jul 2021 19:01:22 -0700
Subject: [PATCH] Add av_stream_get_first_dts for Chromium
@@ -9,12 +9,12 @@ Subject: [PATCH] Add av_stream_get_first_dts for Chromium
2 files changed, 11 insertions(+)
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
-index 1916aa2dc5..e6682849fa 100644
+index f12fa7d904..0b9fd1f061 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
-@@ -1019,6 +1019,10 @@ attribute_deprecated
+@@ -1128,6 +1128,10 @@ struct AVCodecParserContext *av_stream_get_parser(const AVStream *s);
+ */
int64_t av_stream_get_end_pts(const AVStream *st);
- #endif
+// Chromium: We use the internal field first_dts vvv
+int64_t av_stream_get_first_dts(const AVStream *st);
1 year