History

avfiltergraph: change the syntax of avfilter_graph_parse()

Make it returns the list of open inputs and outputs, so it can be reused by applications. Breaks API/ABI.

Stefano Sabatini committed 15 years ago

Commit 6119b231 parent 86909dd6 files · +22 −17Browse files

Showing the changes to libavfilter/graphparser.c (1 of 6 files). Show all

Unified · Split

libavfilter/graphparser.c+10−10
@@ -328,8 +328,8 @@ static int parse_outputs(const char **buf, AVFilterInOut **curr_inputs, · 327 unmodified lines
328328 }
329329
330330 int avfilter_graph_parse(AVFilterGraph *graph, const char *filters,
331− AVFilterInOut *open_inputs,
332− AVFilterInOut *open_outputs, void *log_ctx)
331+ AVFilterInOut **open_inputs, AVFilterInOut **open_outputs,
332+ void *log_ctx)
333333 {
334334 int index = 0, ret;
335335 char chr = 0;
@@ -341,7 +341,7 @@ int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, · 5 unmodified lines
341341 const char *filterchain = filters;
342342 filters += strspn(filters, WHITESPACES);
343343
344− if ((ret = parse_inputs(&filters, &curr_inputs, &open_outputs, log_ctx)) < 0)
344+ if ((ret = parse_inputs(&filters, &curr_inputs, open_outputs, log_ctx)) < 0)
345345 goto fail;
346346
347347 if ((ret = parse_filter(&filter, &filters, graph, index, log_ctx)) < 0)
@@ -350,14 +350,14 @@ int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, · 2 unmodified lines
350350 if (filter->input_count == 1 && !curr_inputs && !index) {
351351 /* First input can be omitted if it is "[in]" */
352352 const char *tmp = "[in]";
353− if ((ret = parse_inputs(&tmp, &curr_inputs, &open_outputs, log_ctx)) < 0)
353+ if ((ret = parse_inputs(&tmp, &curr_inputs, open_outputs, log_ctx)) < 0)
354354 goto fail;
355355 }
356356
357− if ((ret = link_filter_inouts(filter, &curr_inputs, &open_inputs, log_ctx)) < 0)
357+ if ((ret = link_filter_inouts(filter, &curr_inputs, open_inputs, log_ctx)) < 0)
358358 goto fail;
359359
360− if ((ret = parse_outputs(&filters, &curr_inputs, &open_inputs, &open_outputs,
360+ if ((ret = parse_outputs(&filters, &curr_inputs, open_inputs, open_outputs,
361361 log_ctx)) < 0)
362362 goto fail;
363363
@@ -382,10 +382,10 @@ int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, · 18 unmodified lines
382382 goto fail;
383383 }
384384
385− if (open_inputs && !strcmp(open_inputs->name, "out") && curr_inputs) {
385+ if (*open_inputs && !strcmp((*open_inputs)->name, "out") && curr_inputs) {
386386 /* Last output can be omitted if it is "[out]" */
387387 const char *tmp = "[out]";
388− if ((ret = parse_outputs(&tmp, &curr_inputs, &open_inputs, &open_outputs,
388+ if ((ret = parse_outputs(&tmp, &curr_inputs, open_inputs, open_outputs,
389389 log_ctx)) < 0)
390390 goto fail;
391391 }
@@ -396,8 +396,8 @@ int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, · 4 unmodified lines
396396 for (; graph->filter_count > 0; graph->filter_count--)
397397 avfilter_free(graph->filters[graph->filter_count - 1]);
398398 av_freep(&graph->filters);
399− free_inout(open_inputs);
400− free_inout(open_outputs);
399+ free_inout(*open_inputs);
400+ free_inout(*open_outputs);
401401 free_inout(curr_inputs);
402402 return ret;
403403 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t