summaryrefslogtreecommitdiff
path: root/libavfilter/af_join.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-02-25 21:21:29 +0100
committerAnton Khirnov <anton@khirnov.net>2013-04-09 19:10:12 +0200
commitdd7fc37c71955b78a2687f29e871f714d18de386 (patch)
tree1be1268af3aa1942941548e0804c9f0ed7b509f4 /libavfilter/af_join.c
parent3f14febbdf7c93bbd186399da27991180e5916b6 (diff)
af_join: switch to an AVOptions-based system.
Change the mappings separator from comma to '|' to avoid excessive escaping, since comma is already used for separating filters in the filtergraph description.
Diffstat (limited to 'libavfilter/af_join.c')
-rw-r--r--libavfilter/af_join.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c
index 172eda387d..4b60509e58 100644
--- a/libavfilter/af_join.c
+++ b/libavfilter/af_join.c
@@ -102,14 +102,23 @@ static int filter_frame(AVFilterLink *link, AVFrame *frame)
static int parse_maps(AVFilterContext *ctx)
{
JoinContext *s = ctx->priv;
+ char separator = '|';
char *cur = s->map;
+#if FF_API_OLD_FILTER_OPTS
+ if (cur && strchr(cur, ',')) {
+ av_log(ctx, AV_LOG_WARNING, "This syntax is deprecated, use '|' to "
+ "separate the mappings.\n");
+ separator = ',';
+ }
+#endif
+
while (cur && *cur) {
char *sep, *next, *p;
uint64_t in_channel = 0, out_channel = 0;
int input_idx, out_ch_idx, in_ch_idx;
- next = strchr(cur, ',');
+ next = strchr(cur, separator);
if (next)
*next++ = 0;
@@ -182,13 +191,6 @@ static int join_init(AVFilterContext *ctx, const char *args)
JoinContext *s = ctx->priv;
int ret, i;
- s->class = &join_class;
- av_opt_set_defaults(s);
- if ((ret = av_set_options_string(s, args, "=", ":")) < 0) {
- av_log(ctx, AV_LOG_ERROR, "Error parsing options string '%s'.\n", args);
- return ret;
- }
-
if (!(s->channel_layout = av_get_channel_layout(s->channel_layout_str))) {
av_log(ctx, AV_LOG_ERROR, "Error parsing channel layout '%s'.\n",
s->channel_layout_str);
@@ -512,6 +514,7 @@ AVFilter avfilter_af_join = {
.description = NULL_IF_CONFIG_SMALL("Join multiple audio streams into "
"multi-channel output"),
.priv_size = sizeof(JoinContext),
+ .priv_class = &join_class,
.init = join_init,
.uninit = join_uninit,