Describe the problem
FFmpeg 7.0 has been released. Building openboard against FFmpeg 7.0 fails with this error message:
/build/openboard-git/src/OpenBoard/src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp: In member function ‘bool UBFFmpegVideoEncoder::init()’:
/build/openboard-git/src/OpenBoard/src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp:523:65: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channels’
523 | mAudioOutBuffer = av_audio_fifo_alloc(c->sample_fmt, c->channels, c->frame_size);
| ^~~~~~~~
/build/openboard-git/src/OpenBoard/src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp: In member function ‘void UBFFmpegVideoEncoder::processAudio(QByteArray&)’:
/build/openboard-git/src/OpenBoard/src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp:643:60: error: ‘AVCodecContext’ {aka ‘struct AVCodecContext’} has no member named ‘channels’
643 | codecContext->channels, outSamplesCount,
| ^~~~~~~~
/build/openboard-git/src/OpenBoard/src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp: In member function ‘void UBFFmpegVideoEncoder::finishEncoding()’:
/build/openboard-git/src/OpenBoard/src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp:739:18: warning: ‘int avcodec_close(AVCodecContext*)’ is deprecated [-Wdeprecated-declarations]
739 | avcodec_close(mVideoCodecContext);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /build/openboard-git/src/OpenBoard/src/podcast/ffmpeg/UBFFmpegVideoEncoder.h:26,
from /build/openboard-git/src/OpenBoard/src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp:22:
/usr/include/libavcodec/avcodec.h:2387:5: note: declared here
2387 | int avcodec_close(AVCodecContext *avctx);
| ^~~~~~~~~~~~~
/build/openboard-git/src/OpenBoard/src/podcast/ffmpeg/UBFFmpegVideoEncoder.cpp:743:22: warning: ‘int avcodec_close(AVCodecContext*)’ is deprecated [-Wdeprecated-declarations]
743 | avcodec_close(mAudioCodecContext);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/usr/include/libavcodec/avcodec.h:2387:5: note: declared here
2387 | int avcodec_close(AVCodecContext *avctx);
| ^~~~~~~~~~~~~
Versions
OS: Arch Linux
openboard: 1.7.1 and 753eadad57b92ce510b80f07775f20818d5f3201 (current dev)
GCC: 14.1.1+r58+gfc9fb69ad62-1
qt6-base: 6.7.1-4
ffmpeg: 2:7.0-3
Built against extra-staging on Arch Linux, i.e. not yet generally available (preview version).
Build commands
Built using the CMake community build. Full instructions: PKGBUILD
Suggestions, solutions
From what I can tell, it's not as big a jump as from 4.4 to 5.0 - The error above can likely be fixed by changing codecContext->channels to codecContext->ch_layout->nb_channels. There might be more errors afterwards. I'll look into it later.
Describe the problem FFmpeg 7.0 has been released. Building
openboard
against FFmpeg 7.0 fails with this error message:Versions OS: Arch Linux openboard: 1.7.1 and 753eadad57b92ce510b80f07775f20818d5f3201 (current
dev
) GCC: 14.1.1+r58+gfc9fb69ad62-1 qt6-base: 6.7.1-4 ffmpeg: 2:7.0-3Built against
extra-staging
on Arch Linux, i.e. not yet generally available (preview version).Build commands Built using the CMake community build. Full instructions: PKGBUILD
Suggestions, solutions From what I can tell, it's not as big a jump as from 4.4 to 5.0 - The error above can likely be fixed by changing
codecContext->channels
tocodecContext->ch_layout->nb_channels
. There might be more errors afterwards. I'll look into it later.