so, using this page https://blog.fearcat.in/a?ID=01700-325c95d6-306d-4c1a-b3bf-07ab14a4bd8c i tried to fix obvious errors (attached) , now it compiles, but linker (lld from llvm) fails <our fault somewhere + android's threading> so I can't test On Friday, April 1, 2022, Phyllis Smith <[email protected]> wrote:
This news is very worrisome. The Freelance who "fixed" bluray for ffmpeg 4.4 got Covid and never heard back from him which is unfortunate because he had some experience with ffmpeg.
On Fri, Apr 1, 2022 at 2:02 PM Andrew Randrianasulu via Cin < [email protected]> wrote:
Hello!
I try to make our software (Cinelerra-gg, non-linear video editor [0]) compile-able with latest ffmpeg, right now I down to 7 errors:
ffmpeg.C:726:11: error: no member named 'nb_index_entries' in 'AVStream' if( st->nb_index_entries > 0 ) tstmp = st->index_entries[0].timestamp; ~~ ^ ffmpeg.C:726:46: error: no member named 'index_entries' in 'AVStream' if( st->nb_index_entries > 0 ) tstmp = st->index_entries[0].timestamp; ~~ ^ ffmpeg.C:728:16: error: no member named 'first_dts' in 'AVStream' else if( st->first_dts != AV_NOPTS_VALUE ) tstmp = st->first_dts; ~~ ^ ffmpeg.C:728:58: error: no member named 'first_dts' in 'AVStream' else if( st->first_dts != AV_NOPTS_VALUE ) tstmp = st->first_dts; ~~ ^
ffmpeg.C:3030:35: error: no member named 'codec' in 'AVStream' ret = avcodec_copy_context(st->codec, ctx); ~~ ^
ffmpeg.C:4092:19: error: no member named 'nb_index_entries' in 'AVStream' int nb_ent = st->nb_index_entries; ~~ ^ ffmpeg.C:4095:27: error: no member named 'index_entries' in 'AVStream' AVIndexEntry *ep = &st->index_entries[nb_ent-1]; ~~ ^ 18 warnings and 7 errors generated. make[2]: *** [Makefile:570: armv8l/ffmpeg.o] Error 1
sorry for formatting, copy/pasting from termux ( linux-on-android terminal emulator + distribution)
so i guess those errs caused by
https://github.com/FFmpeg/FFmpeg/commit/557953a397dfdd9c7a3d 8c2f60d1204599e3d3ac
(adds specific av_ functions for manipulating those index entries)
https://github.com/FFmpeg/FFmpeg/commit/3749eede66c377479976 6b1f246afae8a6ffc9bb
(remove deprecated AVStream.codec - how to use replacement? )
and
https://github.com/FFmpeg/FFmpeg/commit/591b88e6787c4e678237 f02a50421d101abd25c2 "avformat: move AVStream.{first,cur}_dts to AVStreamInternal They are private fields, no reason to have them exposed in a public header.
Signed-off-by: James Almer <[email protected]>"
while I hope to learn how to use new functions - I do not think I can replace whole seeking logic with something new? can those fields added back, or at least can you add some new functions to get them?
I try to compile with dynamic ffmpeg, so my configure line for cinelerra-gg is
$ ./configure --with-single-user --without-thirdparty --without-dvb --without-video4linux2 --without-dv --without-firewire --without-libzmpeg --without-vdpau --without-vaapi --without-lv2 --without-openexr
our default is static linking, but at some point we hope to get new ffmpeg (and experimental bsd support I work on requires dynamic linking, so as soon as pkgsrc moves to new ffmpeg we are broken)
[0] https://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a= blob;f=cinelerra-5.1/cinelerra/fileffmpeg.C;h=a6437242ddd633 973252b2fcac7a9f9f4bab9e84;hb=HEAD -- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin