[Cin] ffmpeg.git removes some fields from public API ....

Andrew Randrianasulu randrianasulu at gmail.com
Thu Oct 29 17:28:29 CET 2020


https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/cea7c19cda0ea1630ae1de8c102ab14231b9db10

=====
lavf: move AVStream.*index_entries* to AVStreamInternal
 
 Those are private fields, no reason to have them exposed in a public
 header. Since there are some (semi-)public fields located after these,
 even though this section is supposed to be private, keep some dummy
 padding there until the next major bump to preserve ABI compatibility.
======

so, now CinGG fails to build:

ffmpeg.C:723:11: error: no member named 'nb_index_entries' in 'AVStream'
                if( st->nb_index_entries > 0 ) tstmp = st->index_entries[0].timestamp;
                    ~~  ^
ffmpeg.C:723:46: error: no member named 'index_entries' in 'AVStream'
                if( st->nb_index_entries > 0 ) tstmp = st->index_entries[0].timestamp;
                                                       ~~  ^
8 warnings generated.
clang++ `cat i686/c_flags`  -DMSGQUAL=filebase -c filebase.C -o i686/filebase.o
In file included from filebaseaudio.C:24:
In file included from ./file.h:37:
In file included from ./formattools.h:26:
In file included from /dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
/dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bcpan.h:96:6: warning: 'BC_Pan::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int popup_x = -1, int popup_y = -1);
            ^
/dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:375:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 2)
        virtual int activate();
                    ^
In file included from filebaseaudio.C:24:
In file included from ./file.h:37:
In file included from ./formattools.h:26:
In file included from /dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/guicast.h:36:
In file included from /dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:190:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int take_focus = 1);
            ^
/dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:375:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 1)
        virtual int activate();
                    ^
In file included from filebaseaudio.C:24:
In file included from ./file.h:37:
In file included from ./formattools.h:26:
In file included from /dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/guicast.h:36:
In file included from /dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:191:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int x, int y, int w=-1, int h=-1);
            ^
/dev/shm/tmp/cinelerra-goodguy-20201029/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:375:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 4)
        virtual int activate();
                    ^
ffmpeg.C:3922:5: warning: absolute value function 'abs' given an argument of type 'long long' but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
if( abs(pos-aud->curr_pos) > 1 )
    ^
ffmpeg.C:3922:5: note: use function 'std::abs' instead
if( abs(pos-aud->curr_pos) > 1 )
    ^~~
    std::abs
ffmpeg.C:3922:5: note: include the header <cstdlib> or explicitly provide a declaration for 'std::abs'
ffmpeg.C:3955:19: error: no member named 'nb_index_entries' in 'AVStream'
        int nb_ent = st->nb_index_entries;
                     ~~  ^
ffmpeg.C:3958:27: error: no member named 'index_entries' in 'AVStream'
                AVIndexEntry *ep = &st->index_entries[nb_ent-1];
                                    ~~  ^
6 warnings and 4 errors generated.
make[2]: *** [Makefile:563: i686/ffmpeg.o] Error 1
make[2]: *** Waiting for unfinished jobs....

-----

Fix may be as simple as adding internal-> to those lines ...

Looking at ffmpeg commit above ....

https://git.ffmpeg.org/gitweb/ffmpeg.git/blobdiff/7e87288f73242dac6344e65f892569102893fac0..cea7c19cda0ea1630ae1de8c102ab14231b9db10:/libavformat/flacdec.c

-    if(index<0 || index >= s->streams[0]->nb_index_entries)
+    if(index<0 || index >= s->streams[0]->internal->nb_index_entries)

(from flac demuxer)


More information about the Cin mailing list