aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2011-04-11 00:52:04 +0200
committerAnton Khirnov <anton@khirnov.net>2011-04-21 07:10:16 +0200
commit58f8463947e56dc448baeeabd7875ea90bdb4a98 (patch)
treef78a93a91907481edf977ce14e42bb058ffa9272
parentf83acb096c0ea1ec181941c141d1ab6fb24820eb (diff)
downloadffmpeg-58f8463947e56dc448baeeabd7875ea90bdb4a98.tar.gz
error: add error code AVERROR_OPTION_NOT_FOUND, and use it in opt.c
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@poste.it> Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r--libavutil/error.c1
-rw-r--r--libavutil/error.h1
-rw-r--r--libavutil/opt.c6
3 files changed, 5 insertions, 3 deletions
diff --git a/libavutil/error.c b/libavutil/error.c
index 978e5431e9..3c3f03fe9b 100644
--- a/libavutil/error.c
+++ b/libavutil/error.c
@@ -33,6 +33,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 33332b18c4..23e0b01789 100644
--- a/libavutil/error.h
+++ b/libavutil/error.h
@@ -48,6 +48,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 30efb52ddd..f08ed8f068 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);