alsa-plugins icon indicating copy to clipboard operation
alsa-plugins copied to clipboard

alsa-plugins-1.2.7.1 fails to compile against latest ffmpeg git

Open jospezial opened this issue 1 year ago • 3 comments

libtool: compile:  x86_64-pc-linux-gnu-gcc -m32 -mfpmath=sse -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52 -I.. -DNDEBUG -Wall -g -march=native -mtune=native -O2 -pipe -c /var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c  -fPIC -DPIC -o .libs/pcm_a52.o
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function 'a52_free':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:631:17: warning: 'avcodec_close' is deprecated [-Wdeprecated-declarations]
  631 |                 avcodec_close(rec->avctx);
      |                 ^~~~~~~~~~~~~
In file included from /var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:28:
/usr/include/libavcodec/avcodec.h:2374:5: note: declared here
 2374 | int avcodec_close(AVCodecContext *avctx);
      |     ^~~~~~~~~~~~~
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function 'set_channel_layout':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:672:29: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
  672 |                 rec->avctx->channel_layout = AV_CH_LAYOUT_STEREO;
      |                             ^~~~~~~~~~~~~~
      |                             ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:675:29: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
  675 |                 rec->avctx->channel_layout = AV_CH_LAYOUT_QUAD;
      |                             ^~~~~~~~~~~~~~
      |                             ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:678:29: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
  678 |                 rec->avctx->channel_layout = AV_CH_LAYOUT_5POINT1;
      |                             ^~~~~~~~~~~~~~
      |                             ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function 'alloc_input_buffer':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:698:19: error: 'AVFrame' has no member named 'channels'
  698 |         rec->frame->channels = rec->avctx->channels;
      |                   ^~
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:698:42: error: 'AVCodecContext' has no member named 'channels'
  698 |         rec->frame->channels = rec->avctx->channels;
      |                                          ^~
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:699:21: error: 'AVFrame' has no member named 'channel_layout'; did you mean 'ch_layout'?
  699 |         rec->frame->channel_layout = rec->avctx->channel_layout;
      |                     ^~~~~~~~~~~~~~
      |                     ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:699:50: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
  699 |         rec->frame->channel_layout = rec->avctx->channel_layout;
      |                                                  ^~~~~~~~~~~~~~
      |                                                  ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function 'a52_prepare':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:734:19: error: 'AVCodecContext' has no member named 'channels'
  734 |         rec->avctx->channels = io->channels;
      |                   ^~
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function '_snd_pcm_a52_open':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:1124:28: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 1124 |                 rec->codec = avcodec_find_encoder_by_name(avcodec);
      |                            ^
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:1126:28: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 1126 |                 rec->codec = avcodec_find_encoder_by_name("ac3_fixed");
      |                            ^
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:1128:36: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 1128 |                         rec->codec = avcodec_find_encoder_by_name("ac3");
      |                                    ^
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:1131:28: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 1131 |                 rec->codec = avcodec_find_encoder(AV_CODEC_ID_AC3);
      |                            ^
make[2]: *** [Makefile:469: pcm_a52.lo] Error 1
make[2]: Leaving directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1-abi_x86_32.x86/a52'
make[1]: *** [Makefile:445: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1-abi_x86_32.x86'
make: *** [Makefile:377: all] Error 2
 * ERROR: media-plugins/alsa-plugins-1.2.7.1-r1::gentoo failed (compile phase):
 *   emake failed

jospezial avatar Mar 10 '24 11:03 jospezial

Also fail to build with latest ffmpeg 7.0

marillat avatar Apr 05 '24 14:04 marillat

https://github.com/OpenMandrivaAssociation/alsa-plugins/blob/master/alsa-plugins-ffmpeg-7.0.patch makes it compile. Not yet tested at runtime though (will send a pull request if and when it passes runtime tests, but since I'm currently at a conference, someone else may beat me to testing it.

berolinux avatar Apr 10 '24 10:04 berolinux

https://github.com/OpenMandrivaAssociation/alsa-plugins/blob/master/alsa-plugins-ffmpeg-7.0.patch makes it compile. Not yet tested at runtime though (will send a pull request if and when it passes runtime tests, but since I'm currently at a conference, someone else may beat me to testing it.

Thanks for the patch, note that in its current form this only works for compiling against FFmpeg >= 5 since the changes are not ifdeffed.

tgurr avatar Apr 10 '24 15:04 tgurr