diff options
author | Marton Balint <cus@passwd.hu> | 2017-10-04 00:43:30 +0200 |
---|---|---|
committer | Marton Balint <cus@passwd.hu> | 2017-11-12 20:58:24 +0100 |
commit | 0ca0ec26a62e7913ee725fa4cabf2deaa4e40bed (patch) | |
tree | 3fd4f3cd35ef7bdf137553865eb7aa5a1c78fbbb | |
parent | a94cb36ab2ad99d3a1331c9f91831ef593d94f74 (diff) | |
download | ffmpeg-0ca0ec26a62e7913ee725fa4cabf2deaa4e40bed.tar.gz |
ffmpeg: always init output stream before reaping filters
Otherwise the frame size of the codec is not set in the buffersink.
Fixes ticket #6603 and the following simpler case:
ffmpeg -c aac -filter_complex "sine=d=0.1,asetnsamples=1025" out.aac
Signed-off-by: Marton Balint <cus@passwd.hu>
(cherry picked from commit f4090940bd3024e69d236257d327f11d1e496229)
-rw-r--r-- | fftools/ffmpeg.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 3ee31473dc..d581b40bf2 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -4536,6 +4536,15 @@ static int transcode_step(void) } if (ost->filter && ost->filter->graph->graph) { + if (!ost->initialized) { + char error[1024] = {0}; + ret = init_output_stream(ost, error, sizeof(error)); + if (ret < 0) { + av_log(NULL, AV_LOG_ERROR, "Error initializing output stream %d:%d -- %s\n", + ost->file_index, ost->index, error); + exit_program(1); + } + } if ((ret = transcode_from_filter(ost->filter->graph, &ist)) < 0) return ret; if (!ist) |