Your message dated Wed, 04 Dec 2024 06:50:15 +0000
with message-id <e1tijdd-009y3f...@fasolo.debian.org>
and subject line Bug#1081061: fixed in blender 4.3.0+dfsg-1
has caused the Debian Bug report #1081061,
regarding fix compilation of blender against ffmpeg 7
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1081061: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1081061
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
package: blender
Version: 4.1.1+dfsg-3


The source code of blender is incompatible with the current version of FFmpeg 
7, leading to a crash when trying to compile against it.
The attached patch fixes the issues, allowing successful compilation.

I am using Ubuntu 24.04 and Debian Unstable.
diff -Nru blender-4.1.1.orig/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp 
blender-4.1.1/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp
--- blender-4.1.1.orig/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp 
2024-02-07 07:53:42
+++ blender-4.1.1/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp      
2024-09-06 21:25:53
@@ -112,7 +112,7 @@
                if(ret != 0)
                        break;
 
-               int data_size = av_samples_get_buffer_size(nullptr, 
m_codecCtx->channels, m_frame->nb_samples, m_codecCtx->sample_fmt, 1);
+               int data_size = av_samples_get_buffer_size(nullptr, 
m_codecCtx->ch_layout.nb_channels, m_frame->nb_samples, m_codecCtx->sample_fmt, 
1);
 
                if(buf_size - buf_pos < data_size)
                {
@@ -122,12 +122,12 @@
 
                if(m_tointerleave)
                {
-                       int single_size = data_size / m_codecCtx->channels / 
m_frame->nb_samples;
-                       for(int channel = 0; channel < m_codecCtx->channels; 
channel++)
+                       int single_size = data_size / 
m_codecCtx->ch_layout.nb_channels / m_frame->nb_samples;
+                       for(int channel = 0; channel < 
m_codecCtx->ch_layout.nb_channels; channel++)
                        {
                                for(int i = 0; i < m_frame->nb_samples; i++)
                                {
-                                       
std::memcpy(((data_t*)buffer.getBuffer()) + buf_pos + ((m_codecCtx->channels * 
i) + channel) * single_size,
+                                       
std::memcpy(((data_t*)buffer.getBuffer()) + buf_pos + 
((m_codecCtx->ch_layout.nb_channels * i) + channel) * single_size,
                                                   m_frame->data[channel] + i * 
single_size, single_size);
                                }
                        }
@@ -207,7 +207,7 @@
        if(avcodec_open2(m_codecCtx, aCodec, nullptr) < 0)
                AUD_THROW(FileException, "File couldn't be read, ffmpeg codec 
couldn't be opened.");
 
-       m_specs.channels = (Channels) m_codecCtx->channels;
+       m_specs.channels = (Channels) m_codecCtx->ch_layout.nb_channels;
        m_tointerleave = av_sample_fmt_is_planar(m_codecCtx->sample_fmt);
 
        switch(av_get_packed_sample_fmt(m_codecCtx->sample_fmt))
@@ -345,7 +345,7 @@
                        info.specs.rate = 
m_formatCtx->streams[i]->codec->sample_rate;
                        info.specs.format = 
convertSampleFormat(m_formatCtx->streams[i]->codec->sample_fmt);
 #else
-                       info.specs.channels = 
Channels(m_formatCtx->streams[i]->codecpar->channels);
+                       info.specs.channels = 
Channels(m_formatCtx->streams[i]->codecpar->ch_layout.nb_channels);
                        info.specs.rate = 
m_formatCtx->streams[i]->codecpar->sample_rate;
                        info.specs.format = 
convertSampleFormat(AVSampleFormat(m_formatCtx->streams[i]->codecpar->format));
 #endif
diff -Nru blender-4.1.1.orig/extern/audaspace/plugins/ffmpeg/FFMPEGWriter.cpp 
blender-4.1.1/extern/audaspace/plugins/ffmpeg/FFMPEGWriter.cpp
--- blender-4.1.1.orig/extern/audaspace/plugins/ffmpeg/FFMPEGWriter.cpp 
2024-02-07 07:53:42
+++ blender-4.1.1/extern/audaspace/plugins/ffmpeg/FFMPEGWriter.cpp      
2024-09-07 12:36:42
@@ -77,8 +77,7 @@
 
        m_frame->nb_samples = m_input_samples;
        m_frame->format = m_codecCtx->sample_fmt;
-       m_frame->channel_layout = m_codecCtx->channel_layout;
-       m_frame->channels = m_specs.channels;
+       av_channel_layout_copy(&m_frame->ch_layout, &m_codecCtx->ch_layout);
 
        if(avcodec_fill_audio_frame(m_frame, m_specs.channels, 
m_codecCtx->sample_fmt, reinterpret_cast<data_t*>(data), 
m_input_buffer.getSize(), 0) < 0)
                AUD_THROW(FileException, "File couldn't be written, filling the 
audio frame failed with ffmpeg.");
@@ -237,33 +236,33 @@
                break;
        }
 
-       uint64_t channel_layout = 0;
+       AVChannelLayout channel_layout{};
 
        switch(m_specs.channels)
        {
        case CHANNELS_MONO:
-               channel_layout = AV_CH_LAYOUT_MONO;
+               channel_layout = AV_CHANNEL_LAYOUT_MONO;
                break;
        case CHANNELS_STEREO:
-               channel_layout = AV_CH_LAYOUT_STEREO;
+               channel_layout = AV_CHANNEL_LAYOUT_STEREO;
                break;
        case CHANNELS_STEREO_LFE:
-               channel_layout = AV_CH_LAYOUT_2POINT1;
+               channel_layout = AV_CHANNEL_LAYOUT_2POINT1;
                break;
        case CHANNELS_SURROUND4:
-               channel_layout = AV_CH_LAYOUT_QUAD;
+               channel_layout = AV_CHANNEL_LAYOUT_QUAD;
                break;
        case CHANNELS_SURROUND5:
-               channel_layout = AV_CH_LAYOUT_5POINT0_BACK;
+               channel_layout = AV_CHANNEL_LAYOUT_5POINT0_BACK;
                break;
        case CHANNELS_SURROUND51:
-               channel_layout = AV_CH_LAYOUT_5POINT1_BACK;
+               channel_layout = AV_CHANNEL_LAYOUT_5POINT1_BACK;
                break;
        case CHANNELS_SURROUND61:
-               channel_layout = AV_CH_LAYOUT_6POINT1_BACK;
+               channel_layout = AV_CHANNEL_LAYOUT_6POINT1_BACK;
                break;
        case CHANNELS_SURROUND71:
-               channel_layout = AV_CH_LAYOUT_7POINT1;
+               channel_layout = AV_CHANNEL_LAYOUT_7POINT1;
                break;
        default:
                AUD_THROW(FileException, "File couldn't be written, channel 
layout not supported.");
@@ -405,8 +404,7 @@
 
                m_codecCtx->codec_type = AVMEDIA_TYPE_AUDIO;
                m_codecCtx->bit_rate = bitrate;
-               m_codecCtx->channel_layout = channel_layout;
-               m_codecCtx->channels = m_specs.channels;
+               av_channel_layout_copy(&m_codecCtx->ch_layout, &channel_layout);
                m_stream->time_base.num = m_codecCtx->time_base.num = 1;
                m_stream->time_base.den = m_codecCtx->time_base.den = 
m_codecCtx->sample_rate;

diff -Nru blender-4.1.1.orig/source/blender/imbuf/intern/anim_movie.cc 
blender-4.1.1/source/blender/imbuf/intern/anim_movie.cc
--- blender-4.1.1.orig/source/blender/imbuf/intern/anim_movie.cc        
2024-02-19 12:21:37
+++ blender-4.1.1/source/blender/imbuf/intern/anim_movie.cc     2024-09-07 
13:40:11
@@ -1319,7 +1319,8 @@
 
     AVFormatContext *format_ctx = anim->pFormatCtx;
 
-    if (format_ctx->iformat->read_seek2 || format_ctx->iformat->read_seek) {
+    if (!(format_ctx->iformat->flags & AVFMT_NOTIMESTAMPS)) {
+    
       ret = av_seek_frame(anim->pFormatCtx, anim->videoStream, seek_pos, 
AVSEEK_FLAG_BACKWARD);
     }
     else {


--- End Message ---
--- Begin Message ---
Source: blender
Source-Version: 4.3.0+dfsg-1
Done: Matteo F. Vescovi <m...@debian.org>

We believe that the bug you reported is fixed in the latest version of
blender, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1081...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matteo F. Vescovi <m...@debian.org> (supplier of updated blender package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 03 Dec 2024 20:28:05 +0100
Source: blender
Architecture: source
Version: 4.3.0+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Changed-By: Matteo F. Vescovi <m...@debian.org>
Closes: 1081061
Changes:
 blender (4.3.0+dfsg-1) unstable; urgency=medium
 .
   * New upstream release (Closes: #1081061)
     - debian/control: missing b-deps added
Checksums-Sha1:
 3017cbc80fe381a3bffd2f7a3d89df90b24214a1 3147 blender_4.3.0+dfsg-1.dsc
 9250fd491a82f43bb1824a27ca8f1015e0f8ea83 59732252 
blender_4.3.0+dfsg.orig.tar.xz
 ee78dec1641c794d5d5d65a7b771735b37bf84dd 36764 
blender_4.3.0+dfsg-1.debian.tar.xz
 bb594e2d28e567abb89b0209c479a6861dbc8415 9377 
blender_4.3.0+dfsg-1_source.buildinfo
Checksums-Sha256:
 7de93ae41803aeb037a86248822f127cd212cca0de11ee75b6ac070b22d71015 3147 
blender_4.3.0+dfsg-1.dsc
 f95bf687f7d5c1aab1bdbbbbbe827caca7f1832decd790f5f1877188e1f4922c 59732252 
blender_4.3.0+dfsg.orig.tar.xz
 cc0daf75241ba6177a0096fb804a6017102573700a675137bc0250b49a4a936a 36764 
blender_4.3.0+dfsg-1.debian.tar.xz
 b8e91093937d71d9e7825fdec1820026fc7616c093d66d32fc584e9498d084fb 9377 
blender_4.3.0+dfsg-1_source.buildinfo
Files:
 ceeb00388b98168d3fe2af2d95226ccd 3147 graphics optional 
blender_4.3.0+dfsg-1.dsc
 3d67fdc04474eab748488ea9d073fdd3 59732252 graphics optional 
blender_4.3.0+dfsg.orig.tar.xz
 7afe6187ae4b0f2911c38df041d5a5be 36764 graphics optional 
blender_4.3.0+dfsg-1.debian.tar.xz
 049bb7ddc558f466db4bc135414c7111 9377 graphics optional 
blender_4.3.0+dfsg-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----
Comment: Debian powered!

iQKTBAEBCgB9FiEE890J+NqH0d9QRsmbBhL0lE7NzVoFAmdP8kdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEYz
REQwOUY4REE4N0QxREY1MDQ2Qzk5QjA2MTJGNDk0NEVDRENENUEACgkQBhL0lE7N
zVoZXQ//WDUJVEPaEyw2uSWTPH/H5qfVK2Xzve04rSgzuz+1EOzCN/fqXNjcs0I9
wr7h0fPRva2ZfVleSjBWRR+PkFungH+E6mJFanFxRfDlHbdulF08ULwiIATk2kn/
DbHvbcsRQS/OC9AdQBVPU3m26HPc0QKJHU0c1wwiasy0ncYeC+YfQRKa+l/CwNv9
ou73eqy+LT91XUPNEmkNm5/TquEYAruX8WycMArTR1w0NcjUqoK6bx5piIZcLTlG
AjFp9Vn6ZC4vpyqXOK8j9nSR3kcInEW3EQpjOj7AUec1xLfEzQ/c3+3RQlt5l0ht
acYNfsvOCGUSkggWKwcAkfPIyVTMs8syg5NrR+F53JhdWqT4XLWXiqgNp49G8PdS
R6NHpZ0T6u7c8STzVL0LDbx168EF2sacn7PyYKNpk/rllkeGNZXlQP7832UawlcG
mqxfS0jJJH1wAsZDwPAnkDmavHd1t4GbAAm3+kJtrFpbgKB/2SdvC9+9lRfu71Yh
NI1gwD/m19DRyGv5c1hOGBySrlwcvFwWfL93gUPkSFg4pnOA3S76/CBGaVeNwS8E
haKkYSRffBv5fIKSANDRYDRkRGoz3cNDUzcuH76/O14xf+UlAguz1WpgVvDJGF1+
Luto2qN3c974KDQPEKE+ldVlPSusfEt4Y1wnzM/BF+lIHrPKdVU=
=6EDS
-----END PGP SIGNATURE-----

Attachment: pgpFseA9m1siy.pgp
Description: PGP signature


--- End Message ---

Reply via email to