diff --git a/avconv.c b/avconv.c index 43d67e8d17f47e78fbac872cd4b572920619a8b4..59eb3009b1458d2c4d6740ff5e6a9eee7a1c001a 100644 --- a/avconv.c +++ b/avconv.c @@ -766,6 +766,15 @@ static int poll_filters(void) for (i = 0; i < nb_output_streams; i++) { int64_t pts = output_streams[i]->sync_opts; + if (output_streams[i]->filter && !output_streams[i]->filter->graph->graph && + !output_streams[i]->filter->graph->nb_inputs) { + ret = configure_filtergraph(output_streams[i]->filter->graph); + if (ret < 0) { + av_log(NULL, AV_LOG_ERROR, "Error reinitializing filters!\n"); + return ret; + } + } + if (!output_streams[i]->filter || output_streams[i]->finished || !output_streams[i]->filter->graph->graph) continue;