Fedora Account System
Red Hat Associate
Red Hat Customer
ffmpeg is being updated from version 5 to version 7 in epel9-next. https://forge.fedoraproject.org/epel/steering/issues/370 It is expected to be updated in epel9 when RHEL 9.9 is released in November. With ffmpeg enabled, the version of blender in epel9 (3.3.21) does not built. Please patch and build blender in epel9-next, in the side tag epel9-next-build-side-144255
Blender 3.3.21 is very old at this point. EPEL9 is stuck to python 3.9 making difficult to update to LTS release like 4.2 series. Maybe having something like ffmpeg5 or compat-ffmpeg5 is the logical solution.
I was hoping this would have been a good excuse to update, but I didn't know about the python 3.9 issue. I'll look at doing a compat-ffmpeg5 package.
What is an error message while building Blender 3.3.21 with ffmpeg 7? I am wondering if we could try to fix Blender to compile with ffmpeg 7.
Here is the scratch build result: https://koji.fedoraproject.org/koji/taskinfo?taskID=148494640 Highlighted lines: /builddir/build/BUILD/blender-3.3.21/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp: In member function 'int aud::FFMPEGReader::decode(AVPacket&, aud::Buffer&)': /builddir/build/BUILD/blender-3.3.21/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); | ^~~~~~~~ /builddir/build/BUILD/blender-3.3.21/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; | ^~~~~~~~ /builddir/build/BUILD/blender-3.3.21/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++) | ^~~~~~~~ /builddir/build/BUILD/blender-3.3.21/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, | ^~~~~~~~ /builddir/build/BUILD/blender-3.3.21/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp: In member function 'void aud::FFMPEGReader::init(int)': /builddir/build/BUILD/blender-3.3.21/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp:210:51: error: 'struct AVCodecContext' has no member named 'channels' 210 | m_specs.channels = (Channels) m_codecCtx->channels; | ^~~~~~~~ /builddir/build/BUILD/blender-3.3.21/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp: In member function 'virtual std::vector<aud::StreamInfo> aud::FFMPEGReader::queryStreams()': /builddir/build/BUILD/blender-3.3.21/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);
A ffmpeg5 compat package was released so this patch/update is not needed. Closing bug.
Thank you,