|
@@ -277,7 +277,7 @@ static int parse_outputs(const char **buf, AVFilterInOut **curr_inputs,
|
|
|
AVFilterInOut **open_inputs,
|
|
|
AVFilterInOut **open_outputs, AVClass *log_ctx)
|
|
|
{
|
|
|
- int pad = 0;
|
|
|
+ int ret, pad = 0;
|
|
|
|
|
|
while (**buf == '[') {
|
|
|
char *name = parse_link_name(buf, log_ctx);
|
|
@@ -287,15 +287,15 @@ static int parse_outputs(const char **buf, AVFilterInOut **curr_inputs,
|
|
|
*curr_inputs = (*curr_inputs)->next;
|
|
|
|
|
|
if (!name)
|
|
|
- return -1;
|
|
|
+ return AVERROR(EINVAL);
|
|
|
|
|
|
/* First check if the label is not in the open_inputs list */
|
|
|
match = extract_inout(name, open_inputs);
|
|
|
|
|
|
if (match) {
|
|
|
- if (link_filter(input->filter, input->pad_idx,
|
|
|
- match->filter, match->pad_idx, log_ctx) < 0)
|
|
|
- return -1;
|
|
|
+ if ((ret = link_filter(input->filter, input->pad_idx,
|
|
|
+ match->filter, match->pad_idx, log_ctx)) < 0)
|
|
|
+ return ret;
|
|
|
av_free(match->name);
|
|
|
av_free(name);
|
|
|
av_free(match);
|