On Thu, Mar 16, 2017 at 05:20:51AM +0100, wm4 wrote: > This patch deprecates anything that has to do with merging/splitting > side data. Automatic side data merging (and splitting), as well as all > API symbols involved in it, are removed completely. > > Two FF_API_ defines are dedicated to deprecating API symbols related to > this: FF_API_MERGE_SD_API removes av_packet_split/merge_side_data in > libavcodec, and FF_API_LAVF_KEEPSIDE_FLAG deprecates > AVFMT_FLAG_KEEP_SIDE_DATA in libavformat. > > Since it was claimed that changing the default from merging side data to > not doing it is an ABI change, there are two additional FF_API_ defines, > which stop using the side data merging/splitting by default (and remove > any code in avformat/avcodec doing this): FF_API_MERGE_SD in libavcodec, > and FF_API_LAVF_MERGE_SD in libavformat. > > It is very much intended that FF_API_MERGE_SD and FF_API_LAVF_MERGE_SD > are quickly defined to 0 in the next ABI bump, while the API symbols are > retained for a longer time for the sake of compatibility. > AVFMT_FLAG_KEEP_SIDE_DATA will (very much intentionally) do nothing for > most of the time it will still be defined. Keep in mind that no code > exists that actually tries to unset this flag for any reason, nor does > such code need to exist. Code setting this flag explicitly will work as > before. Thus it's ok for AVFMT_FLAG_KEEP_SIDE_DATA to do nothing once > side data merging has been removed from libavformat. > > In order to avoid that anyone in the future does this incorrectly, here > is a small guide how to update the internal code on bumps: > > - next ABI bump (probably soon): > - define FF_API_LAVF_MERGE_SD to 0, and remove all code covered by it > - define FF_API_MERGE_SD to 0, and remove all code covered by it > - next API bump (typically two years in the future or so): > - define FF_API_LAVF_MERGE_SD to 0, and remove all code covered by it > - define FF_API_MERGE_SD_API to 0, and remove all code covered by it > > This forces anyone who actually wants packet side data to temporarily > use deprecated API to get it all. If you ask me, this is batshit fucked > up crazy, but it's how we roll. Making AVFMT_FLAG_KEEP_SIDE_DATA to be > set by default was rejected as an ABI change, so I'm going all the way > to get rid of this once and for all. > ---
What is the advantage to deprecate the API ? Applications which depend on the current default would need the code provided by the API when the default changes [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Complexity theory is the science of finding the exact solution to an approximation. Benchmarking OTOH is finding an approximation of the exact
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel