[FFmpeg-devel] [RFC] The meaning of AVERROR_NOTSUPP
Wed Apr 14 02:09:31 CEST 2010
Stefano Sabatini wrote:
> On date Saturday 2010-04-03 13:31:29 +0200, Stefano Sabatini encoded:
>> On date Saturday 2010-04-03 12:36:01 +0200, Michael Niedermayer encoded:
>>> Feature not implemented
>>> Implementing this feature is welcome
>>> are 2 seperate things
>>> "not implementable"
>>> "requested operation nonsensical"
>>> "we dont want this implemented"
>>> "disabled at compile time, rerun configure"
>>> are all semantically different
>>> also you cannot redefine the POSIX error codes to mean something else than
>>> they mean.
>> So taking into account the considerations of Howard and yours, it
>> seems that we can agree on simply dropping AVERROR_NOTSUPP and use
>> AVERROR(ENOSYS) instead.
>> We'll use AVERROR_PATCHWELCOME when a feature is not implemented and
>> we want and can implement it, and we'll use AVERROR(ENOSYS) in all the
>> other cases (feature non-implementable, requested operation
>> nonsensical, feature implementable but we don't want to implement it,
>> feature disabled at compile time etc...).
From a reading-the-source perspective this makes sense, but having two
"not-implemented" error codes makes error checking more cumbersome for callers
of the API. Is it actually useful for callers to see the difference? If not,
defining AVERROR_PATCHWELCOME to AVERROR(ENOSYS) seems like the easiest approach.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
More information about the ffmpeg-devel