Bug#1072401: baresip: FTBFS with ffmpeg 7.0: modules/avformat/audio.c:104:49: error: ‘AVCodecContext’ has no member named ‘channels’

Sebastian Ramacher sramacher at debian.org
Sun Jun 2 14:15:57 BST 2024


Source: baresip
Version: 1.1.0-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):
> gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -DRELEASE -Wall -Wextra -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wbad-function-cast -Wsign-compare -Wnested-externs -Wshadow -Waggregate-return -Wcast-align -Wold-style-definition -Wdeclaration-after-statement -g -O3   -Wuninitialized -Wno-strict-aliasing -fPIC -DLINUX -DOS=\"linux\" -std=c11 -pedantic -DHAVE_ATOMIC -DARCH=\"\" -DUSE_OPENSSL -DUSE_TLS -DUSE_OPENSSL_DTLS -DUSE_DTLS -DUSE_OPENSSL_SRTP -DUSE_DTLS_SRTP -DUSE_ZLIB -DHAVE_PTHREAD -DHAVE_GETIFADDRS -DHAVE_STRERROR_R -DHAVE_GETOPT -DHAVE_INTTYPES_H -DHAVE_NET_ROUTE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STDBOOL_H -DHAVE_INET6 -DHAVE_RESOLV -DHAVE_SYSLOG -DHAVE_FORK -DHAVE_INET_NTOP -DHAVE_PWD_H -DHAVE_POLL	 -DHAVE_INET_PTON -DHAVE_SELECT -DHAVE_SELECT_H -DHAVE_SETRLIMIT -DHAVE_SIGNAL -DHAVE_SYS_TIME_H -DHAVE_EPOLL -DHAVE_UNAME -DHAVE_UNISTD_H -DHAVE_STRINGS_H -DVERSION=\"1.1.0\" -DVER_MAJOR= -DVER_MINOR= -DVER_PATCH= -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -I. -Iinclude -I/usr/include/re -I/usr/include/rem -DPREFIX=\"/usr\" -DMOD_PATH=\"/usr/lib/baresip/modules\" -DSHARE_PATH=\"/usr/share/baresip\" -I/usr/include/aarch64-linux-gnu  \
> 	-c modules/avformat/audio.c -o build-/modules/avformat/audio.o -MD -MF build-/modules/avformat/audio.d -MT build-/modules/avformat/audio.o
> modules/avformat/avformat.c: In function ‘shared_destructor’:
> modules/avformat/avformat.c:59:17: warning: ‘avcodec_close’ is deprecated [-Wdeprecated-declarations]
>    59 |                 avcodec_close(st->au.ctx);
>       |                 ^~~~~~~~~~~~~
> modules/avformat/audio.c: In function ‘avformat_audio_alloc’:
> In file included from modules/avformat/avformat.c:15:
> /usr/include/aarch64-linux-gnu/libavcodec/avcodec.h:2387:5: note: declared here
>  2387 | int avcodec_close(AVCodecContext *avctx);
>       |     ^~~~~~~~~~~~~
> modules/avformat/avformat.c:64:17: warning: ‘avcodec_close’ is deprecated [-Wdeprecated-declarations]
>    64 |                 avcodec_close(st->vid.ctx);
>       |                 ^~~~~~~~~~~~~
> /usr/include/aarch64-linux-gnu/libavcodec/avcodec.h:2387:5: note: declared here
>  2387 | int avcodec_close(AVCodecContext *avctx);
>       |     ^~~~~~~~~~~~~
> modules/avformat/avformat.c: In function ‘open_codec’:
> modules/avformat/avformat.c:180:23: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
>   180 |                 codec = avcodec_find_decoder(ctx->codec_id);
>       |                       ^
> modules/avformat/avformat.c: In function ‘avformat_shared_alloc’:
> modules/avformat/avformat.c:262:30: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
>   262 |                 input_format = av_find_input_format(format);
>       |                              ^
> modules/avformat/avformat.c: In function ‘module_init’:
> modules/avformat/avformat.c:439:34: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
>   439 |                 avformat_decoder = avcodec_find_decoder_by_name(decoder);
>       |                                  ^
> modules/avformat/audio.c:104:49: error: ‘AVCodecContext’ has no member named ‘channels’
>   104 |              sh->au.ctx->sample_rate, sh->au.ctx->channels,
>       |                                                 ^~
> modules/avformat/audio.c: In function ‘avformat_audio_decode’:
> modules/avformat/audio.c:158:23: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>   158 |                 frame.channel_layout =
>       |                       ^~~~~~~~~~~~~~
>       |                       ch_layout
> modules/avformat/audio.c:159:25: error: implicit declaration of function ‘av_get_default_channel_layout’ [-Werror=implicit-function-declaration]
>   159 |                         av_get_default_channel_layout(frame.channels);
>       |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> modules/avformat/audio.c:159:25: warning: nested extern declaration of ‘av_get_default_channel_layout’ [-Wnested-externs]
> modules/avformat/audio.c:159:60: error: ‘AVFrame’ has no member named ‘channels’
>   159 |                         av_get_default_channel_layout(frame.channels);
>       |                                                            ^
> modules/avformat/audio.c:161:23: error: ‘AVFrame’ has no member named ‘channels’
>   161 |                 frame2.channels       = st->ausrc_st->prm.ch;
>       |                       ^
> modules/avformat/audio.c:162:24: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
>   162 |                 frame2.channel_layout =
>       |                        ^~~~~~~~~~~~~~
>       |                        ch_layout
> modules/avformat/audio.c:176:56: error: ‘AVFrame’ has no member named ‘channels’
>   176 |                              frame2.nb_samples * frame2.channels);
>       |                                                        ^
> cc1: some warnings being treated as errors
> make[2]: *** [mk/mod.mk:49: build-/modules/avformat/audio.o] Error 1


The full build log is available from:
https://people.debian.org/~sramacher/ffmpeg-7.0/baresip_arm64.build

ffmpeg 7.0 is available in experimental.

Cheers

-- 
Sebastian Ramacher



More information about the Pkg-voip-maintainers mailing list