update to 6.2.3 [release 6.2.3-1mamba;Sun Feb 20 2022]

This commit is contained in:
Silvan Calarco 2024-01-05 17:15:55 +01:00
parent 985a8f1a6c
commit 9d2a7615c0
3 changed files with 398 additions and 0 deletions

View File

@ -1,2 +1,4 @@
# qt6-qtwebengine
Qt6 WebEngine component.

View File

@ -0,0 +1,150 @@
diff --git a/chromium/media/ffmpeg/ffmpeg_common.h b/chromium/media/ffmpeg/ffmpeg_common.h
index 2734a485cbd..70b1877a43c 100644
--- a/chromium/media/ffmpeg/ffmpeg_common.h
+++ b/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/chromium/media/filters/audio_file_reader.cc b/chromium/media/filters/audio_file_reader.cc
index cb81d920def..bd73908d0ca 100644
--- a/chromium/media/filters/audio_file_reader.cc
+++ b/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/chromium/media/filters/ffmpeg_audio_decoder.cc b/chromium/media/filters/ffmpeg_audio_decoder.cc
index 0d825ed791b..72fac6167ef 100644
--- a/chromium/media/filters/ffmpeg_audio_decoder.cc
+++ b/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/chromium/media/filters/ffmpeg_demuxer.cc b/chromium/media/filters/ffmpeg_demuxer.cc
index d34db63f3ef..427565b00c1 100644
--- a/chromium/media/filters/ffmpeg_demuxer.cc
+++ b/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/chromium/media/filters/ffmpeg_glue.cc b/chromium/media/filters/ffmpeg_glue.cc
index 0ef3521473d..8483ecc348f 100644
--- a/chromium/media/filters/ffmpeg_glue.cc
+++ b/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/chromium/media/filters/ffmpeg_video_decoder.cc b/chromium/media/filters/ffmpeg_video_decoder.cc
index ef12477ee89..7996606f5f9 100644
--- a/chromium/media/filters/ffmpeg_video_decoder.cc
+++ b/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/chromium/media/filters/media_file_checker.cc b/chromium/media/filters/media_file_checker.cc
index 59c2a2fc618..1a9872c7acb 100644
--- a/chromium/media/filters/media_file_checker.cc
+++ b/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/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc b/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
index 9002b874611..d12fade8b63 100644
--- a/chromium/third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.cc
+++ b/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.

246
qt6-qtwebengine.spec Normal file
View File

@ -0,0 +1,246 @@
%define majver %(echo %version | cut -d. -f1-2)
Name: qt6-qtwebengine
Version: 6.2.3
Release: 1mamba
Summary: Qt6 WebEngine component
Group: System/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://www.qt.io/
Source: https://download.qt.io/official_releases/qt/%{majver}/%{version}/submodules/qtwebengine-everywhere-src-%{version}.tar.xz
Patch0: qt6-qtwebengine-6.2.3-ffmpeg-5.0.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libX11-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXdamage-devel
BuildRequires: libXext-devel
BuildRequires: libXfixes-devel
BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXtst-devel
BuildRequires: libalsa-devel
BuildRequires: libavcodec-ffmpeg-devel
BuildRequires: libavformat-ffmpeg-devel
BuildRequires: libavutil-ffmpeg-devel
BuildRequires: libdbus-devel
BuildRequires: libevent-devel
BuildRequires: libexpat-devel
BuildRequires: libfontconfig-devel
BuildRequires: libfreetype-devel
BuildRequires: libgcc
BuildRequires: libglib-devel
BuildRequires: libglvnd-devel
BuildRequires: libharfbuzz-devel
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel
BuildRequires: liblcms2-devel
BuildRequires: libminizip1-devel
BuildRequires: libnspr-devel
BuildRequires: libnss-devel
BuildRequires: libopus-devel
BuildRequires: libpci-devel
BuildRequires: libpng-devel
BuildRequires: libre2-devel
BuildRequires: libsnappy-devel
BuildRequires: libstdc++6-devel
BuildRequires: libvpx-devel
BuildRequires: libwebp-devel
BuildRequires: libxcb-devel
BuildRequires: libxkbcommon-devel
BuildRequires: libxkbfile-devel
BuildRequires: libxshmfence-devel
BuildRequires: libz-devel
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtdeclarative-devel
## AUTOBUILDREQ-END
%description
Qt6 WebEngine component.
%package devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description devel
This package contains libraries and header files for developing applications that use %{name}.
%debug_package
%prep
%setup -q -n qtwebengine-everywhere-src-%{version}
#-D -T
#:<< _EOF
cd src/3rdparty
%patch0 -p1 -b .ffmpèeg-5.0
cd ../..
%build
#:<< _EOF
# Prevent build server slowness/crash due to memory
%ifarch arm
export NINJAFLAGS="-j1"
%else
export NINJAFLAGS="-j2"
%endif
%ifarch %{ix86} aarch64
export CXXFLAGS+="%{optflags} -Os -s -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,--no-keep-memory -fPIC -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -Wl,--no-fatal-warnings"
%else
export CXXFLAGS+="%{optflags} -fPIC -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -Wl,--no-fatal-warnings"
%endif
%cmake -d build \
-G Ninja \
-DQT_FEATURE_webengine_system_ffmpeg=ON \
-DQT_FEATURE_webengine_system_icu=ON \
-DQT_FEATURE_webengine_system_libevent=ON \
-DQT_FEATURE_webengine_proprietary_codecs=ON \
-DQT_FEATURE_webengine_kerberos=ON \
-DQT_FEATURE_webengine_webrtc_pipewire=ON \
-DQT_FEATURE_webengine_full_debug_info=ON
cmake --build .
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
DESTDIR="%{buildroot}" cmake --install build
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
#-f %{name}.lang
%defattr(-,root,root)
%{_datadir}/qt6/resources/qtwebengine_devtools_resources.pak
%{_datadir}/qt6/resources/qtwebengine_resources.pak
%{_datadir}/qt6/resources/qtwebengine_resources_100p.pak
%{_datadir}/qt6/resources/qtwebengine_resources_200p.pak
%dir %{_datadir}/qt6/translations/qtwebengine_locales
%{_datadir}/qt6/translations/qtwebengine_locales/*.pak
%defattr(-,root,root)
%{_libdir}/libQt6WebEngineCore.so.*
%{_libdir}/libQt6WebEngineWidgets.so.*
%{_libdir}/libQt6WebEngineQuick.so.*
%{_libdir}/libQt6WebEngineQuickDelegatesQml.so.*
%{_libdir}/qt6/libexec/*
%{_datadir}/qt6/modules/WebEngine*.json
%dir %{_libdir}/qml/QtWebEngine
%{_libdir}/qml/QtWebEngine/*
%{_libdir}/metatypes/qt6webengine*.json
%doc LICENSE.GPL3 LICENSE.GPL3-EXCEPT
%doc LICENSE.LGPL3 LICENSE.Chromium LICENSE.FDL
%files devel
%defattr(-,root,root)
%dir %{_includedir}/qt6/QtWebEngineQuick
%{_includedir}/qt6/QtWebEngineQuick/*
%dir %{_includedir}/qt6/QtWebEngineCore
%{_includedir}/qt6/QtWebEngineCore/*
%dir %{_includedir}/qt6/QtWebEngineWidgets
%{_includedir}/qt6/QtWebEngineWidgets/*
%dir %{_libdir}/cmake/Qt6WebEngineCore
%{_libdir}/cmake/Qt6WebEngineCore/*.cmake
%{_libdir}/cmake/Qt6/Find*.cmake
%dir %{_libdir}/cmake/Qt6WebEngineWidgets
%{_libdir}/libQt6WebEngineCore.prl
%{_libdir}/libQt6WebEngineCore.so
%{_libdir}/libQt6WebEngineWidgets.prl
%{_libdir}/libQt6WebEngineWidgets.so
%{_libdir}/libQt6WebEngineQuick.prl
%{_libdir}/libQt6WebEngineQuick.so
%{_libdir}/libQt6WebEngineQuickDelegatesQml.prl
%{_libdir}/libQt6WebEngineQuickDelegatesQml.so
%{_libdir}/qt6/mkspecs/modules/qt_lib_webengine*.pri
%dir %{_libdir}/cmake/Qt6WebEngineCoreTools
%{_libdir}/cmake/Qt6WebEngineCoreTools/Qt6WebEngineCoreTools*.cmake
%dir %{_libdir}/cmake/Qt6WebEngineQuick
%{_libdir}/cmake/Qt6WebEngineQuick/Qt6WebEngineQuick*.cmake
%dir %{_libdir}/cmake/Qt6WebEngineWidgets
%{_libdir}/cmake/Qt6WebEngineWidgets/Qt6WebEngineWidgets*.cmake
%dir %{_libdir}/cmake/Qt6BuildInternals/StandaloneTests
%{_libdir}/cmake/Qt6BuildInternals/StandaloneTests/QtWebEngine*.cmake
%dir %{_libdir}/cmake/Qt6Qml/QmlPlugins
%{_libdir}/cmake/Qt6Qml/QmlPlugins/Qt6qtwebengine*.cmake
%dir %{_libdir}/cmake/Qt6WebEngineQuickDelegatesQml
%{_libdir}/cmake/Qt6WebEngineQuickDelegatesQml/Qt6WebEngineQuickDelegatesQml*.cmake
%changelog
* Sun Feb 20 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 6.2.3-1mamba
- update to 6.2.3
* Fri Dec 24 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 5.15.7-1mamba
- update to 5.15.7
* Sat Jan 02 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 5.15.2-1mamba
- update to 5.15.2
* Mon Oct 19 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 5.15.1-1mamba
- update to 5.15.1
* Mon Aug 31 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 5.15.0-2mamba
- rebuilt with system ffmpeg and icu
* Fri Aug 28 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 5.15.0-1mamba
- update to 5.15.0
* Tue Apr 07 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 5.14.2-1mamba
- update to 5.14.2
* Wed Oct 23 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 5.13.1-1mamba
- update to 5.13.1
* Sun Jun 23 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 5.13.0-1mamba
- update to 5.13.0
* Tue May 07 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 5.12.3-1mamba
- update to 5.12.3
* Tue Mar 19 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 5.12.2-1mamba
- update to 5.12.2
* Sun Feb 10 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 5.12.1-1mamba
- update to 5.12.1
* Sun Dec 30 2018 Automatic Build System <autodist@mambasoft.it> 5.12.0-1mamba
- automatic version update by autodist
* Sat Nov 03 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 5.11.2-1mamba
- update to 5.11.2
* Sat Jul 21 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 5.11.1-1mamba
- update to 5.11.1
* Wed Jun 06 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 5.11.0-1mamba
- update to 5.11.0
* Sat Feb 24 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 5.10.1-1mamba
- update to 5.10.1
* Sat Jan 27 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 5.10.0-1mamba
- update to 5.10.0
* Thu Oct 19 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 5.9.2-1mamba
- update to 5.9.2
* Fri Dec 16 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 5.7.1-1mamba
- update to 5.7.1
* Thu Dec 15 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 5.7.0-4mamba
- rebuilt with gcc
* Thu Dec 15 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 5.7.0-3mamba
- rebuilt with -fno-delete-null-pointer-checks CXXFLAGS and use_system_ffmpeg
* Thu Dec 15 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 5.7.0-2mamba
- bump release to allow update with qt6 release update
* Sat Jul 16 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 5.7.0-1mamba
- package created using the webbuild interface