Building gst-libav gives error: ‘AVStream {aka struct AVStream}’ has no member named ‘index_entries’
I am trying to compile gst-libav from source with jhbuild. I git-cloned ffmpeg and gst-libav and built ffmpeg using ./configure --prefix=/home/user/.local/built && make && make install
. Following is the output of ffmpeg --version
:
ffmpeg version N-100636-ge722b443e4 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: --prefix=/home/user/.local/built/ --disable-x86asm
libavutil 56. 63.101 / 56. 63.101
libavcodec 58.117.101 / 58.117.101
libavformat 58. 65.101 / 58. 65.101
libavdevice 58. 11.103 / 58. 11.103
libavfilter 7. 96.100 / 7. 96.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
I am now compiling gst-libav, and i ran already meson --prefix /home/user/.local/built --libdir lib --buildtype=debugoptimized /home/user/jhbuild/checkout/gst-libav
, which gave no errors. But running ninja gives following output:
FAILED: ext/libav/libgstlibav.so.p/gstavdemux.c.o
cc -Iext/libav/libgstlibav.so.p -Iext/libav -I../../../../jhbuild/checkout/gst-libav/ext/libav -I. -I../../../../jhbuild/checkout/gst-libav -I/home/user/.local/built//include -I/home/user/.local/built/include/gstreamer-1.0 -I/home/user/.local/built/include/glib-2.0 -I/home/user/.local/built/lib/glib-2.0/include -I/home/user/.local/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wredundant-decls -Wundef -Wwrite-strings -Wformat -Wformat-nonliteral -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Waggregate-return -Wdeclaration-after-statement -Wvla -Wpointer-arith -g -fPIC -pthread -DHAVE_CONFIG_H -MD -MQ ext/libav/libgstlibav.so.p/gstavdemux.c.o -MF ext/libav/libgstlibav.so.p/gstavdemux.c.o.d -o ext/libav/libgstlibav.so.p/gstavdemux.c.o -c ../../../../jhbuild/checkout/gst-libav/ext/libav/gstavdemux.c
../../../../jhbuild/checkout/gst-libav/ext/libav/gstavdemux.c: In function ‘gst_ffmpegdemux_do_seek’:
../../../../jhbuild/checkout/gst-libav/ext/libav/gstavdemux.c:486:24: error: ‘AVStream {aka struct AVStream}’ has no member named ‘index_entries’
fftarget = stream->index_entries[keyframeidx].timestamp;
^~
I am on Ubuntu 18.04 with LXDE, my prcodessor architecture is x86_64, gcc is version 7.5.0-3ubuntu1~18.04 (if this matters, but i do not think so, this seems to be a migrating bug)
EDIT: commenting out that line fixes the error for me, but you surely do not want all your users to edit the source code to get it working ! ;)