- update to 119.0.6045.159

- add Requires/Conflicts for ABI break in fmpeg-free 6.0.1
- drop first_dts patch, reintroduce first_dts patch in ffmpeg-free-6.0.1
- fixed python3 syntaxWarning: invalid escape sequenc
- skip clang's patches for epel8 that now gets clang-16 update
- fixed bz#2240127, Some h.264 mp4s do not play
- fixed python3 syntaxWarning: invalid escape sequence
- fix ffmpeg conflicts
i9e-gost-119.0.6045.159 changed/i9e/chromium-119.0.6045.159-1.el9.inferit
Arkady L. Shane 12 months ago
parent 049b50f1fa
commit 4bbd14c767
Signed by: tigro
GPG Key ID: 1EC08A25C9DB2503

@ -1,4 +1,4 @@
df45906bbf86530822cd761e67761b24aa12fb7c SOURCES/chromium-119.0.6045.123.tar.xz
80d6f9be1cc55655da56c20c67de2c83786f0280 SOURCES/chromium-119.0.6045.159.tar.xz
dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz
7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz
769196d081c6a0ad37f1c63dec56febfff3370de SOURCES/node-v20.6.1-linux-x64.tar.xz

@ -1,94 +0,0 @@
diff -up chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.cc.first_dts chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.cc
--- chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.cc.first_dts 2023-11-01 19:10:31.000000000 +0100
+++ chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.cc 2023-11-06 13:05:09.819011697 +0100
@@ -101,7 +101,7 @@ static base::TimeDelta FramesToTimeDelta
sample_rate);
}
-static base::TimeDelta ExtractStartTime(AVStream* stream) {
+static base::TimeDelta ExtractStartTime(AVStream* stream, int64_t first_dts) {
// The default start time is zero.
base::TimeDelta start_time;
@@ -111,12 +111,12 @@ static base::TimeDelta ExtractStartTime(
// 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 (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp &&
+ if (first_dts != AV_NOPTS_VALUE &&
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, av_stream_get_first_dts(stream));
+ ConvertFromTimeBase(stream->time_base, first_dts);
if (first_pts < start_time)
start_time = first_pts;
}
@@ -274,6 +274,7 @@ FFmpegDemuxerStream::FFmpegDemuxerStream
fixup_negative_timestamps_(false),
fixup_chained_ogg_(false),
num_discarded_packet_warnings_(0),
+ first_dts_(AV_NOPTS_VALUE),
last_packet_pos_(AV_NOPTS_VALUE),
last_packet_dts_(AV_NOPTS_VALUE) {
DCHECK(demuxer_);
@@ -336,6 +337,10 @@ void FFmpegDemuxerStream::EnqueuePacket(
int64_t packet_dts =
packet->dts == AV_NOPTS_VALUE ? packet->pts : packet->dts;
+ if (first_dts_ == AV_NOPTS_VALUE) {
+ first_dts_ = packet_dts;
+ }
+
// Chained ogg files have non-monotonically increasing position and time stamp
// values, which prevents us from using them to determine if a packet should
// be dropped. Since chained ogg is only allowed on single track audio only
@@ -1442,7 +1447,8 @@ void FFmpegDemuxer::OnFindStreamInfoDone
max_duration = std::max(max_duration, streams_[i]->duration());
- base::TimeDelta start_time = ExtractStartTime(stream);
+ base::TimeDelta start_time =
+ ExtractStartTime(stream, streams_[i]->first_dts());
// Note: This value is used for seeking, so we must take the true value and
// not the one possibly clamped to zero below.
@@ -1604,7 +1610,7 @@ FFmpegDemuxerStream* FFmpegDemuxer::Find
for (const auto& stream : streams_) {
if (!stream || stream->IsEnabled() != enabled)
continue;
- if (av_stream_get_first_dts(stream->av_stream()) == kInvalidPTSMarker)
+ if (stream->first_dts() == AV_NOPTS_VALUE)
continue;
if (!lowest_start_time_stream ||
stream->start_time() < lowest_start_time_stream->start_time()) {
@@ -1625,7 +1631,7 @@ FFmpegDemuxerStream* FFmpegDemuxer::Find
if (stream->type() != DemuxerStream::VIDEO)
continue;
- if (av_stream_get_first_dts(stream->av_stream()) == kInvalidPTSMarker)
+ if (stream->first_dts() == AV_NOPTS_VALUE)
continue;
if (!stream->IsEnabled())
diff -up chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.h.first_dts chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.h
--- chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.h.first_dts 2023-11-01 19:10:31.000000000 +0100
+++ chromium-119.0.6045.105/media/filters/ffmpeg_demuxer.h 2023-11-06 13:08:43.425784988 +0100
@@ -142,6 +142,8 @@ class MEDIA_EXPORT FFmpegDemuxerStream :
base::TimeDelta start_time() const { return start_time_; }
void set_start_time(base::TimeDelta time) { start_time_ = time; }
+ int64_t first_dts() const { return first_dts_; }
+
private:
friend class FFmpegDemuxerTest;
@@ -198,6 +200,7 @@ class MEDIA_EXPORT FFmpegDemuxerStream :
bool fixup_chained_ogg_;
int num_discarded_packet_warnings_;
+ int64_t first_dts_;
int64_t last_packet_pos_;
int64_t last_packet_dts_;
// Requested buffer count. The actual returned buffer count could be less

@ -1,4 +1,5 @@
#!/usr/bin/python3
# Copyright 2021-2023, Than Ngo <than@redhat.com>
# Copyright 2010,2015-2019 Tom Callaway <tcallawa@redhat.com>
# Copyright 2013-2016 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining
@ -324,7 +325,7 @@ if __name__ == '__main__':
delete_chromium_dir(directory)
# There has got to be a better, more portable way to do this.
os.system("find %s -depth -name reference_build -type d -exec rm -rf {} \;" % latest_dir)
os.system("find %s -depth -name reference_build -type d -exec rm -rf {} \\;" % latest_dir)
# I could not find good bindings for xz/lzma support, so we system call here too.
chromium_clean_xz_file = "chromium-" + chromium_version + "-clean.tar.xz"
@ -339,6 +340,6 @@ if __name__ == '__main__':
if (not args.prep):
print("Compressing cleaned tree, please wait...")
os.chdir(chromium_root_dir)
os.system("tar --exclude=\.svn -cf - chromium-%s | xz -9 -T 0 -f > %s" % (chromium_version, chromium_clean_xz_file))
os.system("tar --exclude=\\.svn -cf - chromium-%s | xz -9 -T 0 -f > %s" % (chromium_version, chromium_clean_xz_file))
print("Finished!")

@ -54,7 +54,10 @@
%global esbuild_version 0.19.2
# set version for devtoolset and gcc-toolset
%global dts_version 12
%if 0%{?rhel} == 8 || 0%{?rhel} == 9
%global dts_version 13
%endif
# set version for llvm-toolset on el7
%global llvm_toolset_version 14.0
@ -263,7 +266,7 @@
%endif
Name: chromium%{chromium_channel}
Version: 119.0.6045.123
Version: 119.0.6045.159
Release: 1%{?dist}.inferit
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home
@ -360,8 +363,6 @@ Patch110: chromium-115-buildflag-el7.patch
Patch114: chromium-107-ffmpeg-5.x-duration.patch
# disable the check
Patch115: chromium-107-proprietary-codecs.patch
# drop av_stream_get_first_dts from internal ffmpeg
Patch116: chromium-119-ffmpeg-first_dts.patch
# fix tab crash with SIGTRAP error when using system ffmpeg
Patch117: chromium-118-sigtrap_system_ffmpeg.patch
@ -371,7 +372,7 @@ Patch130: chromium-119-revert-av1enc-el9.patch
# file conflict with old kernel on el8/el9
Patch140: chromium-118-dma_buf_export_sync_file-conflict.patch
# fixes for old clang version in fedora < 38 end epel < 9 (old clang <= 15)
# fixes for old clang version in fedora < 38 end epel < 8 (old clang <= 15)
# compiler build errors, no matching constructor for initialization
Patch300: chromium-119-no_matching_constructor.patch
Patch301: chromium-115-compiler-SkColor4f.patch
@ -497,6 +498,15 @@ BuildRequires: binutils
#BuildRequires: pkgconfig(libavfilter)
#BuildRequires: pkgconfig(libavformat)
#BuildRequires: pkgconfig(libavutil)
# chromium fail to start for rpmfusion users due to ABI break in ffmpeg-free-6.0.1
# bethween fedora and rpmfussion.
#%%if 0%{?rhel} == 9 || 0%%{?fedora} == 37
#Conflicts: libavformat-free%{_isa} < 5.1.4
#Conflicts: ffmpeg-libs%{_isa} < 5.1.4
#%%else
#Conflicts: libavformat-free%{_isa} < 6.0.1
#Conflicts: ffmpeg-libs%{_isa} < 6.0.1-2
#%%endif
#%%endif
# build with system libaom
@ -970,7 +980,6 @@ udev.
#%%patch -P114 -p1 -b .ffmpeg-5.x-duration
#%%endif
#%%patch -P115 -p1 -b .prop-codecs
#%%patch -P116 -p1 -b .first_dts
#%%patch -P117 -p1 -b .sigtrap_system_ffmpeg
#%%endif
@ -997,7 +1006,7 @@ udev.
%endif
%if %{clang}
%if 0%{?rhel} < 9 || 0%{?fedora} < 38
%if 0%{?rhel} < 8 || 0%{?fedora} < 38
%patch -P300 -p1 -b .no_matching_constructor
%patch -P301 -p1 -b .workaround_clang-SkColor4f
%patch -P302 -p1 -b .workaround_clang_bug-structured_binding
@ -1724,6 +1733,16 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/chromedriver
%changelog
* Mon Nov 20 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 119.0.6045.159-1.inferit
- update to 119.0.6045.159
- add Requires/Conflicts for ABI break in fmpeg-free 6.0.1
- drop first_dts patch, reintroduce first_dts patch in ffmpeg-free-6.0.1
- fixed python3 syntaxWarning: invalid escape sequenc
- skip clang's patches for epel8 that now gets clang-16 update
- fixed bz#2240127, Some h.264 mp4s do not play
- fixed python3 syntaxWarning: invalid escape sequence
- fix ffmpeg conflicts
* Fri Nov 10 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 119.0.6045.123-1.inferit
- update to 119.0.6045.123, include following security fixes:
high CVE-2023-5996: Use after free in WebAudio

Loading…
Cancel
Save