Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mpv-0.29.0 with libav-git - demux/demux_lavf.c:321:19: error: implicit declaration of function 'av_demuxer_iterate'; #6007

Closed
Coacher opened this issue Jul 23, 2018 · 2 comments

Comments

@Coacher
Copy link
Contributor

Coacher commented Jul 23, 2018

mpv version and platform

mpv-0.29.0 on Gentoo amd64.
Libav-git @ f25117a4286505b38c12466ef04459471de3c1b0.

Reproduction steps

Try to build mpv.

Expected behavior

mpv builds fine.

Actual behavior

mpv fails to build with:

../demux/demux_lavf.c: In function 'list_formats':
../demux/demux_lavf.c:321:19: error: implicit declaration of function 'av_demuxer_iterate'; did you mean 'av_buffer_create'? [-Werror=implicit-function-declaration]
     while ((fmt = av_demuxer_iterate(&iter)))
                   ^~~~~~~~~~~~~~~~~~
                   av_buffer_create
../demux/demux_lavf.c:321:17: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     while ((fmt = av_demuxer_iterate(&iter)))
                 ^
../demux/demux_lavf.c: In function 'handle_new_stream':
../demux/demux_lavf.c:716:31: error: 'AV_DISPOSITION_DEPENDENT' undeclared (first use in this function); did you mean 'AV_DISPOSITION_DEFAULT'?
         if (st->disposition & AV_DISPOSITION_DEPENDENT)
                               ^~~~~~~~~~~~~~~~~~~~~~~~
                               AV_DISPOSITION_DEFAULT
../demux/demux_lavf.c:716:31: note: each undeclared identifier is reported only once for each function it appears in
../demux/demux_lavf.c: In function 'demux_lavf_control':
../demux/demux_lavf.c:1152:9: error: implicit declaration of function 'avformat_flush'; did you mean 'avio_flush'? [-Werror=implicit-function-declaration]
         avformat_flush(priv->avfc);
         ^~~~~~~~~~~~~~
         avio_flush
cc1: some warnings being treated as errors

Full build.log: https://paste.pound-python.org/show/5exoTvbp6xcbsLf6kXQG/

Additional info:

mpv-0.28.2 builds fine with the same configuration against the same libav library.

@ghost
Copy link

ghost commented Jul 23, 2018

Explained in the readme

@ghost ghost closed this as completed Jul 23, 2018
@jeeb
Copy link
Member

jeeb commented Jul 23, 2018

Yea, unfortunately it probably didn't get noted enough. Effectively since Libav is pretty much in hibernation (most if not all developers are actively working on more interesting projects such as rav1e), and it never received these new APIs added on the FFmpeg side the support for it was pretty much effectively dropped.

gentoo-bot pushed a commit to gentoo/gentoo that referenced this issue Jul 28, 2018
Rationale:
1. Fails to build against libav and mpv upstream doesn't care:
   mpv-player/mpv#6007
2. Libav unmaintained in Gentoo:
   - security bumps missing for months: 651220
   - security bugs untouched for months: 635520, 635522, 635524, 639770
   - sources unfetchable for months: 641678
   - transition to libav-12 incomplete for more than a year: 603726

Let's stop pretending libav support is fine, when it's clearly not.
If you want mpv with libav back, please fix the above issues first.

Package-Manager: Portage-2.3.43, Repoman-2.3.10
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants