[FFmpeg-devel] [PATCH] error: add error code AVERROR_OPTION_NOT_FOUND, and use it in opt.c
Stefano Sabatini
stefano.sabatini-lala at poste.it
Mon Apr 11 01:06:49 CEST 2011
The new error code is better than AVERROR(ENOENT), which has a
completely different semantics ("No such file or directory").
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala at poste.it>
---
libavutil/error.c | 1 +
libavutil/error.h | 1 +
libavutil/opt.c | 6 +++---
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/libavutil/error.c b/libavutil/error.c
index 4e56887..6c37535 100644
--- a/libavutil/error.c
+++ b/libavutil/error.c
@@ -35,6 +35,7 @@ int av_strerror(int errnum, char *errbuf, size_t errbuf_size)
case AVERROR_MUXER_NOT_FOUND: errstr = "Muxer not found"; break;
case AVERROR_DECODER_NOT_FOUND: errstr = "Decoder not found"; break;
case AVERROR_ENCODER_NOT_FOUND: errstr = "Encoder not found"; break;
+ case AVERROR_OPTION_NOT_FOUND: errstr = "Option not found"; break;
case AVERROR_PROTOCOL_NOT_FOUND:errstr = "Protocol not found"; break;
case AVERROR_FILTER_NOT_FOUND: errstr = "Filter not found"; break;
case AVERROR_BSF_NOT_FOUND: errstr = "Bitstream filter not found"; break;
diff --git a/libavutil/error.h b/libavutil/error.h
index 0780ea2..212fe80 100644
--- a/libavutil/error.h
+++ b/libavutil/error.h
@@ -60,6 +60,7 @@
#define AVERROR_MUXER_NOT_FOUND (-MKTAG(0xF8,'M','U','X')) ///< Muxer not found
#define AVERROR_DECODER_NOT_FOUND (-MKTAG(0xF8,'D','E','C')) ///< Decoder not found
#define AVERROR_ENCODER_NOT_FOUND (-MKTAG(0xF8,'E','N','C')) ///< Encoder not found
+#define AVERROR_OPTION_NOT_FOUND (-MKTAG(0xF8,'O','P','T')) ///< Option not found
#define AVERROR_PROTOCOL_NOT_FOUND (-MKTAG(0xF8,'P','R','O')) ///< Protocol not found
#define AVERROR_FILTER_NOT_FOUND (-MKTAG(0xF8,'F','I','L')) ///< Filter not found
#define AVERROR_BSF_NOT_FOUND (-MKTAG(0xF8,'B','S','F')) ///< Bitstream filter not found
diff --git a/libavutil/opt.c b/libavutil/opt.c
index ab6021c..dfdf042 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -57,7 +57,7 @@ static int av_set_number2(void *obj, const char *name, double num, int den, int6
if (o_out)
*o_out= o;
if (!o || o->offset<=0)
- return AVERROR(ENOENT);
+ return AVERROR_OPTION_NOT_FOUND);
if (o->max*den < num*intnum || o->min*den > num*intnum) {
av_log(obj, AV_LOG_ERROR, "Value %lf for parameter '%s' out of range\n", num, name);
@@ -119,7 +119,7 @@ int av_set_string3(void *obj, const char *name, const char *val, int alloc, cons
if (o_out)
*o_out = o;
if (!o)
- return AVERROR(ENOENT);
+ return AVERROR_OPTION_NOT_FOUND;
if (!val || o->offset<=0)
return AVERROR(EINVAL);
@@ -490,7 +490,7 @@ static int parse_key_value_pair(void *ctx, const char **buf,
av_log(ctx, AV_LOG_DEBUG, "Setting value '%s' for key '%s'\n", val, key);
ret = av_set_string3(ctx, key, val, 1, NULL);
- if (ret == AVERROR(ENOENT))
+ if (ret == AVERROR_OPTION_NOT_FOUND)
av_log(ctx, AV_LOG_ERROR, "Key '%s' not found.\n", key);
av_free(key);
--
1.7.2.3
More information about the ffmpeg-devel
mailing list