On Sunday 2020-07-05 16:43, Timo Rothenpieler wrote: >> LIBAVCODEC_58 { >> global: >> av_foo; >> av_bar; >> av_whatever_else_there_is;... >> local: >> *; >> }; >> LIBAVCODEC_58.91 { >> global: >> avpriv_mpeg4audio_get_config2; >> } LIBAVCODEC_58; >> LIBAVCODEC_58.123 { /* future example */ >> global: >> avblahblah; >> } LIBAVCODEC_58.91; > > Won't that break the entire ABI of anything currently linked, and thus would > require a major bump?
Since 4.3 was sort of a break over 4.2.3 already, the situation is that: * $nextrelease can be compatible with 4.2.3's idea of the ABI, in which case avpriv_mpeg4audio_get_config2 should be placed inside LIBAVCODEC_58.91, or * $nextrelease can be compatible with 4.3's idea of the ABI, in which case avpriv_mpeg4audio_get_config2 should be placed inside LIBAVCODEC_58. Each of the two prior options is equally non-compelling. "58" is tarnished already. What software generally does at this point — ffmpeg is not the first project to have these issues — is to bump and start fresh. > Generally, this seems incredibly hard to maintain and will very likely cause > confusion every time someone adds stuff in the future. How often do exported functions get added? Between 4.2.3 and 4.3, that was _just one_, and that one was even an avpriv_* (which probably shouldn't have been exported given its "priv" nature?!). _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".