]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/libopusenc: Fix infinite loop on flushing after 0 input
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 27 Aug 2015 10:44:31 +0000 (12:44 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 27 Aug 2015 10:44:31 +0000 (12:44 +0200)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/libopusenc.c

index 48dbebcfc416b353261aad76354c1b8c3213c570..a170b711c6f79b6df0111e7d1d30dcea5e64ea61 100644 (file)
@@ -326,7 +326,7 @@ static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt,
         } else
             audio = frame->data[0];
     } else {
-        if (!opus->afq.remaining_samples)
+        if (!opus->afq.remaining_samples || (!opus->afq.frame_alloc && !opus->afq.frame_count))
             return 0;
         audio = opus->samples;
         memset(audio, 0, opus->opts.packet_size * sample_size);