Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-111143

Build failure caused by ffmpeg

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Not Evaluated
    • None
    • 6.6.0 FF
    • WebEngine
    • None
    • Linux/X11

    Description

      QtWebEngine dev fails to build with this error:

      [ 1559s] FAILED: obj/media/filters/filters/filters_jumbo_5.o 
      [ 1559s] /usr/bin/c++ -MMD -MF obj/media/filters/filters/filters_jumbo_5.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_STDC_CONSTANT_MACROS -D_STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DIS_MEDIA_IMPL -DUSE_PULSEAUDIO -DDLOPEN_PULSEAUDIO -DGL_GLEXT_PROTOTYPES -DUSE_GLX -DUSE_EGL -DVK_USE_PLATFORM_XCB_KHR -DLIBYUV_DISABLE_NEON -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_GL -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_HAS_WUFFS_LIBRARY -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DCONFIG_LOG=0 -DSTACK_ALIGNMENT=32 -DHAVE_PTHREAD_GETAFFINITY_NP=1 -DDAV1D_API= -I. -Igen -I../../../../../src/3rdparty/chromium -I../../../../../src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../../../../src/3rdparty/chromium/third_party/khronos -I../../../../../src/3rdparty/chromium/gpu -I../../../../../src/3rdparty/chromium/third_party/vulkan-deps/vulkan-headers/src/include -I../../../../../src/3rdparty/chromium/third_party/libyuv/include -I../../../../../src/3rdparty/chromium/third_party/abseil-cpp -I../../../../../src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../../src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../../../../src/3rdparty/chromium/third_party/skia -I../../../../../src/3rdparty/chromium/third_party/wuffs/src/release/c -I../../../../../src/3rdparty/chromium/third_party/vulkan/include -I../../../../../src/3rdparty/chromium/third_party/mesa_headers -I../../../../../src/3rdparty/chromium/third_party/libaom/source/libaom -I../../../../../src/3rdparty/chromium/third_party/dav1d/version -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 -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-unknown-pragmas -Wno-address -Wno-parentheses -Wno-sign-compare -Wno-stringop-overflow -Wno-stringop-overread -Wno-psabi -Wno-multichar -Wno-format-zero-length -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -msse3 -O2 -fdata-sections -ffunction-sections -fno-omit-frame-pointer -gdwarf-4 -g1 -fvisibility=hidden -I/usr/include/ffmpeg -I/usr/include/opus -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -Wno-deprecated-copy -std=gnu++2a -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c gen/media/filters/filters_jumbo_5.cc -o obj/media/filters/filters/filters_jumbo_5.o
      [ 1559s] In file included from gen/media/filters/filters_jumbo_5.cc:7:
      [ 1559s] ./../../../../../src/3rdparty/chromium/media/filters/audio_file_reader.cc: In member function 'bool media::AudioFileReader::OnNewFrame(int*, std::vector<std::unique_ptr<media::AudioBus> >, AVFrame)':
      [ 1559s] ./../../../../../src/3rdparty/chromium/media/filters/audio_file_reader.cc:245:50: error: 'AVFrame' {aka 'struct AVFrame'} has no member named 'duration'; did you mean 'pkt_duration'?
      [ 1559s] 245 | if (audio_codec_ == AudioCodec::kAAC && frame->duration) {
      [ 1559s] | ^~~~~~~~
      [ 1559s] | pkt_duration
      [ 1559s] ./../../../../../src/3rdparty/chromium/media/filters/audio_file_reader.cc:248:16: error: 'AVFrame'
      {aka 'struct AVFrame'}
      has no member named 'duration'; did you mean 'pkt_duration'?
      [ 1559s] 248 | frame->duration + std::min(static_cast<int64_t>(0), frame->pts));
      [ 1559s] | ^~~~~~~~
      [ 1559s] | pkt_duration
      

       

       

      Using the system ffmpeg 5.1.2

      I had a look at the chromium package in openSUSE, the maintainer applies this change:

      https://build.opensuse.org/package/view_file/network:chromium/chromium/chromium-106-ffmpeg-duration.patch?expand=1 ... which doesn't look like the right fix.

      pkt_duration is deprecated in ffmpeg:

      https://ffmpeg.org/doxygen/trunk/structAVFrame.html#a91725a400

       

      Command line used in my 6.6 test package:

      cmake -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DCMAKE_INSTALL_PREFIX:STRING=/usr -DCMAKE_MESSAGE_LOG_LEVEL:STRING=STATUS -S . -B build -GNinja -DQT_DISABLE_RPATH:BOOL=ON '-DCMAKE_C_FLAGS:STRING=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g' '-DCMAKE_CXX_FLAGS:STRING=-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g' '-DCMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--as-needed -Wl,--no-undefined' '-DCMAKE_MODULE_LINKER_FLAGS:STRING=-Wl,--as-needed -Wl,--no-undefined' '-DCMAKE_SHARED_LINKER_FLAGS:STRING=-Wl,--as-needed -Wl,--no-undefined' -DCMAKE_TOOLCHAIN_FILE:STRING=/usr/lib64/cmake/Qt6/qt.toolchain.cmake -DFEATURE_qtpdf_build:BOOL=ON -DFEATURE_webengine_developer_build:BOOL=OFF -DFEATURE_webengine_embedded_build:BOOL=OFF -DFEATURE_webengine_extensions:BOOL=ON -DFEATURE_webengine_printing_and_pdf:BOOL=ON -DFEATURE_webengine_kerberos:BOOL=ON -DFEATURE_webengine_native_spellchecker:BOOL=OFF -DFEATURE_webengine_system_libevent:BOOL=ON -DFEATURE_webengine_webrtc:BOOL=ON -DFEATURE_webengine_webrtc_pipewire:BOOL=ON -DFEATURE_webengine_system_icu:BOOL=ON -DFEATURE_webengine_system_ffmpeg:BOOL=ON -DFEATURE_webengine_proprietary_codecs:BOOL=ON -DQT_BUILD_EXAMPLES:BOOL=ON

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt_webengine_team Qt WebEngine Team
            cgiboudeaux Christophe Marin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes