[simplescreenrecorder] Add ffmpeg-5 patch
by Sérgio M. Basto
commit 8a45c315377c8a87fb7daab730947822f3623543
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Wed Mar 2 18:37:39 2022 +0000
Add ffmpeg-5 patch
934.patch | 238 ++++++++++++++++++++++++++++++++++++++++++++++
simplescreenrecorder.spec | 2 +
2 files changed, 240 insertions(+)
---
diff --git a/934.patch b/934.patch
new file mode 100644
index 0000000..c3d092d
--- /dev/null
+++ b/934.patch
@@ -0,0 +1,238 @@
+From f4cbde38021d9330dc73d2e3dfa8a70da3ff5721 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero(a)lindev.ch>
+Date: Sun, 16 Jan 2022 02:40:04 +0100
+Subject: [PATCH] Fix build with ffmpeg 5.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Adapt to ffmpeg 5.0 requiring more const-ness for AVCodec.
+
+Signed-off-by: Bernhard Rosenkränzer <bero(a)lindev.ch>
+---
+ src/AV/Output/AudioEncoder.cpp | 6 +++---
+ src/AV/Output/AudioEncoder.h | 4 ++--
+ src/AV/Output/BaseEncoder.cpp | 4 ++--
+ src/AV/Output/BaseEncoder.h | 4 ++--
+ src/AV/Output/Muxer.cpp | 12 ++++++------
+ src/AV/Output/Muxer.h | 4 ++--
+ src/AV/Output/VideoEncoder.cpp | 6 +++---
+ src/AV/Output/VideoEncoder.h | 4 ++--
+ 8 files changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/src/AV/Output/AudioEncoder.cpp b/src/AV/Output/AudioEncoder.cpp
+index 34d015cf..cefc2e02 100644
+--- a/src/AV/Output/AudioEncoder.cpp
++++ b/src/AV/Output/AudioEncoder.cpp
+@@ -34,7 +34,7 @@ const std::vector<AudioEncoder::SampleFormatData> AudioEncoder::SUPPORTED_SAMPLE
+
+ const unsigned int AudioEncoder::DEFAULT_FRAME_SAMPLES = 1024;
+
+-AudioEncoder::AudioEncoder(Muxer* muxer, AVStream* stream, AVCodecContext *codec_context, AVCodec* codec, AVDictionary** options)
++AudioEncoder::AudioEncoder(Muxer* muxer, AVStream* stream, AVCodecContext *codec_context, const AVCodec* codec, AVDictionary** options)
+ : BaseEncoder(muxer, stream, codec_context, codec, options) {
+
+ #if !SSR_USE_AVCODEC_ENCODE_AUDIO2
+@@ -77,7 +77,7 @@ unsigned int AudioEncoder::GetSampleRate() {
+ }
+
+ bool AudioEncoder::AVCodecIsSupported(const QString& codec_name) {
+- AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
++ const AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
+ if(codec == NULL)
+ return false;
+ if(!av_codec_is_encoder(codec))
+@@ -93,7 +93,7 @@ bool AudioEncoder::AVCodecIsSupported(const QString& codec_name) {
+ return false;
+ }
+
+-void AudioEncoder::PrepareStream(AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
++void AudioEncoder::PrepareStream(AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
+ unsigned int bit_rate, unsigned int channels, unsigned int sample_rate) {
+
+ if(channels == 0) {
+diff --git a/src/AV/Output/AudioEncoder.h b/src/AV/Output/AudioEncoder.h
+index c93278cf..ae9c82ee 100644
+--- a/src/AV/Output/AudioEncoder.h
++++ b/src/AV/Output/AudioEncoder.h
+@@ -40,7 +40,7 @@ class AudioEncoder : public BaseEncoder {
+ #endif
+
+ public:
+- AudioEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options);
++ AudioEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options);
+ ~AudioEncoder();
+
+ // Returns the required frame size, i.e. the number of samples (for each channel).
+@@ -57,7 +57,7 @@ class AudioEncoder : public BaseEncoder {
+
+ public:
+ static bool AVCodecIsSupported(const QString& codec_name);
+- static void PrepareStream(AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
++ static void PrepareStream(AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
+ unsigned int bit_rate, unsigned int channels, unsigned int sample_rate);
+
+ private:
+diff --git a/src/AV/Output/BaseEncoder.cpp b/src/AV/Output/BaseEncoder.cpp
+index 7c01ef30..4780aafd 100644
+--- a/src/AV/Output/BaseEncoder.cpp
++++ b/src/AV/Output/BaseEncoder.cpp
+@@ -42,7 +42,7 @@ double ParseCodecOptionDouble(const QString& key, const QString& value, double m
+ return clamp(value_double, min, max) * multiply;
+ }
+
+-BaseEncoder::BaseEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options) {
++BaseEncoder::BaseEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options) {
+
+ m_muxer = muxer;
+ m_stream = stream;
+@@ -157,7 +157,7 @@ void BaseEncoder::IncrementPacketCounter() {
+ ++lock->m_total_packets;
+ }
+
+-void BaseEncoder::Init(AVCodec* codec, AVDictionary** options) {
++void BaseEncoder::Init(const AVCodec* codec, AVDictionary** options) {
+
+ // open codec
+ if(avcodec_open2(m_codec_context, codec, options) < 0) {
+diff --git a/src/AV/Output/BaseEncoder.h b/src/AV/Output/BaseEncoder.h
+index 3d92f298..7f02bbd6 100644
+--- a/src/AV/Output/BaseEncoder.h
++++ b/src/AV/Output/BaseEncoder.h
+@@ -51,7 +51,7 @@ class BaseEncoder {
+ std::atomic<bool> m_should_stop, m_should_finish, m_is_done, m_error_occurred;
+
+ protected:
+- BaseEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options);
++ BaseEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options);
+
+ public:
+ virtual ~BaseEncoder(); // encoders will be deleted by Muxer, don't delete them yourself!
+@@ -117,7 +117,7 @@ class BaseEncoder {
+ void IncrementPacketCounter();
+
+ private:
+- void Init(AVCodec* codec, AVDictionary** options);
++ void Init(const AVCodec* codec, AVDictionary** options);
+ void Free();
+
+ void EncoderThread();
+diff --git a/src/AV/Output/Muxer.cpp b/src/AV/Output/Muxer.cpp
+index ad583803..14650b03 100644
+--- a/src/AV/Output/Muxer.cpp
++++ b/src/AV/Output/Muxer.cpp
+@@ -87,7 +87,7 @@ Muxer::~Muxer() {
+
+ VideoEncoder* Muxer::AddVideoEncoder(const QString& codec_name, const std::vector<std::pair<QString, QString> >& codec_options,
+ unsigned int bit_rate, unsigned int width, unsigned int height, unsigned int frame_rate) {
+- AVCodec *codec = FindCodec(codec_name);
++ const AVCodec *codec = FindCodec(codec_name);
+ AVCodecContext *codec_context = NULL;
+ AVStream *stream = AddStream(codec, &codec_context);
+ VideoEncoder *encoder;
+@@ -111,7 +111,7 @@ VideoEncoder* Muxer::AddVideoEncoder(const QString& codec_name, const std::vecto
+
+ AudioEncoder* Muxer::AddAudioEncoder(const QString& codec_name, const std::vector<std::pair<QString, QString> >& codec_options,
+ unsigned int bit_rate, unsigned int channels, unsigned int sample_rate) {
+- AVCodec *codec = FindCodec(codec_name);
++ const AVCodec *codec = FindCodec(codec_name);
+ AVCodecContext *codec_context = NULL;
+ AVStream *stream = AddStream(codec, &codec_context);
+ AudioEncoder *encoder;
+@@ -194,7 +194,7 @@ unsigned int Muxer::GetQueuedPacketCount(unsigned int stream_index) {
+ void Muxer::Init() {
+
+ // get the format we want (this is just a pointer, we don't have to free this)
+- AVOutputFormat *format = av_guess_format(m_container_name.toUtf8().constData(), NULL, NULL);
++ const AVOutputFormat *format = av_guess_format(m_container_name.toUtf8().constData(), NULL, NULL);
+ if(format == NULL) {
+ Logger::LogError("[Muxer::Init] " + Logger::tr("Error: Can't find chosen output format!"));
+ throw LibavException();
+@@ -261,8 +261,8 @@ void Muxer::Free() {
+ }
+ }
+
+-AVCodec* Muxer::FindCodec(const QString& codec_name) {
+- AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
++const AVCodec* Muxer::FindCodec(const QString& codec_name) {
++ const AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
+ if(codec == NULL) {
+ Logger::LogError("[Muxer::FindCodec] " + Logger::tr("Error: Can't find codec!"));
+ throw LibavException();
+@@ -270,7 +270,7 @@ AVCodec* Muxer::FindCodec(const QString& codec_name) {
+ return codec;
+ }
+
+-AVStream* Muxer::AddStream(AVCodec* codec, AVCodecContext** codec_context) {
++AVStream* Muxer::AddStream(const AVCodec* codec, AVCodecContext** codec_context) {
+ assert(!m_started);
+ assert(m_format_context->nb_streams < MUXER_MAX_STREAMS);
+
+diff --git a/src/AV/Output/Muxer.h b/src/AV/Output/Muxer.h
+index d72347d6..b104bcb1 100644
+--- a/src/AV/Output/Muxer.h
++++ b/src/AV/Output/Muxer.h
+@@ -114,8 +114,8 @@ class Muxer {
+ void Init();
+ void Free();
+
+- AVCodec* FindCodec(const QString& codec_name);
+- AVStream* AddStream(AVCodec* codec, AVCodecContext** codec_context);
++ const AVCodec* FindCodec(const QString& codec_name);
++ AVStream* AddStream(const AVCodec* codec, AVCodecContext** codec_context);
+
+ void MuxerThread();
+
+diff --git a/src/AV/Output/VideoEncoder.cpp b/src/AV/Output/VideoEncoder.cpp
+index 8087e8ed..fc8b5d11 100644
+--- a/src/AV/Output/VideoEncoder.cpp
++++ b/src/AV/Output/VideoEncoder.cpp
+@@ -34,7 +34,7 @@ const std::vector<VideoEncoder::PixelFormatData> VideoEncoder::SUPPORTED_PIXEL_F
+ {"rgb", AV_PIX_FMT_RGB24, false},
+ };
+
+-VideoEncoder::VideoEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options)
++VideoEncoder::VideoEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options)
+ : BaseEncoder(muxer, stream, codec_context, codec, options) {
+
+ #if !SSR_USE_AVCODEC_ENCODE_VIDEO2
+@@ -95,7 +95,7 @@ unsigned int VideoEncoder::GetFrameRate() {
+ }
+
+ bool VideoEncoder::AVCodecIsSupported(const QString& codec_name) {
+- AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
++ const AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
+ if(codec == NULL)
+ return false;
+ if(!av_codec_is_encoder(codec))
+@@ -111,7 +111,7 @@ bool VideoEncoder::AVCodecIsSupported(const QString& codec_name) {
+ return false;
+ }
+
+-void VideoEncoder::PrepareStream(AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
++void VideoEncoder::PrepareStream(AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
+ unsigned int bit_rate, unsigned int width, unsigned int height, unsigned int frame_rate) {
+
+ if(width == 0 || height == 0) {
+diff --git a/src/AV/Output/VideoEncoder.h b/src/AV/Output/VideoEncoder.h
+index cb7ca275..68d872ed 100644
+--- a/src/AV/Output/VideoEncoder.h
++++ b/src/AV/Output/VideoEncoder.h
+@@ -40,7 +40,7 @@ class VideoEncoder : public BaseEncoder {
+ #endif
+
+ public:
+- VideoEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options);
++ VideoEncoder(Muxer* muxer, AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options);
+ ~VideoEncoder();
+
+ // Returns the required pixel format.
+@@ -55,7 +55,7 @@ class VideoEncoder : public BaseEncoder {
+
+ public:
+ static bool AVCodecIsSupported(const QString& codec_name);
+- static void PrepareStream(AVStream* stream, AVCodecContext* codec_context, AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
++ static void PrepareStream(AVStream* stream, AVCodecContext* codec_context, const AVCodec* codec, AVDictionary** options, const std::vector<std::pair<QString, QString> >& codec_options,
+ unsigned int bit_rate, unsigned int width, unsigned int height, unsigned int frame_rate);
+
+ private:
diff --git a/simplescreenrecorder.spec b/simplescreenrecorder.spec
index 5b5c8e4..59e7232 100644
--- a/simplescreenrecorder.spec
+++ b/simplescreenrecorder.spec
@@ -11,6 +11,7 @@ License: GPLv3
URL: https://www.maartenbaert.be/simplescreenrecorder/
Source0: https://github.com/MaartenBaert/ssr/archive/%{version}/%{name}-%{version}...
Patch0: 0001-Fix-libssr-glinject.so-preload-path.patch
+Patch1: https://github.com/MaartenBaert/ssr/pull/934.patch
BuildRequires: gcc-c++
BuildRequires: desktop-file-utils
@@ -86,6 +87,7 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.metainf
%changelog
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 0.4.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+- Add ffmpeg-5 patch
* Fri Nov 12 2021 Leigh Scott <leigh123linux(a)gmail.com> - 0.4.3-4
- Rebuilt for new ffmpeg snapshot
2 years, 8 months
[olive] New snapshot, ffmpeg 5 compatible
by Sérgio M. Basto
commit cf97483a85b3358cd424b66f2e4aeadec7127da2
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Wed Mar 2 16:05:42 2022 +0000
New snapshot, ffmpeg 5 compatible
.gitignore | 1 +
olive-0.1.2-qt5.15.patch | 40 ----------------------------------------
olive.spec | 25 ++++++++++++++-----------
sources | 2 +-
4 files changed, 16 insertions(+), 52 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 0fef13f..3d854b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/olive-55c5b00.tar.gz
/olive-0.1.2.tar.gz
+/olive-41a49c4.tar.gz
diff --git a/olive.spec b/olive.spec
index 3abe599..d3ba16f 100644
--- a/olive.spec
+++ b/olive.spec
@@ -1,10 +1,10 @@
#For git snapshots, set to 0 to use release instead:
-%global usesnapshot 0
+%global usesnapshot 1
%if 0%{?usesnapshot}
# https://github.com/olive-editor/olive/commit/19eabf283062ed0d046b8ce8dee8...
-%global commit0 19eabf283062ed0d046b8ce8dee8a14af7c6de31
+%global commit0 41a49c4880e21b11b08de94d2df1b227bf219fc6
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
-%global gitdate 20201230
+%global gitdate 20220228
%endif
%global unique_name org.olivevideoeditor.Olive
%global appl_name application-vnd.olive-project
@@ -14,9 +14,9 @@
Name: olive
Version: 0.1.2
%if 0%{?usesnapshot}
-Release: 0.4.%{gitdate}git%{shortcommit0}%{?dist}
+Release: 0.5.%{gitdate}git%{shortcommit0}%{?dist}
%else
-Release: 8%{?dist}
+Release: 9%{?dist}
%endif
Summary: A free non-linear video editor
License: GPLv3+
@@ -26,7 +26,6 @@ Source0: https://github.com/olive-editor/%{name}/archive/%{commit0}/%{nam
%else
Source0: https://github.com/olive-editor/%{name}/archive/%{version}.tar.gz#/%{name...
%endif
-Patch0: %{name}-%{version}-qt5.15.patch
BuildRequires: cmake3
BuildRequires: frei0r-devel
@@ -45,6 +44,7 @@ BuildRequires: qt5-qttranslations
BuildRequires: OpenColorIO-devel
BuildRequires: OpenImageIO-devel
BuildRequires: ilmbase-devel
+BuildRequires: portaudio-devel
Requires: hicolor-icon-theme
%description
@@ -62,13 +62,13 @@ A Feature list is a the moment not available.
%prep
%if 0%{?usesnapshot}
-%autosetup -n %{name}-%{commit0}
+%autosetup -p1 -n %{name}-%{commit0}
%else
%autosetup -p1 -n %{name}-%{version}
%endif
# Override the pathetic ffmpeg test
-sed -i -e 's@3.4@(a)g' CMakeLists.txt
+sed -i -e 's@3.0@(a)g' CMakeLists.txt
%build
%cmake3
@@ -86,7 +86,7 @@ s:.*/\([a-zA-Z]\{2\}\).qm:%lang(\1) \0:' > %{name}.lang
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{unique_name}.appdata.xml
-%files -f %{name}.lang
+%files
%doc README.md
%license LICENSE
%{_bindir}/%{name}-editor
@@ -95,10 +95,13 @@ appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{unique_name
%{_datadir}/icons/hicolor/*/mimetypes/%{appl_name}.png
%{_metainfodir}/%{unique_name}.appdata.xml
%{_datadir}/mime/packages/%{unique_name}.xml
-%{_datadir}/%%{name}-editor/effects
-#{_datadir}/%%{name}-editor
+#%%{_datadir}/%%{name}-editor/effects
+#%%{_datadir}/%%{name}-editor
%changelog
+* Wed Mar 02 2022 Sérgio Basto <sergio(a)serjux.com> - 0.1.2-0.5.20220228git41a49c4
+- New snapshot, ffmpeg 5 compatible
+
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 0.1.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
diff --git a/sources b/sources
index cb68674..79705c1 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (olive-0.1.2.tar.gz) = 48cf44b5ba1bd95e20efb5312d61d6c37e6dedc1f02156ef436ab51705be4bdaf5bb68875b55b06337c25a34aee23eac645fe295d08ab0038872adccf12fc95e
+SHA512 (olive-41a49c4.tar.gz) = 6340cd4b6203f56fc38f9ab755f7590e71255f04c38d336194d674494caabe6ebc6932cea5d32b8c6d5cb8734e2f090edd90a20fdc1030b0222395daa511c9e0
2 years, 8 months
[chromium-freeworld] Update to 99.0.4844.51
by Leigh Scott
commit 0609bc2209ec1cff08f07900cac530c8bd00279b
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Wed Mar 2 12:07:19 2022 +0000
Update to 99.0.4844.51
chromium-freeworld.spec | 25 ++++++++-------
chromium-glibc-2.34-r1.patch | 20 ++++++++++++
chromium-names.patch | 2 +-
chromium-rawhide-gcc-std-max-fix.patch | 24 --------------
sources | 4 +--
webcodecs-stop-using-AudioOpusEncoder.patch | 49 +++++++++++++++++++++++++++++
6 files changed, 86 insertions(+), 38 deletions(-)
---
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index c0bf9f7..c56286b 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -27,15 +27,15 @@
%global system_re2 1
##############################Package Definitions######################################
Name: chromium-freeworld
-Version: 98.0.4758.102
-Release: 2%{?dist}
+Version: 99.0.4844.51
+Release: 1%{?dist}
Summary: Chromium built with all freeworld codecs and VA-API support
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://www.chromium.org/Home
Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromi...
# Patchset composed by Stephan Hartmann.
-%global patchset_revision chromium-98-patchset-5
+%global patchset_revision chromium-99-patchset-3
Source1: https://github.com/stha09/chromium-patches/archive/%{patchset_revision}/c...
# The following two source files are copied and modified from the chromium source
@@ -152,8 +152,10 @@ ExclusiveArch: x86_64 aarch64
Patch201: chromium-98-EnumTable-crash.patch
Patch202: chromium-InkDropHost-crash.patch
Patch203: chromium-98-system-libdrm.patch
+Patch1204: chromium-glibc-2.34-r1.patch
# Arch Linux patches:
+Patch220: webcodecs-stop-using-AudioOpusEncoder.patch
Patch1226: chromium-93-ffmpeg-4.4.patch
Patch1227: unbundle-ffmpeg-av_stream_get_first_dts.patch
Patch1228: add-a-TODO-about-a-missing-pnacl-flag.patch
@@ -169,7 +171,6 @@ Patch301: chromium-gcc11.patch
Patch302: chromium-java-only-allowed-in-android-builds.patch
Patch303: chromium-aarch64-cxxflags-addition.patch
Patch304: chromium-clang-format.patch
-Patch1303: chromium-rawhide-gcc-std-max-fix.patch
# RPM Fusion patches [free/chromium-freeworld]:
Patch401: chromium-fix-vaapi-on-intel.patch
@@ -195,15 +196,17 @@ Patch1406: chromium-rpm-fusion-brand.patch
%{__scm_apply_patch -p1} <%{patchset_root}/%{1}
%patchset_apply chromium-78-protobuf-RepeatedPtrField-export.patch
-%patchset_apply chromium-95-libyuv-aarch64.patch
-%patchset_apply chromium-98-MiraclePtr-gcc-ice.patch
-%patchset_apply chromium-98-WaylandFrameManager-check.patch
+%patchset_apply chromium-99-AutofillAssistantModelExecutor-NoDestructor.patch
# Apply patches up to #1000 from this spec.
%autopatch -M1000 -p1
# Manually apply patches that need an ifdef
+%if 0%{?fedora} >= 35
+%patch1204 -p1
+%endif
+
%if %{system_ffmpeg}
%patch1226 -p1
%patch1227 -p1
@@ -214,10 +217,6 @@ Patch1406: chromium-rpm-fusion-brand.patch
%patch1229 -Rp1
%endif
-%if 0%{?fedora} >= 35
-%patch1303 -p1
-%endif
-
%patch1406 -p1
./build/linux/unbundle/remove_bundled_libraries.py --do-remove \
@@ -289,6 +288,7 @@ Patch1406: chromium-rpm-fusion-brand.patch
third_party/devscripts \
third_party/devtools-frontend \
third_party/devtools-frontend/src/front_end/third_party/acorn \
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json \
third_party/devtools-frontend/src/front_end/third_party/axe-core \
third_party/devtools-frontend/src/front_end/third_party/chromium \
third_party/devtools-frontend/src/front_end/third_party/codemirror \
@@ -737,6 +737,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/vk_swiftshader_icd.json
#########################################changelogs#################################################
%changelog
+* Wed Mar 02 2022 Leigh Scott <leigh123linux(a)gmail.com> - 99.0.4844.51-1
+- Update to 99.0.4844.51
+
* Sat Feb 19 2022 Leigh Scott <leigh123linux(a)gmail.com> - 98.0.4758.102-2
- Use compat-ffmpeg4 for f36+
diff --git a/chromium-glibc-2.34-r1.patch b/chromium-glibc-2.34-r1.patch
new file mode 100644
index 0000000..0747b4f
--- /dev/null
+++ b/chromium-glibc-2.34-r1.patch
@@ -0,0 +1,20 @@
+--- a/sandbox/linux/services/credentials.cc
++++ b/sandbox/linux/services/credentials.cc
+@@ -11,6 +11,7 @@
+ #include <stddef.h>
+ #include <stdint.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <sys/syscall.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+@@ -100,7 +101,8 @@ bool ChrootToSafeEmptyDir() {
+ // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f.
+ clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
+
+- char tls_buf[PTHREAD_STACK_MIN] = {0};
++ char tls_buf[PTHREAD_STACK_MIN];
++ memset(tls_buf, 0, PTHREAD_STACK_MIN);
+ tls = tls_buf;
+ #endif
+
diff --git a/chromium-names.patch b/chromium-names.patch
index 1d24b10..2f141c4 100644
--- a/chromium-names.patch
+++ b/chromium-names.patch
@@ -50,7 +50,7 @@ Replace hard-coded "chromium-browser" with package name.
+ return RPM_FUSION_PACKAGE_NAME ".desktop";
#endif
}
- #endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
--- a/media/audio/BUILD.gn
+++ b/media/audio/BUILD.gn
@@ -294,6 +294,8 @@ source_set("audio") {
diff --git a/sources b/sources
index 44b55e1..1ba090c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (chromium-98.0.4758.102.tar.xz) = 7bcbeb8c8701b77e6143a811667dbc00d6b36a16b2256ced66d7ad49dafdb1f9fede61811e4ddd2aff478bda604aad5ce675261c2cb5f16722ff6d55bdf803a4
-SHA512 (chromium-patches-chromium-98-patchset-5.tar.gz) = 9da2ea41698b2bcab5b143d5aa733a46e8d9aaa83217a0b9f9a4d8528ba1ef05381b43b38fcbd9d5befa1f9df200827b0fd6cea408babe6b42b36320f133eb62
+SHA512 (chromium-99.0.4844.51.tar.xz) = 85f81afa35907d59e7dee328c1c30d61a4106b8d5e9dabad4888c0a1962d8e4debfb88358417123979d8a4ad471acbf8d90c0a3bb2cc9bac5fef71b800bcc1af
+SHA512 (chromium-patches-chromium-99-patchset-3.tar.gz) = 8dcd3acb256f32b1af0c0ef3eea61061c1d857f8887f2990ec170bc87a3f49a9a8b15dfe50ac05e3eedabea33e88365f91094550237b5500ffa7f66734523b76
diff --git a/webcodecs-stop-using-AudioOpusEncoder.patch b/webcodecs-stop-using-AudioOpusEncoder.patch
new file mode 100644
index 0000000..32957d3
--- /dev/null
+++ b/webcodecs-stop-using-AudioOpusEncoder.patch
@@ -0,0 +1,49 @@
+From 3bd46cb9a51773f103ef52b39d6407740eb0d60a Mon Sep 17 00:00:00 2001
+From: Eugene Zemtsov <eugene(a)chromium.org>
+Date: Thu, 24 Feb 2022 23:17:20 +0000
+Subject: [PATCH] webcodecs: Stop using AudioOpusEncoder as backed for mojo
+ audio encoder
+
+AudioOpusEncoder was only used here for testing. Let's not let it get
+comfortable. We'll use MF AAC encoder here when we have it. (Soon...)
+
+Bug: 1259883
+Change-Id: Ia1819395c8c8fd6d403d4b8558c12f9a1bf7e761
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3489449
+Commit-Queue: Eugene Zemtsov <eugene(a)chromium.org>
+Auto-Submit: Eugene Zemtsov <eugene(a)chromium.org>
+Reviewed-by: Dale Curtis <dalecurtis(a)chromium.org>
+Commit-Queue: Dale Curtis <dalecurtis(a)chromium.org>
+Cr-Commit-Position: refs/heads/main@{#974895}
+---
+ media/mojo/services/gpu_mojo_media_client.cc | 10 +---------
+ 1 file changed, 1 insertion(+), 9 deletions(-)
+
+diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc
+index 8f83a4d6cf6..40cdaff8d3a 100644
+--- a/media/mojo/services/gpu_mojo_media_client.cc
++++ b/media/mojo/services/gpu_mojo_media_client.cc
+@@ -13,7 +13,6 @@
+ #include "build/chromeos_buildflags.h"
+ #include "gpu/ipc/service/gpu_channel.h"
+ #include "media/audio/audio_features.h"
+-#include "media/audio/audio_opus_encoder.h"
+ #include "media/base/audio_decoder.h"
+ #include "media/base/cdm_factory.h"
+ #include "media/base/media_switches.h"
+@@ -119,14 +118,7 @@ std::unique_ptr<AudioEncoder> GpuMojoMediaClient::CreateAudioEncoder(
+ scoped_refptr<base::SequencedTaskRunner> task_runner) {
+ if (!base::FeatureList::IsEnabled(features::kPlatformAudioEncoder))
+ return nullptr;
+- // TODO(crbug.com/1259883) Right now Opus encoder is all we have, later on
+- // we'll create a real platform encoder here.
+- auto opus_encoder = std::make_unique<AudioOpusEncoder>();
+- auto encoding_runner = base::ThreadPool::CreateSequencedTaskRunner(
+- {base::TaskPriority::USER_BLOCKING});
+- return std::make_unique<OffloadingAudioEncoder>(std::move(opus_encoder),
+- std::move(encoding_runner),
+- std::move(task_runner));
++ return nullptr;
+ }
+
+ VideoDecoderType GpuMojoMediaClient::GetDecoderImplementationType() {
2 years, 8 months