summaryrefslogtreecommitdiff
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-01-15 17:07:26 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-17 23:47:38 +0100
commit5c459504f697ef59a3f218efa4dc2bfc31d307da (patch)
treeda581e8d06058acd64dc97435f71395dee41cb74 /ffmpeg.c
parent706741e8d79710943aafcd6d6049c0c548b08937 (diff)
ffmpeg/flush_encoders: dont mux packets once ost->finished has been set
Fixes muxing frames after av_interleaved_write_frame() failure Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index f4aa9752b7..6b90878795 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1389,6 +1389,10 @@ static void flush_encoders(void)
stop_encoding = 1;
break;
}
+ if (ost->finished > 1) {
+ av_free_packet(&pkt);
+ continue;
+ }
if (pkt.pts != AV_NOPTS_VALUE)
pkt.pts = av_rescale_q(pkt.pts, enc->time_base, ost->st->time_base);
if (pkt.dts != AV_NOPTS_VALUE)