Bug#1072451: simplescreenrecorder: FTBFS with ffmpeg 7.0: AudioEncoder.cpp:169:43: error: ‘AVFrame’ {aka ‘struct AVFrame’} has no member named ‘channels’
Source: simplescreenrecorder
Version: 0.4.4-5
Severity: important
Tags: trixie sid ftbfs
Usertags: ffmpeg-7.0
Hi,
during a rebuild of the reverse dependencies for the transition to
ffmpeg 7.0, your package failed to build
Relevant part (hopefully):
> cd /<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/src && /usr/bin/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DSSR_SYSTEM_DIR=\"/usr/share/simplescreenrecorder\" -DSSR_USE_ALSA=1 -DSSR_USE_FFMPEG_VERSIONS=1 -DSSR_USE_JACK=1 -DSSR_USE_JACK_METADATA=1 -DSSR_USE_OPENGL_RECORDING=1 -DSSR_USE_PULSEAUDIO=1 -DSSR_USE_V4L2=1 -DSSR_USE_X86_ASM=0 -DSSR_VERSION=\"0.4.4\" -I/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/src/simplescreenrecorder_autogen/include -I/<<PKGBUILDDIR>>/src -I/<<PKGBUILDDIR>>/src/AV -I/<<PKGBUILDDIR>>/src/AV/Input -I/<<PKGBUILDDIR>>/src/AV/Output -I/<<PKGBUILDDIR>>/src/common -I/<<PKGBUILDDIR>>/src/GUI -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/aarch64-linux-gnu/qt5/QtGui -isystem /usr/include/aarch64-linux-gnu/qt5/QtWidgets -isystem /usr/include/aarch64-linux-gnu/qt5/QtX11Extras -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++11 -fPIC -MD -MT src/CMakeFiles/simplescreenrecorder.dir/AV/Output/AudioEncoder.cpp.o -MF CMakeFiles/simplescreenrecorder.dir/AV/Output/AudioEncoder.cpp.o.d -o CMakeFiles/simplescreenrecorder.dir/AV/Output/AudioEncoder.cpp.o -c /<<PKGBUILDDIR>>/src/AV/Output/AudioEncoder.cpp
> In file included from /usr/include/c++/13/cassert:44,
> from /<<PKGBUILDDIR>>/src/Global.h:65,
> from /<<PKGBUILDDIR>>/src/AV/Output/AudioEncoder.h:21,
> from /<<PKGBUILDDIR>>/src/AV/Output/AudioEncoder.cpp:20:
> /<<PKGBUILDDIR>>/src/AV/Output/AudioEncoder.cpp: In member function ‘virtual bool AudioEncoder::EncodeFrame(AVFrameWrapper*)’:
> /<<PKGBUILDDIR>>/src/AV/Output/AudioEncoder.cpp:169:43: error: ‘AVFrame’ {aka ‘struct AVFrame’} has no member named ‘channels’
> 169 | assert(frame->GetFrame()->channels == GetCodecContext()->channels);
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/src/AV/Output/AudioEncoder.cpp:169:74: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channels’
> 169 | assert(frame->GetFrame()->channels == GetCodecContext()->channels);
> | ^~~~~~~~
> make[3]: *** [src/CMakeFiles/simplescreenrecorder.dir/build.make:218: src/CMakeFiles/simplescreenrecorder.dir/AV/Output/AudioEncoder.cpp.o] Error 1
The full build log is available from:
https://people.debian.org/~sramacher/ffmpeg-7.0/simplescreenrecorder_arm64.build
ffmpeg 7.0 is available in experimental.
Cheers
--
Sebastian Ramacher
Reply to: