[R-pkg-team] Bug#1004814: r-cran-av: FTBFS with ffmpeg 5.0

Andreas Tille andreas at an3as.eu
Tue Feb 8 05:33:39 GMT 2022


Control: tags -1 upstream
Control: forwarded -1 Jeroen Ooms <jeroen at berkeley.edu>

Hi Jeroen,

Debian will migrate to ffmpeg5.0 soon.  It would be great if you could
adapt av to the new ffmpeg version.

Kind regards

     Andreas.

Am Tue, Feb 01, 2022 at 11:22:51PM +0100 schrieb Sebastian Ramacher:
> Source: r-cran-av
> Version: 0.6.0+dfsg-1
> Severity: important
> X-Debbugs-Cc: sramacher at debian.org
> Tags: sid bookworm ftbfs
> Usertags: ffmpeg5.0
> 
> r-cran-av FTBFS with ffmpeg 5.0 in experimental:
> 
> gcc -std=gnu99 -std=gnu11 -I"/usr/share/R/include" -DNDEBUG -I/usr/include/x86_64-linux-gnu    -fvisibility=hidden -fpic  -g -O2 -ffile-prefix-map=/build/r-base-PT7Nxy/r-base-4.1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c fft.c -o fft.o
> fft.c:17:3: error: unknown type name ‘AVCodecContext’
>    17 |   AVCodecContext *decoder;
>       |   ^~~~~~~~~~~~~~
> fft.c:64:72: error: unknown type name ‘AVCodecContext’; did you mean ‘AVIODirContext’?
>    64 | static input_container * new_input_container(AVFormatContext *demuxer, AVCodecContext *decoder, AVStream *stream){
>       |                                                                        ^~~~~~~~~~~~~~
>       |                                                                        AVIODirContext
> fft.c: In function ‘close_input’:
> fft.c:76:3: warning: implicit declaration of function ‘avcodec_close’; did you mean ‘avio_close’? [-Wimplicit-function-declaration]
>    76 |   avcodec_close(input->decoder);
>       |   ^~~~~~~~~~~~~
>       |   avio_close
> fft.c:77:3: warning: implicit declaration of function ‘avcodec_free_context’; did you mean ‘avformat_free_context’? [-Wimplicit-function-declaration]
>    77 |   avcodec_free_context(&(input->decoder));
>       |   ^~~~~~~~~~~~~~~~~~~~
>       |   avformat_free_context
> fft.c: In function ‘open_input’:
> fft.c:136:20: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
>   136 |   AVCodec *codec = avcodec_find_decoder(stream->codecpar->codec_id);
>       |                    ^~~~~~~~~~~~~~~~~~~~
> fft.c:138:3: error: unknown type name ‘AVCodecContext’; use ‘struct’ keyword to refer to the type
>   138 |   AVCodecContext *decoder = avcodec_alloc_context3(codec);
>       |   ^~~~~~~~~~~~~~
>       |   struct 
> fft.c:138:29: warning: implicit declaration of function ‘avcodec_alloc_context3’; did you mean ‘avio_alloc_context’? [-Wimplicit-function-declaration]
>   138 |   AVCodecContext *decoder = avcodec_alloc_context3(codec);
>       |                             ^~~~~~~~~~~~~~~~~~~~~~
>       |                             avio_alloc_context
> fft.c:138:29: warning: initialization of ‘int *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
> fft.c:139:11: warning: implicit declaration of function ‘avcodec_parameters_to_context’; did you mean ‘avcodec_parameters_copy’? [-Wimplicit-function-declaration]
>   139 |   bail_if(avcodec_parameters_to_context(decoder, stream->codecpar), "avcodec_parameters_to_context");
>       |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>       |           avcodec_parameters_copy
> fft.c:140:11: warning: implicit declaration of function ‘avcodec_open2’; did you mean ‘avio_open2’? [-Wimplicit-function-declaration]
>   140 |   bail_if(avcodec_open2(decoder, codec, NULL), "avcodec_open2 (audio)");
>       |           ^~~~~~~~~~~~~
>       |           avio_open2
> fft.c:141:15: error: request for member ‘channel_layout’ in something not a structure or union
>   141 |   if (!decoder->channel_layout) /* Is this needed ?*/
>       |               ^~
> fft.c:142:12: error: request for member ‘channel_layout’ in something not a structure or union
>   142 |     decoder->channel_layout = av_get_default_channel_layout(decoder->channels);
>       |            ^~
> fft.c:142:68: error: request for member ‘channels’ in something not a structure or union
>   142 |     decoder->channel_layout = av_get_default_channel_layout(decoder->channels);
>       |                                                                    ^~
> fft.c:143:10: warning: implicit declaration of function ‘new_input_container’ [-Wimplicit-function-declaration]
>   143 |   return new_input_container(demuxer, decoder, demuxer->streams[si]);
>       |          ^~~~~~~~~~~~~~~~~~~
> fft.c:143:10: warning: returning ‘int’ from a function with return type ‘input_container *’ makes pointer from integer without a cast [-Wint-conversion]
>   143 |   return new_input_container(demuxer, decoder, demuxer->streams[si]);
>       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> fft.c: At top level:
> fft.c:162:37: error: unknown type name ‘AVCodecContext’; did you mean ‘AVIODirContext’?
>   162 | static SwrContext *create_resampler(AVCodecContext *decoder, int64_t sample_rate, int64_t layout, enum AVSampleFormat fmt){
>       |                                     ^~~~~~~~~~~~~~
>       |                                     AVIODirContext
> fft.c:169:41: error: unknown type name ‘AVCodecContext’; did you mean ‘AVIODirContext’?
>   169 | static SwrContext *create_resampler_fft(AVCodecContext *decoder, int64_t sample_rate){
>       |                                         ^~~~~~~~~~~~~~
>       |                                         AVIODirContext
> fft.c:173:41: error: unknown type name ‘AVCodecContext’; did you mean ‘AVIODirContext’?
>   173 | static SwrContext *create_resampler_bin(AVCodecContext *decoder, int64_t sample_rate, int channels){
>       |                                         ^~~~~~~~~~~~~~
>       |                                         AVIODirContext
> fft.c: In function ‘run_fft’:
> fft.c:217:17: warning: implicit declaration of function ‘avcodec_receive_frame’; did you mean ‘avcodec_profile_name’? [-Wimplicit-function-declaration]
>   217 |       int ret = avcodec_receive_frame(input->decoder, frame);
>       |                 ^~~~~~~~~~~~~~~~~~~~~
>       |                 avcodec_profile_name
> fft.c:221:19: warning: implicit declaration of function ‘avcodec_send_packet’; did you mean ‘av_append_packet’? [-Wimplicit-function-declaration]
>   221 |           bail_if(avcodec_send_packet(input->decoder, NULL), "avcodec_send_packet (flush)");
>       |                   ^~~~~~~~~~~~~~~~~~~
>       |                   av_append_packet
> fft.c: In function ‘run_bin’:
> fft.c:294:3: error: unknown type name ‘AVCodecContext’; use ‘struct’ keyword to refer to the type
>   294 |   AVCodecContext *decoder = input->decoder;
>       |   ^~~~~~~~~~~~~~
>       |   struct 
> fft.c:295:24: warning: implicit declaration of function ‘av_get_audio_frame_duration’; did you mean ‘av_get_audio_frame_duration2’? [-Wimplicit-function-declaration]
>   295 |   int max_frame_size = av_get_audio_frame_duration(decoder, 0);
>       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>       |                        av_get_audio_frame_duration2
> fft.c:297:72: error: request for member ‘codec’ in something not a structure or union
>   297 |     REprintf("Unknown frame size for input audio format: %s\n", decoder->codec->name);
>       |                                                                        ^~
> fft.c: In function ‘R_audio_fft’:
> fft.c:364:3: error: unknown type name ‘AVCodecContext’; use ‘struct’ keyword to refer to the type
>   364 |   AVCodecContext *decoder = output->input->decoder;
>       |   ^~~~~~~~~~~~~~
>       |   struct 
> fft.c:365:88: error: request for member ‘sample_rate’ in something not a structure or union
>   365 |   int output_sample_rate = Rf_length(sample_rate) ? Rf_asInteger(sample_rate) : decoder->sample_rate;
>       |                                                                                        ^~
> fft.c:366:17: warning: implicit declaration of function ‘create_resampler_fft’ [-Wimplicit-function-declaration]
>   366 |   output->swr = create_resampler_fft(decoder, output_sample_rate);
>       |                 ^~~~~~~~~~~~~~~~~~~~
> fft.c:366:15: warning: assignment to ‘SwrContext *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
>   366 |   output->swr = create_resampler_fft(decoder, output_sample_rate);
>       |               ^
> fft.c: In function ‘R_audio_bin’:
> fft.c:392:3: error: unknown type name ‘AVCodecContext’; use ‘struct’ keyword to refer to the type
>   392 |   AVCodecContext *decoder = output->input->decoder;
>       |   ^~~~~~~~~~~~~~
>       |   struct 
> fft.c:393:88: error: request for member ‘sample_rate’ in something not a structure or union
>   393 |   int output_sample_rate = Rf_length(sample_rate) ? Rf_asInteger(sample_rate) : decoder->sample_rate;
>       |                                                                                        ^~
> fft.c:394:79: error: request for member ‘channels’ in something not a structure or union
>   394 |   int output_channels = Rf_length(channels) ? Rf_asInteger(channels) : decoder->channels;
>       |                                                                               ^~
> fft.c:396:17: warning: implicit declaration of function ‘create_resampler_bin’ [-Wimplicit-function-declaration]
>   396 |   output->swr = create_resampler_bin(output->input->decoder, output_sample_rate, output_channels);
>       |                 ^~~~~~~~~~~~~~~~~~~~
> fft.c:396:15: warning: assignment to ‘SwrContext *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
>   396 |   output->swr = create_resampler_bin(output->input->decoder, output_sample_rate, output_channels);
>       |               ^
> make[1]: *** [/usr/lib/R/etc/Makeconf:168: fft.o] Error 1
> 
> Cheers
> -- 
> Sebastian Ramacher



> _______________________________________________
> R-pkg-team mailing list
> R-pkg-team at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/r-pkg-team


-- 
http://fam-tille.de



More information about the R-pkg-team mailing list