lavd/lavfi: add dumpgraph option.
authorNicolas George <nicolas.george@normalesup.org>
Thu, 19 Jan 2012 18:38:11 +0000 (19:38 +0100)
committerNicolas George <nicolas.george@normalesup.org>
Tue, 24 Jan 2012 10:38:56 +0000 (11:38 +0100)
Changelog
libavdevice/lavfi.c

index 6f69c45..c9f017b 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -28,6 +28,7 @@ version next:
 - rv34: frame-level multi-threading
 - optimized iMDCT transform on x86 using SSE for for mpegaudiodec
 - Improved PGS subtitle decoder
+- dumpgraph option to lavfi device
 
 
 version 0.9:
index de3731a..c4a0654 100644 (file)
@@ -41,6 +41,7 @@
 typedef struct {
     AVClass *class;          ///< class for private options
     char          *graph_str;
+    char          *dump_graph;
     AVFilterGraph *graph;
     AVFilterContext **sinks;
     int *sink_stream_map;
@@ -230,6 +231,13 @@ av_cold static int lavfi_read_header(AVFormatContext *avctx,
     if ((ret = avfilter_graph_config(lavfi->graph, avctx)) < 0)
         FAIL(ret);
 
+    if (lavfi->dump_graph) {
+        char *dump = avfilter_graph_dump(lavfi->graph, lavfi->dump_graph);
+        fputs(dump, stderr);
+        fflush(stderr);
+        av_free(dump);
+    }
+
     /* fill each stream with the information in the corresponding sink */
     for (i = 0; i < avctx->nb_streams; i++) {
         AVFilterLink *link = lavfi->sinks[lavfi->stream_sink_map[i]]->inputs[0];
@@ -329,6 +337,7 @@ static int lavfi_read_packet(AVFormatContext *avctx, AVPacket *pkt)
 
 static const AVOption options[] = {
     { "graph", "Libavfilter graph", OFFSET(graph_str),  AV_OPT_TYPE_STRING, {.str = NULL }, 0,  0, DEC },
+    { "dumpgraph", "Dump graph to stderr", OFFSET(dump_graph), AV_OPT_TYPE_STRING, {.str = NULL}, 0,  0, DEC },
     { NULL },
 };