aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2017-10-04 00:43:30 +0200
committerMarton Balint <cus@passwd.hu>2017-11-12 20:58:24 +0100
commit0ca0ec26a62e7913ee725fa4cabf2deaa4e40bed (patch)
tree3fd4f3cd35ef7bdf137553865eb7aa5a1c78fbbb
parenta94cb36ab2ad99d3a1331c9f91831ef593d94f74 (diff)
downloadffmpeg-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.c9
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)