Opened 13 months ago

Last modified 12 months ago

#2429 new defect

Building fails due to changes in libav API

Reported by: LigH Owned by: beastd
Priority: normal Component: build system
Version: HEAD Severity: blocker
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Summary of the bug:

There are several changes in the API of FFmpeg, e.g. refactoring of constant and type names.

One range of examples:

libmpcodecs/ve_lavc.c:155:31: error: 'FF_LEVEL_UNKNOWN' undeclared here (not in a function); did you mean 'AV_LEVEL_UNKNOWN'?
  155 | static int lavc_param_level = FF_LEVEL_UNKNOWN;
      |                               ^~~~~~~~~~~~~~~~
      |                               AV_LEVEL_UNKNOWN
libmpcodecs/ve_lavc.c: In function 'put_image':
libmpcodecs/ve_lavc.c:725:16: error: 'AVFrame' has no member named 'top_field_first'
  725 |             pic->top_field_first= !!(mpi->fields & MP_IMGFIELD_TOP_FIRST);
      |                ^~
libmpcodecs/ve_lavc.c:727:16: error: 'AVFrame' has no member named 'top_field_first'
  727 |             pic->top_field_first= 1;
      |                ^~
libmpcodecs/ve_lavc.c:730:16: error: 'AVFrame' has no member named 'top_field_first'
  730 |             pic->top_field_first= lavc_param_top;
      |                ^~
libmpcodecs/ve_lavc.c: In function 'uninit':
libmpcodecs/ve_lavc.c:856:9: error: implicit declaration of function 'avcodec_close'; did you mean 'avcodec_license'? [-Wimplicit-function-declaration]
  856 |         avcodec_close(lavc_venc_context);
      |         ^~~~~~~~~~~~~
      |         avcodec_license
make: *** [Makefile:729: libmpcodecs/ve_lavc.o] Error 1

See attached build log recorded by media-autobuild suite for more.

Attachments (1)

ab-suite.install.log (25.3 KB ) - added by LigH 13 months ago.

Download all attachments as: .zip

Change History (2)

by LigH, 13 months ago

Attachment: ab-suite.install.log added

comment:1 by reimar, 12 months ago

Note that configure was changed to pick FFmpeg 7.1 branch, so in default setup it should work, but of course long term these need to be updated.

Note: See TracTickets for help on using tickets.