FAILED: obj/media/ffmpeg/ffmpeg/ffmpeg_common.o /usr/bin/x86_64-pc-linux-gnu-g++ -MMD -MF obj/media/ffmpeg/ffmpeg/ffmpeg_common.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFIL E_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DIS_MEDIA_IMPL -DUSE_PULSEAUDIO -DDLOPEN_PULSEAUDIO -DGL_GLEXT_PROTOTYPES -DUSE_GLX -DUSE_EGL -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_GL -DSK_CODEC_DE CODES_JPEG -DSK_ENCODE_JPEG -DSK_USE_LIBGIFCODEC -DSK_VULKAN_HEADER=\"../../skia/config/SkVulkanConfig.h\" -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workarou nd_autogen.h\" -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DUCHAR_TYPE=uint16_t -Igen -I../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium -I../../../../qtwebengine-5.15.2_ p20211216/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen -Igen -Igen -Igen -Igen -Igen -Igen -I../../../../qtwebengine-5.15.2_p 20211216/src/3rdparty/chromium/third_party/vulkan_headers/include -Igen -I../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/third_party/libyuv/include -Igen -Igen -Igen -Igen -I../../../../qt webengine-5.15.2_p20211216/src/3rdparty/chromium/third_party/khronos -I../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/gpu -I../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/t hird_party/abseil-cpp -I../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/third_party/protob uf/src -Igen/protoc_out -I../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/third_party/skia -I../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/third_party/libgifcodec -I../../. ./../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/third_party/vulkan/include -I../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/third_party/vulkan_headers/include -I../../../../qtweben gine-5.15.2_p20211216/src/3rdparty/chromium/third_party/mesa_headers -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthrea d -m64 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -W no-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-c lass-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../../../ qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc -o obj/media/ffmpeg/ffmpeg/ffmpeg_common.o ../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc: In function ‘media::ChannelLayout media::ChannelLayoutToChromeChannelLayout(int64_t, int)’: ../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc:707:10: error: ‘AV_CH_LAYOUT_MONO’ was not declared in this scope; did you mean ‘CHANNEL_LAYOUT_MONO’? 707 | case AV_CH_LAYOUT_MONO: | ^~~~~~~~~~~~~~~~~ | CHANNEL_LAYOUT_MONO ../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc:709:10: error: ‘AV_CH_LAYOUT_STEREO’ was not declared in this scope; did you mean ‘CHANNEL_LAYOUT_STEREO’? 709 | case AV_CH_LAYOUT_STEREO: | ^~~~~~~~~~~~~~~~~~~ | CHANNEL_LAYOUT_STEREO ../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc:711:10: error: ‘AV_CH_LAYOUT_2_1’ was not declared in this scope; did you mean ‘CHANNEL_LAYOUT_2_1’? 711 | case AV_CH_LAYOUT_2_1: | ^~~~~~~~~~~~~~~~ | CHANNEL_LAYOUT_2_1 ../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc:713:10: error: ‘AV_CH_LAYOUT_SURROUND’ was not declared in this scope; did you mean ‘CHANNEL_LAYOUT_SURROUND’? 713 | case AV_CH_LAYOUT_SURROUND: | ^~~~~~~~~~~~~~~~~~~~~ | CHANNEL_LAYOUT_SURROUND ../../../../qtwebengine-5.15.2_p20211216/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc:715:10: error: ‘AV_CH_LAYOUT_4POINT0’ was not declared in this scope; did you mean ‘CHANNEL_LAYOUT_2POINT1’? 715 | case AV_CH_LAYOUT_4POINT0: | ^~~~~~~~~~~~~~~~~~~~ | CHANNEL_LAYOUT_2POINT1 Reproducible: Always
Portage 3.0.30 (python 3.9.10-final-0, !../../var/db/repos/kobboi-linux/profiles/kobboi/tanagra, gcc-11.2.1, glibc-2.34-r6, 5.15.14-gentoo-dist x86_64) ================================================================= System uname: Linux-5.15.14-gentoo-dist-x86_64-AMD_Ryzen_9_5950X_16-Core_Processor-with-glibc2.34 KiB Mem: 98872568 total, 58530584 free KiB Swap: 67108860 total, 67108860 free Timestamp of repository gentoo: Wed, 19 Jan 2022 13:30:01 +0000 Head commit of repository gentoo: 0e38714c614e269a4188c1521515a16e258f26be Timestamp of repository brother-overlay: Tue, 04 Jan 2022 12:07:32 +0000 Head commit of repository brother-overlay: acc42f0a94d4172139ab89985e36ef5c406dfdba Timestamp of repository eclipse: Sun, 02 Jan 2022 18:07:14 +0000 Head commit of repository eclipse: de1869b453b9ead7ae7e28f75858a2c612b3bd41 Timestamp of repository guru: Tue, 18 Jan 2022 08:52:59 +0000 Head commit of repository guru: d56f6e1ee98248316df28cbf7fbf9f1be68b70b8 Head commit of repository kobboi-linux: eed951fdfa40c173fa502473ce07bc08af1d7cff Timestamp of repository steam-overlay: Sun, 16 Jan 2022 17:52:59 +0000 Head commit of repository steam-overlay: fbbf584a3edeeb2820ede99c1199e242d61cd223 sh bash 5.1_p16 ld GNU ld (Gentoo 2.37_p1 p1) 2.37 distcc 3.4 x86_64-pc-linux-gnu [disabled] ccache version 4.5.1 [disabled] app-misc/pax-utils: 1.3.3::gentoo app-shells/bash: 5.1_p16::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.34.0-r6::gentoo dev-lang/python: 2.7.18_p13::gentoo, 3.9.10::gentoo, 3.10.2::gentoo dev-lang/rust: 1.58.0::gentoo dev-util/ccache: 4.5.1::gentoo dev-util/cmake: 3.22.1::gentoo dev-util/meson: 0.61.1::gentoo sys-apps/baselayout: 2.8::gentoo sys-apps/sandbox: 2.29::gentoo sys-apps/systemd: 250.2::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.71-r1::gentoo sys-devel/automake: 1.16.5::gentoo sys-devel/binutils: 2.37_p1-r1::gentoo sys-devel/binutils-config: 5.4::gentoo sys-devel/clang: 12.0.1::gentoo, 13.0.0::gentoo sys-devel/gcc: 11.2.1_p20220115::gentoo sys-devel/gcc-config: 2.5-r1::gentoo sys-devel/libtool: 2.4.6-r6::gentoo sys-devel/lld: 13.0.0::gentoo sys-devel/llvm: 12.0.1::gentoo, 13.0.0::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.16::gentoo (virtual/os-headers) sys-libs/glibc: 2.34-r6::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-extra-opts: sync-rsync-verify-metamanifest: yes sync-rsync-verify-jobs: 1 sync-rsync-verify-max-age: 24 brother-overlay location: /var/db/repos/brother-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/brother-overlay.git masters: gentoo eclipse location: /var/db/repos/eclipse sync-type: git sync-uri: https://github.com/gentoo-mirror/eclipse.git masters: gentoo guru location: /var/db/repos/guru sync-type: git sync-uri: https://github.com/gentoo-mirror/guru.git masters: gentoo kobboi-linux location: /var/db/repos/kobboi-linux sync-type: git sync-uri: https://github.com/kobboi/kobboi-linux masters: gentoo steam-overlay location: /var/db/repos/steam-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/steam-overlay.git masters: gentoo Installed sets: @kobboi-all-packages, @kobboi-machine-tanagra ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=znver3 -pipe -g -ggdb3" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.8/conf" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.4/ext-active/ /etc/php/apache2-php8.1/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cgi-php8.1/ext-active/ /etc/php/cli-php7.4/ext-active/ /etc/php/cli-php8.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=znver3 -pipe -g -ggdb3" DISTDIR="/var/cache/distfiles" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -march=znver3 -pipe -g -ggdb3" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg buildpkg-live compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles installsources ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -march=znver3 -pipe -g -ggdb3" GENTOO_MIRRORS="ftp://kobboi-linux:*password*@10.8.0.1/2020.11" INSTALL_MASK="/usr/src/debug /usr/lib/debug" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="X a52 aac acl acpi alsa amd64 avahi bluetooth bzip2 cairo cdda cdr cli colord crypt cups dbus dist-kernel djvu dri dts dvd dvdr eds egl encode evo exif facedetect ffmpeg flac fluidsynth fortran frei0r gdbm gif glade gles gles2 gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk gtk3 gtkstyle gui iconv icu introspection ipv6 jpeg ladspa lcms libass libglvnd libnotify libsecret libtirpc lv2 lz4 lzma lzo mad midi mng modemmanager mono mp3 mp4 mpeg mtp multilib nautilus ncurses networkmanager nls nptl ogg opencv opengl openmp opus pam pango pcre pdf png policykit ppds pulseaudio qt5 readline samba screencast sdl seccomp smartcard smp spell split-usr ssl startup-notification svg sysprof systemd tiff truetype udev udisks unicode upower usb v4l vaapi vdpau vorbis vulkan wayland wxwidgets x264 xattr xcb xml xv xvid zeroconf zlib" ABI_X86="64" ADA_TARGET="gnat_2020" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse synaptics libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="vesa radeon nvidia intel amdgpu dummy fbdev nouveau radeonsi v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Created attachment 762642 [details] build.log.gz
*** Bug 836342 has been marked as a duplicate of this bug. ***
Please test dev-qt/qtwebengine-5.15.3_p20220406.
(In reply to Andreas Sturmlechner from comment #4) > Please test dev-qt/qtwebengine-5.15.3_p20220406. Failing at: ./../../../../qtwebengine-5.15.3_p20220406/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc: In function ‘base::TimeDelta media::ExtractStartTime(AVStream*)’: ./../../../../qtwebengine-5.15.3_p20220406/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc:101:7: error: ‘av_stream_get_first_dts’ was not declared in this scope; did you mean ‘av_stream_get_side_data’? 101 | if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp && | ^~~~~~~~~~~~~~~~~~~~~~~ | av_stream_get_side_data
(with ffmpeg-5.0.1)
It seems like a patched ffmpeg-5 is needed to fix this build issue because the `av_stream_get_first_dts` bit doesn't exist in the current ffmpeg-5. At least that's how Arch Linux makes their qtwebengine patch which is also used here work. After applying the patch to ffmpeg-5.0.1 qtwebengine built fine with USE="system-ffmpeg". The patch used by Arch Linux: https://github.com/archlinux/svntogit-packages/blob/packages/ffmpeg/trunk/add-av_stream_get_first_dts-for-chromium.patch
Given whiteboard, let's close?
*** Bug 864725 has been marked as a duplicate of this bug. ***
*** Bug 881459 has been marked as a duplicate of this bug. ***
Confirmed with version 5.15.8_p20230112: ./../../../../qtwebengine-5.15.8_p20230112/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc: In function ‘base::TimeDelta media::ExtractStartTime(AVStream*)’: ./../../../../qtwebengine-5.15.8_p20230112/src/3rdparty/chromium/media/filters/ffmpeg_demuxer.cc:101:7: error: ‘av_stream_get_first_dts’ was not declared in this scope; did you mean ‘av_stream_get_side_data’? 101 | if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp && | ^~~~~~~~~~~~~~~~~~~~~~~ | av_stream_get_side_data
Created attachment 849089 [details, diff] qtwebengine-5.15.8 system-ffmpeg-5 patch Here's a patch based on a change that went into 102-based [1]. Have not tested -system-ffmpeg, nor ffmpeg-4, and have not given it extensive runtime testing either, but it at least builds and I haven't noticed any issues so far caused by it. https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/427771
Adding the following line to /etc/portage/package.use makes the build finish without error: =dev-qt/qtwebengine-5.15.8_p20230112 -system-ffmpeg
As Erik suggested, I have been able to emerge qtwebengine with: dev-qt/qtwebengine-5.15.8_p20230112 -system-ffmpeg
I took it as a given but I guess I'll adjust the summary to emphasise. (In reply to Chiitoo from comment #12) > Created attachment 849089 [details, diff] [details, diff] > qtwebengine-5.15.8 system-ffmpeg-5 patch > > Here's a patch based on a change that went into 102-based [1]. > > Have not tested -system-ffmpeg, nor ffmpeg-4, and have not given it > extensive runtime testing either, but it at least builds and I haven't > noticed any issues so far caused by it. > > https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/427771 fwiw opensuse's patch is from arch: https://build.opensuse.org/package/view_file/KDE:Qt5/libqt5-qtwebengine/qtwebengine-ffmpeg5.patch?expand=1
ffmpeg 6 will be out shortly. Any chance of movement on this or should we mask system-ffmpeg/have it require <ffmpeg-5:=?
I'm not working on this. But next chance would be next security vuln snapshot bump at best, not to make an unnecessary revbump.
(In reply to Andreas Sturmlechner from comment #17) > I'm not working on this. But next chance would be next security vuln > snapshot bump at best, not to make an unnecessary revbump. ack. My current plan is probably to unmask once that's done, whenever that may be.
(In reply to Sam James from comment #15) > I took it as a given but I guess I'll adjust the summary to emphasise. > > (In reply to Chiitoo from comment #12) > > Created attachment 849089 [details, diff] [details, diff] [details, diff] > > qtwebengine-5.15.8 system-ffmpeg-5 patch > > > > Here's a patch based on a change that went into 102-based [1]. > > > > Have not tested -system-ffmpeg, nor ffmpeg-4, and have not given it > > extensive runtime testing either, but it at least builds and I haven't > > noticed any issues so far caused by it. > > > > https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/427771 > > fwiw opensuse's patch is from arch: > https://build.opensuse.org/package/view_file/KDE:Qt5/libqt5-qtwebengine/ > qtwebengine-ffmpeg5.patch?expand=1 That's certainly different. :] I've been using the one I attached since I mentioned it, and haven't had issues with it as far as I can tell, but if someone can test that one as well and it works, could go with it?
New 5.15.8 snapshot is near, any changes here?
While packaging qt 6.4.3, I noticed there's a check at compile-time for ffmpeg compatibility [1], meaning qtwebengine will not be built with system-ffmpeg at this time. I'm not entirely sure if a patched ffmpeg is still expected from qt side even with the fixes later on [2], on which my patch here is based... 1. https://code.qt.io/cgit/qt/qtwebengine.git/commit/?h=v6.4.3&id=56e1dc813c3067d9fe1fb94f9683a16598c8b8e6 2. https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?h=102-based&id=35c2ba645dd4f643e3621e78f15842807b3600d9
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=2eef895accd63b2bddb584239290271779a4d00b commit 2eef895accd63b2bddb584239290271779a4d00b Author: Jimi Huotari <chiitoo@gentoo.org> AuthorDate: 2023-04-16 17:05:57 +0000 Commit: Jimi Huotari <chiitoo@gentoo.org> CommitDate: 2023-04-16 17:05:57 +0000 dev-qt/qtwebengine: drop system-ffmpeg Compiling with >=ffmpeg-5 requires a modified upstream ffmpeg. Bug: https://bugs.gentoo.org/831487 Signed-off-by: Jimi Huotari <chiitoo@gentoo.org> dev-qt/qtwebengine/qtwebengine-6.4.9999.ebuild | 5 ++--- dev-qt/qtwebengine/qtwebengine-6.5.9999.ebuild | 5 ++--- dev-qt/qtwebengine/qtwebengine-6.9999.ebuild | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-)
I suggest adding av-stream-get-first-dts use flag for ffmpeg to debug first, allowing future system-ffmpeg support. And it's also useful for other chromium-based packages to be built with system ffmpeg, like www-client/ungoogled-chromium::pf4public, which received a lot of repeated issues on this. It's optional and does no harm.
I wouldn't be too warm at re-adding system-ffmpeg for other reasons, Arch (using system-ffmpeg) hit a few odd issues because chromium no longer cares for a "custom" ffmpeg and only the one it bundles, Qt upstream may provide a switch but hardly tests it. One recent issue was with mp3 because system ffmpeg supported more mp3 decoders and it picked one that doesn't work with chromium for some reason. Believe Arch was patching that for a while until it got upstreamed to Qt I think (not chromium afaik, haven't rechecked these issues so I could be wrong on details). There's another one with opus that I believe is still unresolved, it came up in #qutebrowser where opus wouldn't play when opened directly (it played on e.g. youtube though), works fine when using bundled ffmpeg. Of course, also good odds it'll break with new ffmpeg versions, fixes will lag behind when qtwebengine is based on a old chromium version that may bundle an even older ffmpeg version (it does backport security fixes though). Upper bounds are not ideal and we still don't have slotted ffmpeg which is.. complicated. tl;dr don't really want to deal with all these potential issues, the av_stream thing is just one more reason that makes me not want to bother o top of the rest