From 9ce0e19ab61e99cdfe29fcce84b9f6a7f17b431c Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Sat, 21 Jul 2012 11:04:51 +0200 Subject: lavd/caca: provide more meaningful feedback if fails to set a dither option --- libavdevice/caca.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'libavdevice/caca.c') 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); -- cgit v1.2.3