Bug#1072431: libopenshot: FTBFS with ffmpeg 7.0: FFmpegReader.cpp:674:58: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
Source: libopenshot
Version: 0.3.2+dfsg1-2.1
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>>/debian/build/src && /usr/bin/c++ -DHAVE_ISFINITE=1 -DLINUX -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_WIDGETS_LIB -DUSE_HW_ACCEL=1 -DUSE_IMAGEMAGICK=1 -Dopenshot_EXPORTS -I/<<PKGBUILDDIR>>/debian/build/src/openshot_autogen/include -I/<<PKGBUILDDIR>>/src -I/<<PKGBUILDDIR>>/debian/build/src -isystem /usr/include/libopenshot-audio -isystem /usr/include/ImageMagick-6 -isystem /usr/include/aarch64-linux-gnu/ImageMagick-6 -isystem /usr/include/jsoncpp -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/QtSvg -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++14 -fPIC -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -fPIC -fopenmp -MD -MT src/CMakeFiles/openshot.dir/FFmpegReader.cpp.o -MF CMakeFiles/openshot.dir/FFmpegReader.cpp.o.d -o CMakeFiles/openshot.dir/FFmpegReader.cpp.o -c /<<PKGBUILDDIR>>/src/FFmpegReader.cpp
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp: In member function ‘void openshot::FFmpegReader::UpdateAudioInfo()’:
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:674:58: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 674 | if (AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channel_layout == 0)
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:675:62: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 675 | AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channel_layout = av_get_default_channel_layout(AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channels);
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:675:154: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channels’
> 675 | AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channel_layout = av_get_default_channel_layout(AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channels);
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:675:79: error: ‘av_get_default_channel_layout’ was not declared in this scope
> 675 | AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channel_layout = av_get_default_channel_layout(AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channels);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:686:70: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channels’
> 686 | info.channels = AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channels;
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:687:92: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 687 | info.channel_layout = (ChannelLayout) AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channel_layout;
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp: In member function ‘void openshot::FFmpegReader::ProcessAudioPacket(int64_t)’:
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:1597:137: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channels’
> 1597 | AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channels,
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:1602:105: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channels’
> 1602 | packet_samples = audio_frame->nb_samples * AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channels;
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:1665:95: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 1665 | av_opt_set_int(avr, "in_channel_layout", AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channel_layout, 0);
> | ^~~~~~~~~~~~~~
> | ch_layout
> /<<PKGBUILDDIR>>/src/FFmpegReader.cpp:1666:96: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
> 1666 | av_opt_set_int(avr, "out_channel_layout", AV_GET_CODEC_ATTRIBUTES(aStream, aCodecCtx)->channel_layout, 0);
> | ^~~~~~~~~~~~~~
> | ch_layout
> make[3]: *** [src/CMakeFiles/openshot.dir/build.make:387: src/CMakeFiles/openshot.dir/FFmpegReader.cpp.o] Error 1
The full build log is available from:
https://people.debian.org/~sramacher/ffmpeg-7.0/libopenshot_arm64.build
ffmpeg 7.0 is available in experimental.
Cheers
--
Sebastian Ramacher
Reply to: