[FFmpeg-devel] [PATCH 00/17 v3] AVCodecContext and AVCodecParameters side data

Derek Buitenhuis derek.buitenhuis at gmail.com
Tue Sep 5 16:19:18 EEST 2023


On 9/4/2023 5:10 PM, James Almer wrote:
>> * Warn users they need to update their code to not use stream side data (?).
>>    Will my code just silently change behavior if it was using stream
>>    side data? I legitimately do not know due to the above.
> 
> How so? This, like any other deprecated field, remains working as it 
> always did until it's removed. The downstream users will see the 
> deprecation warning during compilation, and the doxy for the field 
> mentions the direct replacement. It's standard procedure.

I mean dowstream users who are relying on the current behavior of checking the
first packet or stream side data - will it just cease to behave that
way silently? That is, users relying on the *output/result* of the current
behavior.

> I'll add a @deprecated comment to the doxy of 
> av_format_inject_global_side_data() to mention the aforementioned objective.
> 
>> * Any useful doxy for API users or any example aside from function args and
>>    very basic struct info.
> 
> The helper functions are basically the same as the packet ones, and the 
> stream ones I'm deprecating. add(), new(), get(), etc. Example usage as 
> usual is in ffmpeg.c, but i think the doxy does a good job explaining 
> what they do.

I think neither ffmpeg.c nor doxy are very good ways to explain to API users
both what they should use and why. The doxy relies on the fact you alreay know
they exist and you need to use them and for what purpose. ffmpeg.c is the
worst example for API users in the known universe.

- Derek


More information about the ffmpeg-devel mailing list