Bug#1072402: blender: FTBFS with ffmpeg 7.0: FFMPEGReader.cpp:115:81: error: ‘struct AVCodecContext’ has no member named ‘channels’
Source: blender
Version: 4.0.2+dfsg-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>>/obj-aarch64-linux-gnu/extern/audaspace && /usr/bin/c++ -DHAVE_EXECINFO_H -DWITH_ASSERT_ABORT -DWITH_CONVOLUTION -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D__LITTLE_ENDIAN__ -I/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/extern/audaspace -I/<<PKGBUILDDIR>>/extern/audaspace/include -I/usr/include/jack -I/usr/include/AL -I/usr/include/python3.11 -I/usr/lib/python3/dist-packages/numpy/core/include -I/usr/include/SDL2 -Wuninitialized -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wcomma-subscript -Wformat-signedness -Wrestrict -Wno-suggest-override -Wuninitialized -Wno-stringop-overread -Wno-stringop-overflow -Wimplicit-fallthrough=5 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -fopenmp -pipe -fPIC -funsigned-char -fno-strict-aliasing -ffp-contract=off -fmacro-prefix-map="/<<PKGBUILDDIR>>/"="" -fmacro-prefix-map="/<<PKGBUILDDIR>>/obj-aarch64-linux-gnu/"="" -Wno-deprecated-declarations -Wno-unused-parameter -Wno-unused-function -Wno-type-limits -Wno-int-in-bool-context -Wno-switch -Wno-unused-variable -Wno-uninitialized -Wno-implicit-fallthrough -Wno-error=unused-but-set-variable -Wno-class-memaccess -Wno-comment -Wno-unused-local-typedefs -Wno-unused-variable -Wno-uninitialized -std=c++17 -MD -MT extern/audaspace/CMakeFiles/audaspace.dir/plugins/ffmpeg/FFMPEGReader.cpp.o -MF CMakeFiles/audaspace.dir/plugins/ffmpeg/FFMPEGReader.cpp.o.d -o CMakeFiles/audaspace.dir/plugins/ffmpeg/FFMPEGReader.cpp.o -c /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp
> /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp: In member function ‘int aud::FFMPEGReader::decode(AVPacket&, aud::Buffer&)’:
> /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp:115:81: error: ‘struct AVCodecContext’ has no member named ‘channels’
> 115 | int data_size = av_samples_get_buffer_size(nullptr, m_codecCtx->channels, m_frame->nb_samples, m_codecCtx->sample_fmt, 1);
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp:125:67: error: ‘struct AVCodecContext’ has no member named ‘channels’
> 125 | int single_size = data_size / m_codecCtx->channels / m_frame->nb_samples;
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp:126:68: error: ‘struct AVCodecContext’ has no member named ‘channels’
> 126 | for(int channel = 0; channel < m_codecCtx->channels; channel++)
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp:130:109: error: ‘struct AVCodecContext’ has no member named ‘channels’
> 130 | std::memcpy(((data_t*)buffer.getBuffer()) + buf_pos + ((m_codecCtx->channels * i) + channel) * single_size,
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp: In member function ‘void aud::FFMPEGReader::init(int)’:
> /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp:210:51: error: ‘struct AVCodecContext’ has no member named ‘channels’
> 210 | m_specs.channels = (Channels) m_codecCtx->channels;
> | ^~~~~~~~
> /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp: In member function ‘virtual std::vector<aud::StreamInfo> aud::FFMPEGReader::queryStreams()’:
> /<<PKGBUILDDIR>>/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp:348:91: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channels’
> 348 | info.specs.channels = Channels(m_formatCtx->streams[i]->codecpar->channels);
> | ^~~~~~~~
> make[3]: *** [extern/audaspace/CMakeFiles/audaspace.dir/build.make:1577: extern/audaspace/CMakeFiles/audaspace.dir/plugins/ffmpeg/FFMPEGReader.cpp.o] Error 1
The full build log is available from:
https://people.debian.org/~sramacher/ffmpeg-7.0/blender_arm64.build
ffmpeg 7.0 is available in experimental.
Cheers
--
Sebastian Ramacher
Reply to: