Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 772251 - media-plugins/gst-plugins-libav-1.16.3: Build failure with media-video/ffmpeg-4.4
Summary: media-plugins/gst-plugins-libav-1.16.3: Build failure with media-video/ffmpeg...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: GStreamer package maintainers
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2021-02-23 16:43 UTC by orbea
Modified: 2022-03-05 08:31 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log. (build.log,59.85 KB, text/x-log)
2021-02-23 16:43 UTC, orbea
Details

Note You need to log in before you can comment on or make changes to this bug.
Description orbea 2021-02-23 16:43:10 UTC
Created attachment 688146 [details]
Build log.

The build fails with media-video/ffmpeg-9999.

  gst-libav-1.16.3/ext/libav/gstavdemux.c:486:24: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘index_entries

This is due to ffmpeg marking index_entries as part of their private API since it was not intended to be public.

This started in the following ffmpeg commit:

https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=cea7c19cda0ea1630ae1de8c102ab14231b9db10

Upstream issue: https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/85
ffmpeg issue: https://trac.ffmpeg.org/ticket/8988
ffmpeg mailing list discussion: https://ffmpeg.org/pipermail/ffmpeg-devel/2020-November/272464.html

My currently installed ffmpeg commit is:

  $ bzgrep 'EGIT_VERSION="' /var/db/pkg/media-video/ffmpeg-9999/environment.bz2 
  declare -x EGIT_VERSION="f569ac4ce0514bf4e0dd768c5ed007c82548d326"
Comment 1 orbea 2021-02-23 16:49:14 UTC
A workaround would be to add a use flag to control --with-system-libav in the gst-plugins-libav ebuild. With this the user could still build with the bundled ffmpeg version although that is far from ideal.
Comment 2 jospezial 2021-03-25 12:03:41 UTC
ffmpeg branch release/4.4 has been created and has

https://github.com/FFmpeg/FFmpeg/commit/0be265e9a100adc778c1c3cf52155a6326043b85
"Revert "lavf: move AVStream.*index_entries* to AVStreamInternal"
This reverts commit cea7c19.
Until an API is added to make index_entries public in a proper way, keeping
this here is harmless."


So next ffmpeg-4.4.x releases will not affect gst-plugins-libav.
emerge tested
Comment 3 orbea 2021-03-25 17:33:32 UTC
Unfortunately that doesn't help ffmpeg-9999.
Comment 4 jospezial 2021-04-13 06:47:16 UTC
https://gitlab.freedesktop.org/gstreamer/gst-libav/-/commit/07b43c727c9a2f273dccb9af8061e646c79ea0a8
"avdemux: fix build with FFmpeg 4.4

Direct access to avstream->index_entries was removed
in favour of the newly added avformat_index_get_entry()
and friends."

Download:
https://gitlab.freedesktop.org/gstreamer/gst-libav/-/commit/07b43c727c9a2f273dccb9af8061e646c79ea0a8.patch

The patch applies to media-plugins/gst-plugins-libav-1.16.3 cleanly.
emerge tested against ffmpeg 4.4 and master git branch (with media-video/ffmpeg-9999).
Comment 5 jospezial 2022-03-04 11:45:29 UTC
Please add
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.18.4_ffmpeg-4.4.patch
to media-plugins/gst-plugins-libav-1.16.3 ebuild.

See also Bug 831604
Comment 6 jospezial 2022-03-04 11:59:19 UTC
And please change title to
media-plugins/gst-plugins-libav-1.16.3: Build failure with media-video/ffmpeg-4.4