[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