summaryrefslogtreecommitdiff
path: root/libavdevice/caca.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2012-07-21 11:04:51 +0200
committerStefano Sabatini <stefasab@gmail.com>2012-07-22 10:32:15 +0200
commit9ce0e19ab61e99cdfe29fcce84b9f6a7f17b431c (patch)
tree5a246d5c6d60ed1a8860f19d390f103d215ecd7c /libavdevice/caca.c
parentfa71471cefd5fbab4cba86507aa1f5e43f9d625d (diff)
lavd/caca: provide more meaningful feedback if fails to set a dither option
Diffstat (limited to 'libavdevice/caca.c')
-rw-r--r--libavdevice/caca.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/libavdevice/caca.c b/libavdevice/caca.c
index 0f44edd204..cfbb371804 100644
--- a/libavdevice/caca.c
+++ b/libavdevice/caca.c
@@ -153,15 +153,17 @@ static int caca_write_header(AVFormatContext *s)
goto fail;
}
- ret = caca_set_dither_algorithm(c->dither, c->algorithm);
- ret += caca_set_dither_antialias(c->dither, c->antialias);
- ret += caca_set_dither_charset(c->dither, c->charset);
- ret += caca_set_dither_color(c->dither, c->colors);
- if (ret) {
- av_log(s, AV_LOG_ERROR, "Invalid value given to one of options\n");
- ret = AVERROR(EINVAL);
- goto fail;
+#define CHECK_DITHER_OPT(opt) \
+ if (caca_set_dither_##opt(c->dither, c->opt) < 0) { \
+ ret = AVERROR(errno); \
+ av_log(s, AV_LOG_ERROR, "Failed to set value '%s' for option '%s'\n", \
+ c->opt, #opt); \
+ goto fail; \
}
+ CHECK_DITHER_OPT(algorithm);
+ CHECK_DITHER_OPT(antialias);
+ CHECK_DITHER_OPT(charset);
+ CHECK_DITHER_OPT(color);
if (!c->window_title)
c->window_title = av_strdup(s->filename);