summaryrefslogtreecommitdiff
path: root/libavutil/opt.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-12-07 13:09:33 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-12-07 14:08:20 +0100
commit0aedf90e62a828c84a6efe3497ab7438aae8bf2f (patch)
tree3f9fb3f2c3776aca0e2ee1e607e33cd8b1828441 /libavutil/opt.c
parent758d4e4067f066fbe8ff9c3240d7748338cd8fad (diff)
avutil/opt: factor set_string_color() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/opt.c')
-rw-r--r--libavutil/opt.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/libavutil/opt.c b/libavutil/opt.c
index bf82d2dc5e..76959fa20b 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -280,6 +280,21 @@ static int set_string_video_rate(void *obj, const AVOption *o, const char *val,
return ret;
}
+static int set_string_color(void *obj, const AVOption *o, const char *val, uint8_t *dst)
+{
+ int ret;
+
+ if (!val) {
+ return 0;
+ } else {
+ ret = av_parse_color(dst, val, -1, obj);
+ if (ret < 0)
+ av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as color\n", val);
+ return ret;
+ }
+ return 0;
+}
+
#if FF_API_OLD_AVOPTIONS
int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out)
{
@@ -358,16 +373,7 @@ int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
return ret;
}
break;
- case AV_OPT_TYPE_COLOR:
- if (!val) {
- return 0;
- } else {
- ret = av_parse_color(dst, val, -1, obj);
- if (ret < 0)
- av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as color\n", val);
- return ret;
- }
- break;
+ case AV_OPT_TYPE_COLOR: return set_string_color(obj, o, val, dst);
case AV_OPT_TYPE_CHANNEL_LAYOUT:
if (!val || !strcmp(val, "none")) {
*(int64_t *)dst = 0;