[FFmpeg-devel] Recent API/ABI fix
Stefano Sabatini
stefasab at gmail.com
Sat Nov 10 18:23:52 CET 2012
On date Saturday 2012-11-10 11:45:31 +0100, Nicolas George encoded:
> I realize that av_opt_get_key_value(), that I introduced last week, is
> slightly flawed: if the key is omitted, determining what delimiter caused
> the parsing to stop is awkward. This is not severe, but it could be better.
> I wonder how I can make things better. I see a few solution.
>
> 0. Leave it like that.
>
> 1. Add a "char *redelim" argument to return the delimiter. This is an API
> and ABI break.
>
> 2. Return the delimiter as a positive return value. This is also an API and
> ABI break since the doc says "0 for success" (some apps may write
> "if(!ret)" instead of "if(ret < 0)".
>
> 3. Add a flag to implement 1 (using varargs) or 2.
>
> 4. Implement av_opt_get_key_value2 and deprecate the first.
>
> Considering that the function was added officially less than a week ago, I
> think an API/ABI break is acceptable. We may add a rule, and a comment in
> APIchanges, that any API less than a month old is considered still unstable
> and may change without more compatibility quirks than a bump.
>
> Comments?
I agree that breaking API now should not be considered
severe. Changing the sign should be certainly good, also in general it
is better to return >= in case of success, so that the function can be
extended later and can return as much information as
possible. Regarding the change itself I need to compare it with the
pre-existing function.
--
FFmpeg = Fundamental and Funny Maxi Portable Ecumenical God
More information about the ffmpeg-devel
mailing list