Accepting request 1005868 from KDE:Qt:5.15
Allow building libqt5-qtwebengine with python3, ffmpeg 5 and pipewire 0.3 OBS-URL: https://build.opensuse.org/request/show/1005868 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtwebengine?expand=0&rev=83
This commit is contained in:
commit
94c92697d8
9
_service
9
_service
@ -7,9 +7,16 @@
|
|||||||
<param name="filename">qtwebengine-everywhere-src</param>
|
<param name="filename">qtwebengine-everywhere-src</param>
|
||||||
<param name="revision">v5.15.10-lts</param>
|
<param name="revision">v5.15.10-lts</param>
|
||||||
</service>
|
</service>
|
||||||
|
<service name="tar_scm" mode="disabled">
|
||||||
|
<param name="changesgenerate">disable</param>
|
||||||
|
<param name="url">https://chromium.googlesource.com/catapult</param>
|
||||||
|
<param name="revision">main</param>
|
||||||
|
<param name="scm">git</param>
|
||||||
|
<param name="filename">catapult</param>
|
||||||
|
<param name="versionformat">git</param>
|
||||||
|
</service>
|
||||||
<service name="recompress" mode="disabled">
|
<service name="recompress" mode="disabled">
|
||||||
<param name="file">*.tar</param>
|
<param name="file">*.tar</param>
|
||||||
<param name="compression">xz</param>
|
<param name="compression">xz</param>
|
||||||
</service>
|
</service>
|
||||||
<service name="set_version" mode="disabled" />
|
|
||||||
</services>
|
</services>
|
||||||
|
3
catapult-git.tar.xz
Normal file
3
catapult-git.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c317ef665829551a0ab34d6ed7b6cf1f67525abccfa4b9f4d367bb12f34de17f
|
||||||
|
size 99586728
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 23 18:01:11 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
||||||
|
|
||||||
|
- Add patches to build with python 3, ffmpeg 5 and pipewire 0.3:
|
||||||
|
* qtwebengine-ffmpeg5.patch
|
||||||
|
* qtwebengine-pipewire-0.3.patch
|
||||||
|
* qtwebengine-python3.patch
|
||||||
|
- Use a newer catapult snapshot when building with python3
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Aug 8 06:45:29 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
Mon Aug 8 06:45:29 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libqt5-qtwebengine
|
# spec file for package libqt5-qtwebengine
|
||||||
#
|
#
|
||||||
# Copyright (c) 2021 SUSE LLC
|
# Copyright (c) 2022 SUSE LLC
|
||||||
# Copyright © 2017 Kevin Kofler <Kevin@tigcc.ticalc.org>
|
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -24,6 +23,10 @@
|
|||||||
%endif
|
%endif
|
||||||
%bcond_without system_ffmpeg
|
%bcond_without system_ffmpeg
|
||||||
%bcond_without system_minizip
|
%bcond_without system_minizip
|
||||||
|
%bcond_without pipewire
|
||||||
|
%if %{?suse_version} > 1500 || 0%{?sle_version} > 150400
|
||||||
|
%bcond_without python3
|
||||||
|
%endif
|
||||||
|
|
||||||
# spellchecking dictionary directory
|
# spellchecking dictionary directory
|
||||||
%global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries
|
%global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries
|
||||||
@ -40,6 +43,8 @@ URL: https://www.qt.io
|
|||||||
%define so_version 5.15.10
|
%define so_version 5.15.10
|
||||||
%define tar_version qtwebengine-everywhere-src-%{version}
|
%define tar_version qtwebengine-everywhere-src-%{version}
|
||||||
Source: %{tar_version}.tar.xz
|
Source: %{tar_version}.tar.xz
|
||||||
|
# Use a git snapshot for catapult to build with python3 (git rev: b7e9d5899)
|
||||||
|
Source1: catapult-git.tar.xz
|
||||||
Source99: libqt5-qtwebengine-rpmlintrc
|
Source99: libqt5-qtwebengine-rpmlintrc
|
||||||
# PATCH-FIX-UPSTREAM armv6-ffmpeg-no-thumb.patch - Fix ffmpeg configuration for armv6
|
# PATCH-FIX-UPSTREAM armv6-ffmpeg-no-thumb.patch - Fix ffmpeg configuration for armv6
|
||||||
Patch0: armv6-ffmpeg-no-thumb.patch
|
Patch0: armv6-ffmpeg-no-thumb.patch
|
||||||
@ -50,26 +55,26 @@ Patch2: sandbox-statx-futex_time64.patch
|
|||||||
Patch3: rtc-dont-use-h264.patch
|
Patch3: rtc-dont-use-h264.patch
|
||||||
# PATCH-FIX-UPSTREAM
|
# PATCH-FIX-UPSTREAM
|
||||||
Patch4: 0001-skia-Some-includes-to-fix-build-with-GCC-12.patch
|
Patch4: 0001-skia-Some-includes-to-fix-build-with-GCC-12.patch
|
||||||
|
# PATCH-FIX-UPSTREAM -- build with pipewire 0.3
|
||||||
|
Patch5: qtwebengine-pipewire-0.3.patch
|
||||||
|
### Patch 50-99 are applied conditionally
|
||||||
|
# PATCH-FIX-OPENSUSE -- allow building qtwebengine with python3 and ffmpeg5
|
||||||
|
Patch50: qtwebengine-python3.patch
|
||||||
|
Patch51: qtwebengine-ffmpeg5.patch
|
||||||
|
###
|
||||||
# http://www.chromium.org/blink is not ported to PowerPC & s390
|
# http://www.chromium.org/blink is not ported to PowerPC & s390
|
||||||
ExcludeArch: ppc ppc64 ppc64le s390 s390x
|
ExcludeArch: ppc ppc64 ppc64le s390 s390x
|
||||||
# Try to fix i586 MemoryErrors with rpmlint
|
# Try to fix i586 MemoryErrors with rpmlint
|
||||||
#!BuildIgnore: rpmlint
|
#!BuildIgnore: rpmlint
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
%if %{with system_ffmpeg}
|
|
||||||
BuildRequires: ffmpeg-4-libavcodec-devel
|
|
||||||
BuildRequires: ffmpeg-4-libavformat-devel
|
|
||||||
BuildRequires: ffmpeg-4-libavutil-devel
|
|
||||||
%endif
|
|
||||||
BuildRequires: flac-devel
|
BuildRequires: flac-devel
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
BuildRequires: gperf
|
|
||||||
BuildRequires: git-core
|
BuildRequires: git-core
|
||||||
|
BuildRequires: gperf
|
||||||
BuildRequires: krb5
|
BuildRequires: krb5
|
||||||
BuildRequires: krb5-devel
|
BuildRequires: krb5-devel
|
||||||
BuildRequires: libQt5QuickControls2-devel
|
BuildRequires: libQt5QuickControls2-devel
|
||||||
# For building pdf examples...
|
|
||||||
BuildRequires: libqt5-qtsvg-devel
|
|
||||||
BuildRequires: libcap-devel
|
BuildRequires: libcap-devel
|
||||||
BuildRequires: libgcrypt-devel
|
BuildRequires: libgcrypt-devel
|
||||||
BuildRequires: libjpeg-devel
|
BuildRequires: libjpeg-devel
|
||||||
@ -77,37 +82,45 @@ BuildRequires: libpng-devel
|
|||||||
BuildRequires: libqt5-qtbase-private-headers-devel >= 5.12
|
BuildRequires: libqt5-qtbase-private-headers-devel >= 5.12
|
||||||
BuildRequires: libqt5-qtdeclarative-private-headers-devel >= 5.12
|
BuildRequires: libqt5-qtdeclarative-private-headers-devel >= 5.12
|
||||||
BuildRequires: libqt5-qtlocation-private-headers-devel >= 5.12
|
BuildRequires: libqt5-qtlocation-private-headers-devel >= 5.12
|
||||||
|
# For building pdf examples...
|
||||||
|
BuildRequires: libqt5-qtsvg-devel
|
||||||
BuildRequires: libqt5-qttools-private-headers-devel >= 5.12
|
BuildRequires: libqt5-qttools-private-headers-devel >= 5.12
|
||||||
BuildRequires: libqt5-qtwebchannel-private-headers-devel >= 5.12
|
BuildRequires: libqt5-qtwebchannel-private-headers-devel >= 5.12
|
||||||
BuildRequires: libqt5-qtxmlpatterns-private-headers-devel >= 5.12
|
BuildRequires: libqt5-qtxmlpatterns-private-headers-devel >= 5.12
|
||||||
BuildRequires: memory-constraints
|
BuildRequires: memory-constraints
|
||||||
BuildRequires: ninja
|
BuildRequires: ninja
|
||||||
# nodejs-default doesn't exist on Leap 15.2
|
|
||||||
%if 0%{?suse_version} == 1500 && 0%{?sle_version} == 150200
|
|
||||||
BuildRequires: nodejs-common
|
|
||||||
%else
|
|
||||||
BuildRequires: nodejs-default
|
BuildRequires: nodejs-default
|
||||||
%endif
|
|
||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
BuildRequires: pciutils-devel
|
BuildRequires: pciutils-devel
|
||||||
BuildRequires: perl
|
BuildRequires: perl
|
||||||
BuildRequires: perl-JSON
|
BuildRequires: perl-JSON
|
||||||
|
%if %{with pipewire}
|
||||||
|
BuildRequires: pipewire-devel
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
|
%if %{with python3}
|
||||||
|
BuildRequires: python3
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-html5lib
|
||||||
|
BuildRequires: python3-xml
|
||||||
|
%else
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
BuildRequires: python-xml
|
BuildRequires: python-xml
|
||||||
|
%endif
|
||||||
BuildRequires: re2c
|
BuildRequires: re2c
|
||||||
BuildRequires: sed
|
BuildRequires: sed
|
||||||
BuildRequires: snappy-devel
|
BuildRequires: snappy-devel
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
BuildRequires: usbutils
|
BuildRequires: usbutils
|
||||||
BuildRequires: util-linux
|
BuildRequires: util-linux
|
||||||
%ifnarch %arm
|
%ifnarch %{arm}
|
||||||
BuildRequires: valgrind-devel
|
BuildRequires: valgrind-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: wdiff
|
BuildRequires: wdiff
|
||||||
BuildRequires: xz
|
BuildRequires: xz
|
||||||
BuildRequires: yasm
|
BuildRequires: yasm
|
||||||
|
BuildRequires: yasm-devel
|
||||||
BuildRequires: perl(Switch)
|
BuildRequires: perl(Switch)
|
||||||
BuildRequires: pkgconfig(alsa)
|
BuildRequires: pkgconfig(alsa)
|
||||||
BuildRequires: pkgconfig(atk)
|
BuildRequires: pkgconfig(atk)
|
||||||
@ -123,10 +136,15 @@ BuildRequires: pkgconfig(gmodule-2.0)
|
|||||||
BuildRequires: pkgconfig(gobject-2.0)
|
BuildRequires: pkgconfig(gobject-2.0)
|
||||||
BuildRequires: pkgconfig(gthread-2.0)
|
BuildRequires: pkgconfig(gthread-2.0)
|
||||||
BuildRequires: pkgconfig(harfbuzz) >= 2.4.0
|
BuildRequires: pkgconfig(harfbuzz) >= 2.4.0
|
||||||
BuildRequires: pkgconfig(icu-uc) >= 65.0
|
|
||||||
BuildRequires: pkgconfig(icu-i18n) >= 65.0
|
BuildRequires: pkgconfig(icu-i18n) >= 65.0
|
||||||
|
BuildRequires: pkgconfig(icu-uc) >= 65.0
|
||||||
BuildRequires: pkgconfig(jsoncpp)
|
BuildRequires: pkgconfig(jsoncpp)
|
||||||
BuildRequires: pkgconfig(lcms2)
|
BuildRequires: pkgconfig(lcms2)
|
||||||
|
%if %{with system_ffmpeg}
|
||||||
|
BuildRequires: pkgconfig(libavcodec)
|
||||||
|
BuildRequires: pkgconfig(libavformat)
|
||||||
|
BuildRequires: pkgconfig(libavutil)
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(libcrypto)
|
BuildRequires: pkgconfig(libcrypto)
|
||||||
BuildRequires: pkgconfig(libdrm)
|
BuildRequires: pkgconfig(libdrm)
|
||||||
BuildRequires: pkgconfig(libevent)
|
BuildRequires: pkgconfig(libevent)
|
||||||
@ -273,7 +291,30 @@ Recommends: libqt5-qtpdf-devel
|
|||||||
Examples for the libqt5-qtpdf module.
|
Examples for the libqt5-qtpdf module.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n %{tar_version}
|
%setup -q -n %{tar_version}
|
||||||
|
# Leap 15 doesn't understand '%%autopatch -m'
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
|
|
||||||
|
%if %{with python3}
|
||||||
|
%patch50 -p1
|
||||||
|
# Replace the whole catapult folder rather than picking individual changes
|
||||||
|
pushd src/3rdparty/chromium/third_party
|
||||||
|
rm -r catapult
|
||||||
|
tar xJf %{SOURCE1}
|
||||||
|
mv catapult-git catapult
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# FFmpeg 5
|
||||||
|
%if %{with system_ffmpeg} && %{pkg_vcmp libavcodec-devel >= 5}
|
||||||
|
%patch51 -p1
|
||||||
|
%endif
|
||||||
|
|
||||||
sed -i 's|$(STRIP)|strip|g' src/core/core_module.pro
|
sed -i 's|$(STRIP)|strip|g' src/core/core_module.pro
|
||||||
|
|
||||||
#force the configure script to generate the forwarding headers (it checks whether .git directory exists)
|
#force the configure script to generate the forwarding headers (it checks whether .git directory exists)
|
||||||
@ -314,6 +355,9 @@ export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -Wno-return-type"
|
|||||||
-system-webengine-ffmpeg \
|
-system-webengine-ffmpeg \
|
||||||
-webengine-proprietary-codecs \
|
-webengine-proprietary-codecs \
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with pipewire}
|
||||||
|
-webengine-webrtc-pipewire
|
||||||
|
%endif
|
||||||
|
|
||||||
# Determine the right number of parallel processes based on the available memory
|
# Determine the right number of parallel processes based on the available memory
|
||||||
%limit_build -m 2750
|
%limit_build -m 2750
|
||||||
@ -322,6 +366,7 @@ export RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -Wno-return-type"
|
|||||||
# processes instead of its defaults.
|
# processes instead of its defaults.
|
||||||
export NINJAFLAGS="%{?_smp_mflags}"
|
export NINJAFLAGS="%{?_smp_mflags}"
|
||||||
|
|
||||||
|
# Warning: Don't use %%make_build or the chromium build log won't be available
|
||||||
make %{_smp_mflags} VERBOSE=1
|
make %{_smp_mflags} VERBOSE=1
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
153
qtwebengine-ffmpeg5.patch
Normal file
153
qtwebengine-ffmpeg5.patch
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
Allow building qtwebengine using ffmpeg 5
|
||||||
|
Origin: ArchLinux, https://github.com/archlinux/svntogit-packages/tree/packages/qt5-webengine/trunk
|
||||||
|
|
||||||
|
diff --git a/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h b/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
|
||||||
|
index 2734a48..70b1877 100644
|
||||||
|
--- a/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
|
||||||
|
+++ b/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
|
||||||
|
@@ -29,6 +29,7 @@ extern "C" {
|
||||||
|
#include <libavformat/avformat.h>
|
||||||
|
#include <libavformat/avio.h>
|
||||||
|
#include <libavutil/avutil.h>
|
||||||
|
+#include <libavutil/channel_layout.h>
|
||||||
|
#include <libavutil/imgutils.h>
|
||||||
|
#include <libavutil/log.h>
|
||||||
|
#include <libavutil/mastering_display_metadata.h>
|
||||||
|
diff --git a/src/3rdparty/chromium/media/filters/audio_file_reader.cc b/src/3rdparty/chromium/media/filters/audio_file_reader.cc
|
||||||
|
index cb81d92..bd73908 100644
|
||||||
|
--- a/src/3rdparty/chromium/media/filters/audio_file_reader.cc
|
||||||
|
+++ b/src/3rdparty/chromium/media/filters/audio_file_reader.cc
|
||||||
|
@@ -85,7 +85,7 @@ bool AudioFileReader::OpenDemuxer() {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AudioFileReader::OpenDecoder() {
|
||||||
|
- AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
|
||||||
|
+ const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
|
||||||
|
if (codec) {
|
||||||
|
// MP3 decodes to S16P which we don't support, tell it to use S16 instead.
|
||||||
|
if (codec_context_->sample_fmt == AV_SAMPLE_FMT_S16P)
|
||||||
|
diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc b/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc
|
||||||
|
index 0d825ed..72fac61 100644
|
||||||
|
--- a/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc
|
||||||
|
+++ b/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc
|
||||||
|
@@ -329,7 +329,7 @@ bool FFmpegAudioDecoder::ConfigureDecoder(const AudioDecoderConfig& config) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
|
||||||
|
+ const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
|
||||||
|
if (!codec ||
|
||||||
|
avcodec_open2(codec_context_.get(), codec, &codec_options) < 0) {
|
||||||
|
DLOG(ERROR) << "Could not initialize audio decoder: "
|
||||||
|
diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc
|
||||||
|
index d34db63..427565b 100644
|
||||||
|
--- a/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc
|
||||||
|
+++ b/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc
|
||||||
|
@@ -98,12 +98,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) {
|
||||||
|
|
||||||
|
// Next try to use the first DTS value, for codecs where we know PTS == DTS
|
||||||
|
// (excludes all H26x codecs). The start time must be returned in PTS.
|
||||||
|
- if (stream->first_dts != kNoFFmpegTimestamp &&
|
||||||
|
+ if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp &&
|
||||||
|
stream->codecpar->codec_id != AV_CODEC_ID_HEVC &&
|
||||||
|
stream->codecpar->codec_id != AV_CODEC_ID_H264 &&
|
||||||
|
stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) {
|
||||||
|
const base::TimeDelta first_pts =
|
||||||
|
- ConvertFromTimeBase(stream->time_base, stream->first_dts);
|
||||||
|
+ ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream));
|
||||||
|
if (first_pts < start_time)
|
||||||
|
start_time = first_pts;
|
||||||
|
}
|
||||||
|
@@ -408,11 +408,11 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
||||||
|
scoped_refptr<DecoderBuffer> buffer;
|
||||||
|
|
||||||
|
if (type() == DemuxerStream::TEXT) {
|
||||||
|
- int id_size = 0;
|
||||||
|
+ size_t id_size = 0;
|
||||||
|
uint8_t* id_data = av_packet_get_side_data(
|
||||||
|
packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size);
|
||||||
|
|
||||||
|
- int settings_size = 0;
|
||||||
|
+ size_t settings_size = 0;
|
||||||
|
uint8_t* settings_data = av_packet_get_side_data(
|
||||||
|
packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size);
|
||||||
|
|
||||||
|
@@ -424,7 +424,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
||||||
|
buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
|
||||||
|
side_data.data(), side_data.size());
|
||||||
|
} else {
|
||||||
|
- int side_data_size = 0;
|
||||||
|
+ size_t side_data_size = 0;
|
||||||
|
uint8_t* side_data = av_packet_get_side_data(
|
||||||
|
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
|
||||||
|
|
||||||
|
@@ -485,7 +485,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
||||||
|
packet->size - data_offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
- int skip_samples_size = 0;
|
||||||
|
+ size_t skip_samples_size = 0;
|
||||||
|
const uint32_t* skip_samples_ptr =
|
||||||
|
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
|
||||||
|
packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
|
||||||
|
diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc b/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc
|
||||||
|
index 0ef3521..8483ecc 100644
|
||||||
|
--- a/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc
|
||||||
|
+++ b/src/3rdparty/chromium/media/filters/ffmpeg_glue.cc
|
||||||
|
@@ -59,7 +59,6 @@ static int64_t AVIOSeekOperation(void* opaque, int64_t offset, int whence) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void FFmpegGlue::InitializeFFmpeg() {
|
||||||
|
- av_register_all();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void LogContainer(bool is_local_file,
|
||||||
|
@@ -95,9 +94,6 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol* protocol) {
|
||||||
|
// Enable fast, but inaccurate seeks for MP3.
|
||||||
|
format_context_->flags |= AVFMT_FLAG_FAST_SEEK;
|
||||||
|
|
||||||
|
- // Ensures we can read out various metadata bits like vp8 alpha.
|
||||||
|
- format_context_->flags |= AVFMT_FLAG_KEEP_SIDE_DATA;
|
||||||
|
-
|
||||||
|
// Ensures format parsing errors will bail out. From an audit on 11/2017, all
|
||||||
|
// instances were real failures. Solves bugs like http://crbug.com/710791.
|
||||||
|
format_context_->error_recognition |= AV_EF_EXPLODE;
|
||||||
|
diff --git a/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc b/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc
|
||||||
|
index ef12477..7996606 100644
|
||||||
|
--- a/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc
|
||||||
|
+++ b/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc
|
||||||
|
@@ -391,7 +391,7 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config,
|
||||||
|
if (decode_nalus_)
|
||||||
|
codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;
|
||||||
|
|
||||||
|
- AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
|
||||||
|
+ const AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
|
||||||
|
if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) {
|
||||||
|
ReleaseFFmpegResources();
|
||||||
|
return false;
|
||||||
|
diff --git a/src/3rdparty/chromium/media/filters/media_file_checker.cc b/src/3rdparty/chromium/media/filters/media_file_checker.cc
|
||||||
|
index 59c2a2f..1a9872c 100644
|
||||||
|
--- a/src/3rdparty/chromium/media/filters/media_file_checker.cc
|
||||||
|
+++ b/src/3rdparty/chromium/media/filters/media_file_checker.cc
|
||||||
|
@@ -68,7 +68,7 @@ bool MediaFileChecker::Start(base::TimeDelta check_time) {
|
||||||
|
auto context = AVStreamToAVCodecContext(format_context->streams[i]);
|
||||||
|
if (!context)
|
||||||
|
continue;
|
||||||
|
- AVCodec* codec = avcodec_find_decoder(cp->codec_id);
|
||||||
|
+ const AVCodec* codec = avcodec_find_decoder(cp->codec_id);
|
||||||
|
if (codec && avcodec_open2(context.get(), codec, nullptr) >= 0) {
|
||||||
|
auto loop = std::make_unique<FFmpegDecodingLoop>(context.get());
|
||||||
|
stream_contexts[i] = {std::move(context), std::move(loop)};
|
||||||
|
diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
|
||||||
|
index 9002b87..d12fade 100644
|
||||||
|
--- a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
|
||||||
|
+++ b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
|
||||||
|
@@ -203,7 +203,7 @@ int32_t H264DecoderImpl::InitDecode(const VideoCodec* codec_settings,
|
||||||
|
// a pointer |this|.
|
||||||
|
av_context_->opaque = this;
|
||||||
|
|
||||||
|
- AVCodec* codec = avcodec_find_decoder(av_context_->codec_id);
|
||||||
|
+ const AVCodec* codec = avcodec_find_decoder(av_context_->codec_id);
|
||||||
|
if (!codec) {
|
||||||
|
// This is an indication that FFmpeg has not been initialized or it has not
|
||||||
|
// been compiled/initialized with the correct set of codecs.
|
1764
qtwebengine-pipewire-0.3.patch
Normal file
1764
qtwebengine-pipewire-0.3.patch
Normal file
File diff suppressed because it is too large
Load Diff
2058
qtwebengine-python3.patch
Normal file
2058
qtwebengine-python3.patch
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user