aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2010-10-16 10:20:53 +0000
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2010-10-16 10:20:53 +0000
commit2a24df9357f89a9fa9d5aaeb4d2a503fa545de27 (patch)
treeedf609a58f5e117da1fdd04c27a0a79a217de502
parent0b6d358a09ef4dcffb42e54796985685cbb6b21e (diff)
downloadffmpeg-2a24df9357f89a9fa9d5aaeb4d2a503fa545de27.tar.gz
Add avfilter_graph_config().
Originally committed as revision 25502 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--doc/APIchanges3
-rw-r--r--ffmpeg.c7
-rw-r--r--ffplay.c5
-rw-r--r--libavfilter/avfilter.h4
-rw-r--r--libavfilter/avfiltergraph.c13
-rw-r--r--libavfilter/avfiltergraph.h8
-rw-r--r--tools/graph2dot.c4
7 files changed, 30 insertions, 14 deletions
diff --git a/doc/APIchanges b/doc/APIchanges
index d126c13edd..b92e5dc907 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -13,6 +13,9 @@ libavutil: 2009-03-08
API changes, most recent first:
+2010-10-16 - r25502 - lavfi 1.52.0 - avfilter_graph_config()
+ Add the function avfilter_graph_config() in avfiltergraph.h.
+
2010-10-15 - r25493 - lavf 52.83.0 - metadata API
Change demuxers to export metadata in generic format and
muxers to accept generic format. Deprecate the public
diff --git a/ffmpeg.c b/ffmpeg.c
index 9513c7f5fc..500ec158cd 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -452,12 +452,7 @@ static int configure_filters(AVInputStream *ist, AVOutputStream *ost)
return ret;
}
- /* configure all the filter links */
- if ((ret = avfilter_graph_check_validity(graph, NULL)) < 0)
- return ret;
- if ((ret = avfilter_graph_config_formats(graph, NULL)) < 0)
- return ret;
- if ((ret = avfilter_graph_config_links(graph, NULL)) < 0)
+ if ((ret = avfilter_graph_config(graph, NULL)) < 0)
return ret;
codec->width = ist->output_video_filter->inputs[0]->w;
diff --git a/ffplay.c b/ffplay.c
index 93208e2137..da12810d18 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1849,9 +1849,8 @@ static int video_thread(void *arg)
avfilter_graph_add_filter(graph, filt_src);
avfilter_graph_add_filter(graph, filt_out);
- if(avfilter_graph_check_validity(graph, NULL)) goto the_end;
- if(avfilter_graph_config_formats(graph, NULL)) goto the_end;
- if(avfilter_graph_config_links(graph, NULL)) goto the_end;
+ if (avfilter_graph_config(graph, NULL) < 0)
+ goto the_end;
is->out_video_filter = filt_out;
#endif
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index f29ebe7f6c..94928c5cd2 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -25,8 +25,8 @@
#include "libavutil/avutil.h"
#define LIBAVFILTER_VERSION_MAJOR 1
-#define LIBAVFILTER_VERSION_MINOR 51
-#define LIBAVFILTER_VERSION_MICRO 1
+#define LIBAVFILTER_VERSION_MINOR 52
+#define LIBAVFILTER_VERSION_MICRO 0
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \
diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c
index 2123c2806c..baffc5168b 100644
--- a/libavfilter/avfiltergraph.c
+++ b/libavfilter/avfiltergraph.c
@@ -202,3 +202,16 @@ int avfilter_graph_config_formats(AVFilterGraph *graph, AVClass *log_ctx)
return 0;
}
+int avfilter_graph_config(AVFilterGraph *graphctx, AVClass *log_ctx)
+{
+ int ret;
+
+ if ((ret = avfilter_graph_check_validity(graphctx, log_ctx)))
+ return ret;
+ if ((ret = avfilter_graph_config_formats(graphctx, log_ctx)))
+ return ret;
+ if ((ret = avfilter_graph_config_links(graphctx, log_ctx)))
+ return ret;
+
+ return 0;
+}
diff --git a/libavfilter/avfiltergraph.h b/libavfilter/avfiltergraph.h
index 23fc57c311..efb9cc02bc 100644
--- a/libavfilter/avfiltergraph.h
+++ b/libavfilter/avfiltergraph.h
@@ -70,6 +70,14 @@ int avfilter_graph_config_links(AVFilterGraph *graphctx, AVClass *log_ctx);
int avfilter_graph_config_formats(AVFilterGraph *graphctx, AVClass *log_ctx);
/**
+ * Check validity and configure all the links and formats in the graph.
+ *
+ * @see avfilter_graph_check_validity(), avfilter_graph_config_links(),
+ * avfilter_graph_config_formats()
+ */
+int avfilter_graph_config(AVFilterGraph *graphctx, AVClass *log_ctx);
+
+/**
* Free a graph and destroy its links.
*/
void avfilter_graph_destroy(AVFilterGraph *graph);
diff --git a/tools/graph2dot.c b/tools/graph2dot.c
index a1a68be30c..515a00342d 100644
--- a/tools/graph2dot.c
+++ b/tools/graph2dot.c
@@ -152,9 +152,7 @@ int main(int argc, char **argv)
return 1;
}
- if (avfilter_graph_check_validity(graph, NULL) ||
- avfilter_graph_config_formats(graph, NULL) ||
- avfilter_graph_config_links (graph, NULL))
+ if (avfilter_graph_config(graph, NULL) < 0)
return 1;
print_digraph(outfile, graph);