Skip to content

ffmpeg 7.1 build fails with" ‘AVFilterLink’ {aka ‘struct AVFilterLink’} has no member named ‘frame_rate’" #282

@ainola

Description

@ainola

Hey!

When building against Arch's upcoming ffmpeg 7.1/x265 4.0 release [1] I'm getting the following output.

==> Starting build()...
The Meson build system
Version: 1.5.2
Source dir: /build/wf-recorder/src/wf-recorder-0.5.0
Build dir: /build/wf-recorder/src/build
Build type: native build
Project name: wf-recorder
Project version: 0.5.0
C compiler for the host machine: cc (gcc 14.2.1 "cc (GCC) 14.2.1 20240910")
C linker for the host machine: cc ld.bfd 2.43.0
C++ compiler for the host machine: c++ (gcc 14.2.1 "c++ (GCC) 14.2.1 20240910")
C++ linker for the host machine: c++ ld.bfd 2.43.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program git found: NO
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency wayland-client found: YES 1.23.1
Run-time dependency wayland-protocols found: YES 1.37
Run-time dependency libpulse-simple found: YES 17.0
Did not find CMake 'cmake'
Found CMake: NO
Run-time dependency libpipewire-0.3 found: NO (tried pkgconfig and cmake)
Message: Using default audio backend: auto
Run-time dependency libavutil found: YES 59.39.100
Run-time dependency libavcodec found: YES 61.19.100
Run-time dependency libavformat found: YES 61.7.100
Run-time dependency libavdevice found: YES 61.3.100
Run-time dependency libavfilter found: YES 10.4.100
Run-time dependency libswresample found: YES 5.3.100
Run-time dependency threads found: YES
Run-time dependency gbm found: YES 24.2.4-arch1.1
Run-time dependency libdrm found: YES 2.4.123
Configuring config.h using configuration
Program wayland-scanner found: YES (/usr/bin/wayland-scanner)
Message:
----------------
wf-recorder 0.5.0
----------------
Default audio backend: pulse
  - pulse: true
  - pipewire: false
Build targets in project: 2

wf-recorder 0.5.0

  User defined options
    buildtype: plain
    prefix   : /usr
    pulse    : enabled

Found ninja-1.12.1 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
ninja: Entering directory `build'
[1/19] Generating 'proto/libwl_protos.a.p/xdg-output-unstable-v1-protocol.c'
[2/19] Generating 'proto/libwl_protos.a.p/xdg-output-unstable-v1-client-protocol.h'
[3/19] Generating 'proto/libwl_protos.a.p/linux-dmabuf-unstable-v1-protocol.c'
[4/19] Generating 'proto/libwl_protos.a.p/wlr-screencopy-unstable-v1-protocol.c'
[5/19] Generating 'proto/libwl_protos.a.p/wlr-screencopy-unstable-v1-client-protocol.h'
[6/19] Generating 'wf-recorder.p/xdg-output-unstable-v1-client-protocol.h'
[7/19] Generating 'proto/libwl_protos.a.p/linux-dmabuf-unstable-v1-client-protocol.h'
[8/19] Generating 'wf-recorder.p/linux-dmabuf-unstable-v1-client-protocol.h'
[9/19] Generating 'wf-recorder.p/wlr-screencopy-unstable-v1-client-protocol.h'
[10/19] Compiling C object wf-recorder.p/src_averr.c.o
[11/19] Compiling C object proto/libwl_protos.a.p/meson-generated_wlr-screencopy-unstable-v1-protocol.c.o
[12/19] Compiling C object proto/libwl_protos.a.p/meson-generated_xdg-output-unstable-v1-protocol.c.o
[13/19] Compiling C object proto/libwl_protos.a.p/meson-generated_linux-dmabuf-unstable-v1-protocol.c.o
[14/19] Linking static target proto/libwl_protos.a
[15/19] Compiling C++ object wf-recorder.p/src_audio.cpp.o
[16/19] Compiling C++ object wf-recorder.p/src_frame-writer.cpp.o
FAILED: wf-recorder.p/src_frame-writer.cpp.o
c++ -Iwf-recorder.p -I. -I../wf-recorder-0.5.0 -I/usr/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c++17 '-DWFRECORDER_VERSION="0.5.0"' -Wno-deprecated-declarations -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/wf-recorder/src=/usr/src/debug/wf-recorder -flto=auto -D_REENTRANT -pthread -MD -MQ wf-recorder.p/src_frame-writer.cpp.o -MF wf-recorder.p/src_frame-writer.cpp.o.d -o wf-recorder.p/src_frame-writer.cpp.o -c ../wf-recorder-0.5.0/src/frame-writer.cpp
../wf-recorder-0.5.0/src/frame-writer.cpp: In member function ‘void FrameWriter::init_video_filters(const AVCodec*)’:
../wf-recorder-0.5.0/src/frame-writer.cpp:374:53: error: ‘AVFilterLink’ {aka ‘struct AVFilterLink’} has no member named ‘frame_rate’
  374 |     this->videoCodecCtx->framerate = filter_output->frame_rate; // can be 1/0 if unknown
      |                                                     ^~~~~~~~~~
[17/19] Compiling C++ object wf-recorder.p/src_pulse.cpp.o
[18/19] Compiling C++ object wf-recorder.p/src_main.cpp.o
ninja: build stopped: subcommand failed.

Thanks for maintaining this project!

[1] https://archlinux.org/todo/ffmpegx265-rebuild/

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions